Android 遊戲的玩家統計資料

本指南將說明如何使用 Google Play 遊戲服務的玩家統計資料 API。你可以 使用玩家統計資料 API 擷取玩家遊戲活動的相關資料。

Player Stats API 可讓您根據 以及玩家生命週期的不同階段。您可以根據玩家的進度、消費和互動情形,為各玩家族群打造專屬體驗。舉例來說,您可以利用此 API 積極採取行動,鼓勵較不活躍的玩家再次與遊戲互動,例如在玩家登入時顯示和宣傳新的遊戲內商品。

您可以在 com.google.android.gms.games.statscom.google.android.gms.games 套件中取得此 API。

以下為可擷取的玩家資料類型:

  • 平均工作階段長度:玩家平均工作階段長度 分鐘。工作階段長度取決於玩家登入的時間 Google Play 遊戲服務。

  • 上次遊玩後經過的天數:玩家上次遊玩後經過的大致天數 上次播放。

  • 購買次數: 廣告。

  • 工作階段數量:玩家工作階段的大致數量。 工作階段以玩家登入的次數為準 Google Play 遊戲服務。

  • 工作階段百分位數:玩家工作階段的大致百分位數,為 0 到 1 (含) 之間的小數數值。這個值代表比起遊戲的其他玩家,目前玩家玩過的工作階段數量。數字越高表示玩家玩過的工作階段越多。

  • 消費百分位數:玩家消費金額的大致百分位數,為 0 到 1 (含) 之間的小數數值。這個值代表 與遊戲中其他玩家相比,現有玩家的消費金額 基礎數字越高表示玩家消費金額越高。

以下玩家資料類型已經淘汰,一律會回傳未設定 常數值:

  • 流失機率:預測玩家是否流失 為隔天的 0 進位值 ( 流失) 至 1 (表示非常可能流失) 的總數。流失的定義為 7 閒置天數。
  • 消費機率:玩家的大致機率 選擇在這款遊戲中消費,為 0 到 0 之間的小數數值 1 (包含高機率) 至 1 (包含高機率)
  • 未來 28 天的消費總額:未來 28 天內,這名玩家預估會在遊戲內消費的總金額。
  • 高消費使用者機率:超過 未來 28 天內,玩家的支出金額將是 95 日 遊戲玩家人數的百分位數或更高百分比。以小數形式表示 介於 0 (表示不太可能成為高消費使用者) 到 1 (高) 之間 就會成為高消費使用者的機率

事前準備

開始使用 Player Stats API 之前:

取得用戶端

若要使用 Player Stats API,遊戲必須先取得 PlayerStatsClient 物件。要取得此物件,您可以呼叫 Games.getPlayerStatsClient() 方法,然後在活動內傳遞。

PlayerStatsClient 類別會使用 Google Play 服務 Task 類別,以非同步方式傳回結果。如要進一步瞭解 運用任務管理執行緒工作,請參閱 Tasks API 開發人員指南

擷取資料

如果想擷取目前登入玩家的玩家統計資料,請按照以下步驟操作:

  1. 呼叫 PlayerStatsClient.loadPlayerStats() 方法。

  2. 呼叫成功後,Google Play 遊戲服務會傳回 Task 物件,此物件會以非同步方式載入 PlayerStats 物件。請使用這個物件的方法,擷取已登入玩家在應用程式中的活動資料。

範例如下:

public void checkPlayerStats() {
  PlayGames.getPlayerStatsClient(this)
      .loadPlayerStats(true)
      .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() {
        @Override
        public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) {
          if (task.isSuccessful()) {
            // Check for cached data.
            if (task.getResult().isStale()) {
              Log.d(TAG, "using cached data");
            }
            PlayerStats stats = task.getResult().get();
            if (stats != null) {
              Log.d(TAG, "Player stats loaded");
              if (stats.getDaysSinceLastPlayed() > 7) {
                Log.d(TAG, "It's been longer than a week");
              }
              if (stats.getNumberOfSessions() > 1000) {
                Log.d(TAG, "Veteran player");
              }
              if (stats.getChurnProbability() == 1) {
                Log.d(TAG, "Player is at high risk of churn");
              }
            }
          } else {
            int status = CommonStatusCodes.DEVELOPER_ERROR;
            if (task.getException() instanceof ApiException) {
              status = ((ApiException) task.getException()).getStatusCode();
            }
            Log.d(TAG, "Failed to fetch Stats Data status: "
                + status + ": " + task.getException());
          }
        }
      });
}

提示

Play Stats API 可讓您輕鬆識別不同類型的玩家, 參與度和消費行為,並套用適當策略 提升遊戲體驗

下表提供了一些玩家族群範例和推薦 參與度策略:

玩家族群 參與策略
經常造訪,且工作階段數量和消費良好的玩家 但最有一週以上都沒有玩遊戲。
  • 傳送折扣或特別獎金的通知 就能接續遊戲的進度
  • 顯示印象深刻的歡迎返回訊息 ,並頒發徽章 傳回播放。
參與度高但消費百分位數低的玩家。
  • 特別規劃獎勵,吸引這類玩家邀請朋友 安裝及加入遊戲。這個方法以玩家 展現對遊戲吸引新玩家的樂趣。
高消費金額玩家,並出現已經過了高峰期和起步的跡象 降低播放頻率
  • 設計專屬獎勵來再次引起玩家的興趣,例如提供高價值但效期短的工具、武器或折扣。
  • 在玩家下次登入時顯示影片,引導對方使用社群功能 (如戰隊攻擊),吸引玩家更頻繁參與遊戲,並增加遊戲時間。
消費機率非常高或非常低的玩家。
  • 不太可能消費:提供觀看廣告影片的選項。顯示低價位的商品。
  • 可能會消費:提早引導對方前往遊戲商店,並提供特別促銷活動,吸引玩家購買商品。