このガイドでは、イベント API を使用して、ゲーム分析のためにプレーヤーのゲームプレイ データを収集する方法について説明します。
ゲーム デベロッパーや
Google Play Games サービスが提供するアプリこの API は com.google.android.gms.games.event
と com.google.android.gms.games
にあります。
始める前に
イベントゲームのコンセプトをまだ確認されていない場合は、確認することをおすすめします。
イベント API を使用してコーディングを開始する前に:
- Google Play Console でゲームのイベントを定義します。
- ログイン チェックリストの推奨事項に従います。
イベント クライアントを取得する
イベント API の使用を開始するには、まずゲームで
EventsClient
オブジェクト。そのためには、Games.getEventsClient()
メソッドを呼び出してアクティビティを渡します。
イベントの送信
ゲームにコードを追加すると、Google Play Games サービスに、 特定のイベントが発生したときに 通知を受け取ることができます
予定の最新情報を送信するには、EventsClient.increment()
に値 eventId
と
0 以上の整数 incrementAmount
。
eventId
は、最初に定義したときに Google Play Games サービスによって生成されます。 Google Play Console に保存され、Google Play Console でこのイベントを一意に識別するために使用されます。 説明します。incrementAmount
入力を使用すると、ゲーム固有の目標の達成に向けた、プレーヤーの定量的な進行状況を指定できます。たとえば、ゲームでトラッキングするイベントが「目の飛び出たモンスター 500 体を倒す」である場合、incrementAmount
の値はプレーヤーが 1 回の戦闘で倒したモンスターの数となります。
増分を 1 としてイベントを送信する方法の例を次に示します。
public void submitEvent(String eventId) { PlayGames.getEventsClient(this) .increment(eventId, 1); }
イベントの取得
EventsClient.load()
を呼び出すことで、ゲーム用に Google のサーバーに保存されているすべてのイベントデータを取得できます。
メソッド呼び出しでは、Google Play Games サービスがローカル
ユーザーのデバイス上のキャッシュに保存されたデータ。
Google Play Console で定義した特定のイベントのデータを取得するには、EventsClient.loadByIds()
を呼び出して、入力パラメータにイベント ID の配列を渡します。
次のスニペットは、ゲームの Google Play Games サービスにクエリを実行し、 すべてのイベントのリストを作成します。
public void loadEvents() { PlayGames.getEventsClient(this) .load(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<EventBuffer>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<EventBuffer>> task) { if (task.isSuccessful()) { // Process all the events. for (Event event : task.getResult().get()) { Log.d(TAG, "loaded event " + event.getName()); } } else { // Handle Error Exception exception = task.getException(); int statusCode = CommonStatusCodes.DEVELOPER_ERROR; if (exception instanceof ApiException) { ApiException apiException = (ApiException) exception; statusCode = apiException.getStatusCode(); } showError(statusCode); } } }); }