Amazon Mobile Analytics - AWS Mobile SDK for Unity

AWS Mobile SDK for Unity が、AWS SDK for .NET に含まれるようになりました。このガイドでは Mobile SDK for Unity のアーカイブバージョンを参照します。詳細については、AWS Mobile SDK for Unity とは を参照してください。

Amazon Mobile Analytics

Amazon Mobile Analytics を使用すると、顧客の行動を追跡し、メトリクスを集約して、データを視覚化できるほか、有意義なパターンを特定することができます。Mobile Analytics の詳細については、「AWS Mobile Analytics」を参照してください。

Amazon Mobile Analytics の統合

以下のセクションでは、Mobile Analytics をアプリに統合する方法について説明します。

Mobile Analytics コンソールでアプリを作成する

Amazon Mobile Analytics コンソールに移動して、アプリを作成します。appId 値は、後で必要になるため記録しておきます。

注記

コンソールでの操作方法については、Amazon Mobile Analytics ユーザーガイドを参照してください。

Mobile Analytics コンソールでアプリを作成する場合は、Cognito ID プールの ID を指定する必要があります。新しい Cognito ID プールと ID を作成する方法については、Cognito ID 開発者ガイドを参照してください。

Mobile Analytics をアプリケーションに統合する

Unity から Mobile Analytics にアクセスするには、次のステートメントを使用します。

using Amazon.MobileAnalytics.MobileAnalyticsManager; using Amazon.CognitoIdentity;

Amazon Cognito を使用するベストプラクティスは、一時的な AWS 認証情報をアプリケーションに提供することです。アプリは、これらの認証情報を使用して AWS リソースにアクセスします。認証情報プロバイダーを作成するには、「Amazon Cognito ID」の手順に従います。

次の情報を使用して、MobileAnalyticsManager をインスタンス化します。

  • cognitoIdentityPoolId - アプリの Cognito ID プールの ID

  • cognitoRegion - Cognito ID プールのリージョン (例: 「RegionEndpoint.USEast1」)

  • region - Mobile Analytics サービスのリージョン (例: 「RegionEndpoint.USEast1」)

  • appId - アプリを追加時に Mobile Analytics コンソールによって生成される値

MobileAnalyticsClientContextConfig を使用して、以下のコードスニペットで示されている MobileAnalyticsManager インスタンスを初期化します。

// Initialize the MobileAnalyticsManager void Start() { // ... analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( new CognitoAWSCredentials(<cognitoIdentityPoolId>, <cognitoRegion>), <region>, <appId>); // ... }
注記

アプリ ID は、アプリの作成ウィザードで生成されます。これらの値はいずれも、Mobile Analytics コンソールの値と一致する必要があります。

appId は、Mobile Analytics コンソールのデータをグループ化するために使用されます。Mobile Analytics コンソールでアプリ作成後にアプリ ID を検索するには、Mobile Analytics コンソールに移動して、画面右上隅の歯車アイコンをクリックします。これにより、登録済みのアプリとアプリ ID がすべて表示されたアプリの管理ページが表示されます。

収益化イベントの記録

SDK for Unity には、MonetizationEvent クラスが用意されています。このクラスを使用して、モバイルアプリケーション内の購入を追跡する収益化イベントを生成できます。収益化イベントの作成方法を示すコードスニペットは、以下のとおりです。

// Create the monetization event object MonetizationEvent monetizationEvent = new MonetizationEvent(); // Set the details of the monetization event monetizationEvent.Quantity = 3.0; monetizationEvent.ItemPrice = 1.99; monetizationEvent.ProductId = "ProductId123"; monetizationEvent.ItemPriceFormatted = "$1.99"; monetizationEvent.Store = "Your-App-Store"; monetizationEvent.TransactionId = "TransactionId123"; monetizationEvent.Currency = "USD"; // Record the monetiziation event analyticsManager.RecordEvent(monetizationEvent);

カスタムイベントの記録

Mobile Analytics では、カスタムイベントを定義できます。カスタムイベントは全体的に定義されています。そのため、アプリやゲーム固有のユーザーアクションを追跡しやすくなります。カスタムイベントの詳細については、「カスタムイベント」を参照してください。この例では、ゲームアプリとして、ユーザーがレベルを達成するとイベントを記録します。新しい AmazonMobileAnalyticsEvent インスタンスを作成して、「LevelComplete」イベントを作成します。

CustomEvent customEvent = new CustomEvent("LevelComplete"); // Add attributes customEvent.AddAttribute("LevelName","Level1"); customEvent.AddAttribute("CharacterClass","Warrior"); customEvent.AddAttribute("Successful","True"); // Add metrics customEvent.AddMetric("Score",12345); customEvent.AddMetric("TimeInLevel",64); // Record the event analyticsManager.RecordEvent(customEvent);

セッションの記録

アプリケーションがフォーカスを失った場合は、セッションを一時停止することができます。OnApplicationFocus で、アプリが一時停止中かどうかを確認します。次のコードスニペットに示すように、一時停止中の場合は PauseSession、それ以外の場合は ResumeSession を呼び出します。

void OnApplicationFocus(bool focus) { if(focus) { analyticsManager.ResumeSession(); } else { analyticsManager.PauseSession(); } }

デフォルトでは、5 秒以内にアプリから焦点を切り替えて戻した場合、セッションは再開されます。ユーザーが焦点から離れて 5 秒以上経過した場合は、新しいセッションが作成されます。この設定は、awsconfig.xml ファイルで設定できます。詳細については、「AWS Mobile SDK for Unity の開始方法」の「Mobile Analytics の設定」セクションを参照してください。