AWSの Mobile SDK for Xamarin が、AWS SDK for .NETに含まれるようになりました。このガイドでは、Mobile SDK for Xamarin のアーカイブバージョンについて説明します。
Amazon Mobile Analytics を使用してアプリの使用データを追跡する
Amazon Mobile Analytics を使用すると、アプリ使用量やアプリ収益を計測できます。新規ユーザーかリピートユーザーか、アプリの収益、ユーザーの維持、そしてアプリケーション内でのカスタム動作イベントなどのキートレンドを追跡することで、データを基にした決定を下し、アプリのエンゲージメントや収益を増やすことができます。
以下のチュートリアルでは、Mobile Analytics をアプリに統合する方法について説明します。
プロジェクトのセットアップ
前提条件
このチュートリアルを開始する前に、必ず「AWS Mobile SDK for .NET and Xamarin をセットアップする」の手順をすべて完了する必要があります。
Mobile Analytics コンソールでアプリを作成する
Amazon Mobile Analytics コンソールappId
値は、後で必要になるため記録しておきます。Mobile Analytics コンソールでアプリを作成する場合は、ID プール ID を指定する必要があります。ID プールの作成手順については、「AWS Mobile SDK for .NET and Xamarin をセットアップする」を参照してください。
コンソールでの操作方法については、Amazon Mobile Analytics ユーザーガイドを参照してください。
Mobile Analytics のアクセス許可を設定する
セットアップ時に作成したロールに関連付けられているデフォルトポリシーを使用して、アプリケーションから Mobile Analytics にアクセスできるようにします。必要な設定はこれだけです。
Mobile Analytics の NuGet パッケージをプロジェクトに追加する
「AWS Mobile SDK for .NET and Xamarin をセットアップする」のステップ 4 に従って、Mobile Analytics の NuGet パッケージをプロジェクトに追加します。
Mobile Analytics の設定
Mobile Analytics では、awsconfig.xml で設定可能な設定の一部を定義します。
var config = new MobileAnalyticsManagerConfig(); config.AllowUseDataNetwork = true; config.DBWarningThreshold = 0.9f; config.MaxDBSize = 5242880; config.MaxRequestSize = 102400; config.SessionTimeout = 5;
-
AllowUseDataNetwork - データネットワーク上でセッションイベントを送信するかどうかを指定するブール値。
-
DBWarningThreshold - データベースのサイズ制限。この値に達すると、警告ログが生成されます。
-
MaxDBSize - SQLIte データベースのサイズ。データベースの最大サイズに達すると、それ以降のイベントは削除されます。
-
MaxRequestSize - HTTP リクエストで Mobile Analytics サービスに送信する必要がある、バイト単位のリクエストの最大サイズ。
-
SessionTimeout - アプリケーションがバックグラウンドに移行してからセッションが終了するまでの時間間隔。
上記の設定は、各設定項目のデフォルト値です。
MobileAnalyticsManager の初期化
MobileAnalyticsManager を初期化し、MobileAnalyticsManager
で GetOrCreateInstance を呼び出して、AWS 認証情報、リージョン、Mobile Analytics アプリケーション ID、オプションの構成オブジェクトに渡すには、次のようにします。
var manager = MobileAnalyticsManager.GetOrCreateInstance( "APP_ID", "Credentials", "RegionEndPoint", config );
トラックセッションイベント
Xamarin Android
アクティビティの OnPause()
および OnResume()
メソッドを上書きし、セッションイベントを記録します。
protected override void OnResume() { manager.ResumeSession(); base.OnResume(); } protected override void OnPause() { manager.PauseSession(); base.OnPause(); }
これは、アプリケーションのアクティビティごとに実施する必要があります。
Xamarin iOS
AppDelegate.cs で、次のように行います。
public override void DidEnterBackground(UIApplication application) { manager.PauseSession(); } public override void WillEnterForeground(UIApplication application) { manager.ResumeSession(); }
Mobile Analytics の詳細については、「Amazon Mobile Analytics」を参照してください。