为您的游戏添加玩家统计信息

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

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

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