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

利用 Player Stats API,您可以针对特定的玩家群体和玩家生命周期的不同阶段定制游戏体验。 您可以根据玩家的进度、支出和参与情况,为每个玩家群体打造量身定制的体验。

举例来说,您可以使用此 API 采取积极的行动,例如在玩家登录时显示并推销新的游戏内商品,鼓励不够活跃的玩家重新参与您的游戏。

注:Android 通过 Google Play 服务 SDK 来提供对 Player Stats API 的支持。要详细了解如何在您的应用中使用 Google Play 服务,请参阅 概览

本指南将介绍如何在 Android 应用中使用 Player Stats API。

开始前的准备工作

开始使用 Player Stats API 之前,请:

玩家登录并连接 GoogleApiClient 后,您的游戏即可开始使用 Player Stats API。

基本玩家统计信息

您可以使用 Player Stats API 检索玩家在游戏内的活动数据。 您可以检索的玩家数据类型包括:

  • 平均会话时长:玩家的平均会话时长(单位:分钟)。 会话时长从玩家登录到 Google Play Games Services 之时开始计算。
  • 流失概率:对玩家是否会在第二天流失的预测,以 0(低流失概率)或 1(高流失概率)表示。流失的定义系指玩家连续 7 天无活动。
  • 距离上次玩游戏的天数:距离玩家上一次玩游戏的大概天数。
  • 购买数量:玩家在应用内购买商品的大概数量。
  • 会话次数:玩家的大概会话次数。 会话次数由玩家登录到 Google Play Games Services 的次数确定。
  • 会话百分位:玩家的会话百分位近似值,以 0 到 1(含二者)之间的小数值表示。 此值表示与此游戏玩家群中的其他玩家相比,当前玩家已经参与的会话次数。 数字越大,表示此玩家参与的会话越多。
  • 支出百分位:玩家的支出百分位近似值,以 0 到 1(含二者)之间的小数值表示。 此值表示与此游戏玩家群中的其他玩家相比,当前玩家已经支出的金额。 数字越大,表示此玩家的支出越多。
  • 支出概率:玩家选择在此游戏中支出的大概概率,以 0(低支出概率)或 1(高支出概率)表示。
  • 未来 28 天的总支出:预计未来 28 天玩家在此游戏中的大概总支出。
  • 高支出玩家概率:未来 28 天玩家的支出金额进入此游戏玩家群的 95% 或更高百分位区间的大概概率。值以 0(成为高支出玩家的概率低)或 1(成为高支出玩家的概率高)表示。

检索玩家统计数据

要检索当前已登录玩家的玩家统计数据,请执行以下步骤:

  1. 创建 GoogleApiClient 对象并将其配置为使用 Games APISCOPE
  2. 调用 Games.Stats.loadPlayerStats() 方法。 如果调用成功,则会返回 Stats.LoadPlayerstatsResult 对象。
  3. 调用 LoadPlayerstatsResult 对象的 getPlayerStats() 方法。如果调用成功,则会返回 PlayerStats 对象,让您可以访问已登录玩家的活动数据。

以下代码段演示如何检索距离玩家上一次玩游戏的天数以及会话次数:

public void checkPlayerStats() {
    PendingResult<Stats.LoadPlayerStatsResult> result =
            Games.Stats.loadPlayerStats(
            mGoogleApiClient, false /* forceReload */);
    result.setResultCallback(new
            ResultCallback<Stats.LoadPlayerStatsResult>() {
        public void onResult(Stats.LoadPlayerStatsResult result) {
            Status status = result.getStatus();
            if (status.isSuccess()) {
                PlayerStats stats = result.getPlayerStats();
                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 {
                Log.d(TAG, "Failed to fetch Stats Data status: "
                        + status.getStatusMessage());
            }
        }
    });
}

有关使用玩家统计数据的温馨提示

利用 Play Stats API,您可以根据玩家的参与情况和支出行为,轻松识别不同类型的玩家,然后采取相应的策略改善玩家的游戏体验。

下表列出了一些玩家群体样例以及建议的参与策略:

玩家群体 参与策略
会话次数多、支出百分位高、但最近一周或更长时间没有玩游戏的常玩玩家。
  • 发送通知,告诉他们重返游戏时即可享受折扣或特别奖励。
  • 显示对其突出的成就表示认可的欢迎回来消息,并奖励一枚为鼓励玩家重返游戏而设计的徽章。
支出百分位较低的高参与度玩家。
  • 量身定制奖励,以激励他们邀请好友安装并加入您的游戏。 此方法是利用玩家对游戏所表现出的兴趣来吸引新的玩家。
显示出游戏频率已达峰值并开始减少的迹象的高支出玩家。
  • 量身定制奖励以重新唤起他们的兴趣,例如提供价值高、有效期短的工具、武器或折扣。
  • 在玩家下次登录时,显示一个视频,引导他们体验社区功能(例如部族攻击),从而促进玩家更频繁、更持久地参与游戏。
支出概率很高或很低的玩家。
  • 不太可能支出:提供观看广告视频的选项。显示可供购买的低价物品。
  • 可能支出:引导他们及早进入游戏内商店,并提供特别促销商品,以激励他们购买。

发送以下问题的反馈:

此网页
Play Games Services for Android
Play Games Services for Android