Android oyunları için oyuncu istatistikleri

Bu kılavuzda, Google Play Games Hizmetleri için oyuncu istatistikleri API'sinin nasıl kullanılacağı açıklanmaktadır. Oyuncunun oyun içi etkinliğiyle ilgili verileri almak için oyuncu istatistikleri API'sini kullanabilirsiniz.

Oyuncu istatistikleri API'si, oyun deneyimlerini oyuncu yaşam döngüsünün farklı aşamalarındaki belirli oyuncu segmentlerine göre uyarlamanıza olanak tanır. Oyuncuların ilerleme durumuna, harcamalarına ve etkileşimlerine göre her oyuncu segmenti için özel deneyimler oluşturabilirsiniz. Örneğin, bu API'yi kullanarak daha az aktif olan oyuncuları oyununuzla yeniden etkileşime geçmeye teşvik etmek için proaktif işlemler yapabilirsiniz. Örneğin, oyuncu kimliğini doğruladığında yeni oyun içi öğeleri gösterip tanıtabilirsiniz.

API'leri com.google.android.gms.games.stats ve com.google.android.gms.games paketlerinde bulabilirsiniz.

Başlamadan önce

Oyuncu istatistikleri API'sini kullanmaya başlamadan önce:

Oyuncu istatistikleri istemcisini edinme

Oyuncu istatistikleri API'sini kullanmaya başlamak için öncelikle oyununuzun bir PlayerStatsClient nesnesi alması gerekir. Bunu, PlayerStatsClient.getPlayersClient() yöntemini çağırıp etkinliği ileterek yapabilirsiniz.

The PlayerStatsClient class, sonuçları eşzamansız olarak döndürmek için Google Play Hizmetleri Task sınıfını kullanır. İş parçacıklı işleri yönetmek için görevleri kullanma hakkında daha fazla bilgi edinmek için Tasks API geliştirici kılavuzuna bakın.

Oyuncu istatistikleriyle ilgili temel bilgiler

Oyuncu istatistikleri API'sini kullanarak bir oyuncunun oyun içi etkinliğiyle ilgili verileri alabilirsiniz. Alabileceğiniz oyuncu verisi türleri şunlardır:

  • Ortalama oturum süresi: Oyuncunun ortalama oturum süresi (dakika cinsinden). Oturum süresi, oyuncunun Google Play Oyun Hizmetleri tarafından kimliğinin doğrulandığı süreye göre belirlenir.

  • Son oynama tarihinden bu yana geçen gün sayısı: Oyuncunun son oynama tarihinden bu yana geçen yaklaşık gün sayısı.

  • Satın alma sayısı: Oyuncunun yaklaşık uygulama içi satın alma sayısı.

  • Oturum sayısı: Oyuncunun yaklaşık oturum sayısı. Oturumlar, Google Play Games Hizmetleri tarafından kimliği doğrulanan oyuncu sayısı ile belirlenir.

  • Oturum yüzdelik dilimi: Oyuncunun oturum yüzdelik diliminin yaklaşık değeri. 0 ile 1 arasında (bu değerler dahil) ondalık değer olarak verilir. Bu değer, mevcut oyuncunun bu oyunun geri kalan oyuncu tabanına kıyasla kaç oturum oynadığını gösterir. Daha yüksek sayılar, bu oynatıcının daha fazla oturum oynadığını gösterir.

  • Harcama yüzdelik dilimi: Oyuncunun yaklaşık harcama yüzdelik dilimi. 0 ile 1 arasında ondalık değer olarak verilir. Bu değer, mevcut oyuncunun bu oyunun geri kalan oyuncu tabanına kıyasla ne kadar harcama yaptığını gösterir. Daha yüksek sayılar, bu oyuncunun daha fazla harcama yaptığını gösterir.

Aşağıdaki oyuncu verisi türleri kullanımdan kaldırılmıştır ve her zaman ayarlanmamış bir değer sabiti döndürür:

  • Müşteri kaybı olasılığı: Bir oyuncunun ertesi gün müşteri kaybı yaşama olasılığının tahmini. 0 (düşük müşteri kaybı olasılığı) ile 1 (yüksek müşteri kaybı olasılığı) arasında ondalık değer olarak verilir. Müşteri kaybı, 7 gün boyunca işlem yapılmaması olarak tanımlanır.
  • Harcama olasılığı: Oyuncunun bu oyunda harcama yapmayı seçme olasılığıdır. 0 (düşük harcama olasılığı) ile 1 (yüksek harcama olasılığı) arasında ondalık değer olarak verilir.
  • Sonraki 28 gün içinde toplam harcama: Bu oyunda sonraki 28 gün içinde oyuncuların yapması beklenen tahmini toplam harcama.
  • Yüksek harcama olasılığı: Önümüzdeki 28 gün içinde bir oyuncunun, bu oyunun oyuncu tabanının %95'lik yüzdelik diliminde veya daha yüksek bir miktarda harcama yapma olasılığıdır. Bu değer, 0 (yüksek harcama yapan bir müşteri olma olasılığı düşük) ile 1 (yüksek harcama yapan bir müşteri olma olasılığı yüksek) arasında ondalık değer olarak verilir.

Oyuncu istatistikleri verilerini alma

Kimliği doğrulanmış oyuncunun oyuncu istatistikleri verilerini almak için aşağıdaki adımları uygulayın:

  1. PlayerStatsClient.loadPlayerStats() yöntemini çağırın.

  2. Çağrı başarılı olursa Google Play Games Hizmetleri, eşzamansız olarak bir Task nesnesi yükleyen bir PlayerStats nesnesi döndürür. Kimliği doğrulanmış oyuncunun uygulamanızdaki etkinlikleriyle ilgili verileri almak için bu nesnenin yöntemlerini kullanın.

Aşağıda bununla ilgili bir örnek verilmiştir:

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());
          }
        }
      });
}

Oyuncu istatistikleri verilerini kullanmayla ilgili ipuçları

Play Stats API, etkileşim ve harcama davranışlarına göre çeşitli oyuncu türlerini belirlemenize ve oyun deneyimlerini iyileştirmek için uygun stratejiler uygulamanıza olanak tanır.

Aşağıdaki tabloda, bazı örnek oyuncu segmentleri ve önerilen etkileşim stratejileri listelenmiştir:

Oynatıcı Segmenti Etkileşim Stratejisi
Yüksek sayıda oturum ve iyi harcama yüzdelik dilimi olan ancak son bir haftadır veya daha uzun süredir oynamayan sık oyuncular.
  • Oyuna geri döndüklerinde kullanabilecekleri indirim veya özel bonus hakkında bildirim gönderin.
  • Etkileyici başarıları kabul eden bir geri dönüş mesajı gösterin ve geri dönüp oynamayı teşvik etmek için tasarlanmış bir rozet verin.
Harcama yüzdelik dilimi düşük olan ve oyunla yüksek düzeyde etkileşim kuran oyuncular.
  • Arkadaşlarını oyununuzu yüklemeye ve katılmaya davet etmeleri için onları teşvik edecek bonuslar sunun. Bu yaklaşım, yeni oyuncular kazanmak için oyuncunun oyundan aldığı keyfi temel alır.
Çok harcama yapan oyuncuların zirveye ulaştıklarına dair işaretler göstermesi ve daha az sıklıkta oynamaya başlaması.
  • Yüksek değerli, kısa süreli araçlar, silahlar veya indirimler sunarak bonusları ilgi çekici hale getirin.
  • Oyuncu bir sonraki kimlik doğrulama işleminde, daha sık ve uzun süreli etkileşim sağlayan klan saldırıları gibi topluluk özelliklerine yönlendiren bir video gösterin.
Harcama olasılığı çok yüksek veya çok düşük olan oyuncular.
  • Harcama yapma olasılığı düşük: Reklam videosu izleme seçeneği sunun. Satın alınabilecek daha düşük fiyatlı öğeleri gösterin.
  • Harcama yapma olasılığı yüksek: Bu kullanıcıları oyun içi mağazaya yönlendirin ve satın alma işlemlerini teşvik etmek için özel promosyonlar sunun.