为游戏添加玩家统计数据

利用 Player Stats API,您可以针对特定玩家细分和玩家生命周期的不同阶段定制游戏体验。您可以根据玩家的游戏进度、消费情况和互动度,为每个玩家细分群体量身打造体验。例如,您可以使用此 API 采取积极的措施来鼓励活跃度较低的玩家重新积极地玩游戏,例如您可以在玩家登录时显示并推销新的游戏内商品。

本指南介绍了如何在原生 C++ 或 Objective-C 应用中使用 Player Stats API。

玩家统计数据基础知识

您可以使用 Player Stats 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 Stats API,您可以根据玩家在游戏内的互动情况和消费行为,轻松识别不同类型的玩家,然后采取相应的策略提升玩家的游戏体验。

下表列出了一些玩家细分示例以及建议的互动度提升策略:

玩家细分 互动度提升策略
玩家以往通常会话次数较多、消费百分位较高,但最近已经有一周或更长时间没有玩游戏了。
  • 发通知告诉他们回来玩游戏可享受折扣或获得特别奖励。
  • 通过显示欢迎回来的消息,对玩家的出色成绩表示认可,并奖励一枚专为鼓励玩家回来玩游戏而设计的徽章。
玩家的互动度较高、消费百分位较低。
  • 量身设计奖励来激励他们邀请好友安装并使用您的游戏。此方法是利用玩家对游戏所表现出的兴趣来吸引新的玩家。
高消费玩家玩游戏的积极性已达顶峰,且有迹象表明他们开始降低玩游戏的频率。
  • 量身设计奖励来重新唤起他们的兴趣,例如提供价值高、有效期短的工具、武器或折扣。
  • 在玩家下次登录时,显示一个视频,引导玩家体验社区功能(例如部族攻击),从而促进玩家更频繁、更持久地玩游戏。