在游戏中添加玩家统计数据

玩家统计数据 API 允许您根据玩家的特定细分群体和玩家生命周期的不同阶段定制游戏体验。您可以根据玩家的进度、支出和参与度为每个玩家细分群体构建定制的体验。例如,您可以使用此 API 采取主动措施鼓励不太活跃的玩家重新参与您的游戏,例如在玩家登录时显示和推广新的游戏内物品。

本指南将向您展示如何在原生 C++ 或 Objective-C 应用程序中使用玩家统计数据 API。

玩家统计数据基础知识

您可以使用玩家统计数据 API 来检索有关玩家游戏内活动的数据。您可以检索的玩家数据类型包括

  • 平均会话时长:玩家的平均会话时长(以分钟为单位)。会话时长由玩家登录 Google Play 游戏服务的时长决定。
  • 流失概率:根据预测,玩家在接下来的几天内流失的概率,以 0(流失概率低)或 1(流失概率高)表示。流失定义为 7 天的停用状态。
  • 自上次游戏以来经过的天数:玩家自上次游戏以来大约经过的天数。
  • 购买次数:玩家的应用内购买次数(大约)。
  • 会话次数:玩家的会话次数(大约)。会话次数由玩家登录 Google Play 游戏服务的次数决定。
  • 会话百分位数:玩家的会话百分位数(大约),以 0 到 1(含)之间的十进制值表示。此值表示当前玩家与该游戏的其余玩家相比玩过的会话数。数字越高表示该玩家玩过的会话越多。
  • 支出百分位数:玩家的支出百分位数(大约),以 0 到 1(含)之间的十进制值表示。此值表示当前玩家与该游戏的其余玩家相比的支出金额。数字越高表示该玩家支出越多。

使用 C++ 获取当前登录玩家的玩家统计数据

// Create the callback for our asynchronous fetch call.  This callback will
// log either an error or the average session length for the currently
// signed-in player.
gpg::StatsManager::FetchForPlayerCallback callback = [](gpg::StatsManager::FetchForPlayerResponse const &response) {
  if (IsError(response.status)) {
    LogE("An error occurred fetching player stats.");
  } else {
  gpg::PlayerStats const & player_stats = response.data;
    if (player_stats.HasAverageSessionLength()) {
      LogI("Average session length: %f", player_stats.AverageSessionLength());
    } else {
      LogW("Currently signed-in player had no associated average session length stats.");
    }
  }
};
// Asynchronously fetch the Player Stats.  When the fetch is finished it
// will call our callback. game_services_ is the std::unique_ptr<GameServices>
// returned by gpg::GameServices::Builder.Create()
game_services_->Stats().FetchForPlayer(callback);

使用 Objective-C 获取当前登录玩家的玩家统计数据

// Asynchronously fetches the Player Stats and then logs either a
// description of them or an error
[GPGPlayerStats playerStatsWithCompletionHandler:^(GPGPlayerStats *playerStats, NSError *error) {
  if (error) {
    NSLog(@"Error fetching player stats: %@", error);
  } else {
    NSLog(@"Description of stats for the currently signed-in player: %@", playerStats);
  }
}];

使用玩家统计数据数据的提示

Play 统计数据 API 允许您根据玩家的参与度和支出行为轻松识别各种类型的玩家,并应用适当的策略来增强他们的游戏体验。

下表列出了一些示例玩家细分群体和推荐的参与策略

玩家细分群体 参与策略
高频玩家,会话次数多,支出百分位数高,但过去一周或更长时间未玩游戏。
  • 发送有关在其返回游戏时可用的折扣或特殊奖励的通知。
  • 显示欢迎回归消息,认可令人印象深刻的成就,并颁发旨在鼓励回归游戏的徽章。
参与度高但支出百分位数低的玩家。
  • 定制奖励以激励他们邀请朋友安装并加入您的游戏。此方法利用玩家对游戏的既定乐趣来招募新玩家。
高支出玩家表现出达到顶峰并开始减少游戏频率的迹象。
  • 定制奖励以激发他们的兴趣,例如提供高价值、短期工具、武器或折扣。
  • 玩家下次登录时,显示一个视频,引导他们进入社区功能(如部落攻击),从而促使更频繁和更长时间的参与。