Android oyunları için oyuncu istatistikleri

Bu kılavuzda, Google Play Oyun 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 oyuncuların belirli segmentlerine ve oyuncu yaşam döngüsünün farklı aşamalarına göre uyarlamanıza olanak tanır. Oyuncuların ilerleme, harcama ve etkileşim şekillerine 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. Oyuncu kimliğini doğruladığında yeni oyun içi öğeleri görüntüleyip 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.

PlayerStatsClient sınıfı, 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 istiyorsanız Tasks API geliştirici kılavuzuna bakın.

Oyuncu istatistikleriyle ilgili temel bilgiler

Oyuncunun oyun içi etkinliğiyle ilgili verileri almak için oyuncu istatistikleri API'sini kullanabilirsiniz. Alabileceğiniz oyuncu verisi türleri şunlardır:

  • Ortalama oturum süresi: Oyuncunun oturumunun ortalama süresi (dakika). Oturum süresi, oyuncunun Google Play Games 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 ondalık değer olarak verilir. Bu değer, mevcut oyuncunun bu oyunun diğer oyuncu tabanına kıyasla kaç oturum oynadığını gösterir. Daha yüksek sayılar, bu oyuncunun 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 (1 dahil). 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:

  • Uygulamayı kullanmayı bırakma olasılığı: Bir oyuncunun sonraki gün uygulamayı kullanmayı bırakıp bırakmayacağıyla ilgili tahmindir. 0 (uygulamayı kullanmayı bırakma olasılığı düşük) ile 1 (uygulamayı kullanmayı bırakma olasılığı yüksek) arasında ondalık değer olarak verilir. Uygulamayı kullanmayı bırakma, 7 gün boyunca etkin olmama 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.
  • Önümüzdeki 28 gün içinde toplam harcama: Bu oyunda önümüzdeki 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 tutarda harcama yapma olasılığıdır. Bu değer, 0 (yüksek harcama yapma olasılığı düşük) ile 1 (yüksek harcama yapma olasılığı yüksek) arasında ondalık bir 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, Task nesnesini döndürür. Bu nesne, PlayerStats nesnesini eşzamansız olarak yükler. Kimliği doğrulanmış oyuncunun uygulamanızdaki etkinlikleriyle ilgili verileri almak için bu nesnenin yöntemlerini kullanın.

Örneğin:

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
Oturum sayısı yüksek ve harcama yüzdelik dilimi iyi olan ancak son bir haftadır veya daha uzun süredir oynamayan sık oyuncular.
  • Oyuna geri döndüklerinde kullanabilecekleri bir 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, ancak oyunla yüksek düzeyde etkileşim kuran oyuncular.
  • Arkadaşlarını oyununuzu yüklemeye ve katılmaya davet etmelerini teşvik etmek için bonusları özelleştirin. Bu yaklaşım, yeni oyuncular kazanmak için oyuncunun oyundan aldığı keyfi temel alır.
Harcamaları yüksek olan oyuncular, zirveye ulaştıklarına dair işaretler gösteriyor ve daha az sıklıkta oynamaya başlıyor.
  • 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 olan kullanıcılar: 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.