Android oyunları için oyuncu istatistikleri

Bu kılavuzda, Google Play Games Hizmetleri için oyuncu istatistikleri API'sının nasıl kullanılacağı gösterilmektedir. Bir oyuncunun oyun içi etkinliğiyle ilgili verileri almak için oyuncu istatistikleri API'sini kullanabilirsiniz.

Oyuncu istatistikleri API'si, oyun deneyimlerini belirli oyuncu segmentlerine ve oyuncu yaşam döngüsünün farklı aşamalarına göre özelleştirmenizi sağlar. Oyuncuların ilerleme, harcama ve etkileşimde bulunma şekillerine göre her oyuncu segmenti için özel deneyimler oluşturabilirsiniz. Örneğin, daha az aktif bir oyuncuyu oyununuzla yeniden etkileşimde bulunmaya teşvik etmek amacıyla, oyuncu oturum açtığında yeni oyun içi öğeleri göstermek ve tanıtmak gibi proaktif işlemler için bu API'yi kullanabilirsiniz.

API'ler com.google.android.gms.games.stats ve com.google.android.gms.games paketlerinde bulunabilir.

Alabileceğiniz oynatıcı verisi türleri şunlardır:

  • Ortalama oturum uzunluğu: Oynatıcının dakika cinsinden ortalama oturum uzunluğu. Oturum süresi, bir oyuncunun Google Play Games hizmetlerinde oturum açtığı zamana göre belirlenir.

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

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

  • Oturum sayısı: Oynatıcının yaklaşık oturum sayısı. Oturumlar, bir oyuncunun Google Play Games hizmetlerinde oturum açma sayısına göre belirlenir.

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

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

Aşağıdaki oynatıcı 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ğına dair tahmin. 0 (düşük kaybetme olasılığı) ile 1 (yüksek uygulamayı kullanmayı bırakma olasılığı) dahil olmak üzere bu sayı arasında ondalık bir değer verilir. Uygulamayı kullanmayı bırakma, 7 gün boyunca hiçbir işlem yapılmadığını ifade eder.
  • Harcama olasılığı: Oyuncunun bu oyunda harcama yapmayı seçmeye yönelik yaklaşık olasılığı. 0 (düşük harcama olasılığı) ile 1 (yüksek harcama olasılığı) dahil olmak üzere bu değerler arasında ondalık bir değer olarak verilir.
  • Sonraki 28 gün için toplam harcama: Bu oyunda sonraki 28 gün içinde beklenen yaklaşık toplam oyuncu harcaması.
  • Yüksek harcama olasılığı: Bir oyuncunun, önümüzdeki 28 gün boyunca bu oyunun oyuncu tabanının 95. yüzdelik diliminde veya daha yüksek bir kısmında bir miktar harcama yapma olasılığıdır. Bu, 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.

Başlamadan önce

Oynatıcı istatistikleri API'sını kullanmaya başlamadan önce:

Müşteriyi alma

Oyuncu istatistikleri API'sini kullanmaya başlamak için oyununuzun önce bir PlayerStatsClient nesnesi edinmesi gerekir. Bunu, Games.getPlayerStatsClient() yöntemini çağırarak ve 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ından yararlanır. İş parçacıklı işleri yönetmek amacıyla görevleri kullanma hakkında daha fazla bilgi edinmek için Tasks API geliştirici kılavuzuna bakın.

Verileri alma

Şu anda oturum açmış olan oyuncunun oyuncu istatistik verilerini almak için şu 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 PlayerStats nesnesi yükleyen Task nesnesi döndürür. Oturum açmış oyuncunun uygulamanızdaki etkinlikleri hakkında veri 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());
          }
        }
      });
}

İpuçları

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

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

Oyuncu Segmenti Etkileşim stratejisi
Sık oturum açan ve yüksek harcama yüzdesine sahip olan, ancak son bir hafta veya daha uzun bir süredir oyun oynamamış olan oyuncular.
  • Oyuna döndüğünde indirim veya özel bir bonusla ilgili bildirim gönderin.
  • Etkileyici başarıları takdir ettiğinizi belirten bir karşılama mesajı gösterin ve tekrar oynamaya teşvik etmek için tasarlanmış bir rozet verin.
Düşük harcama yüzdesinde olan ve etkileşim düzeyi yüksek oyuncular.
  • Bonusları uyarlayarak arkadaşlarını oyununuzu yükleyip katılmaları için davet etmeye teşvik edin. Bu yaklaşım, yeni oyuncular kazanmak için oyuncunun oyundan keyif aldığını gösterir.
Yüksek harcama yapan oyuncular zirveye ulaşıldığına ve daha seyrek oynamaya başladığına işaret eder.
  • Yüksek değerli, kısa süreli araçlar, silahlar veya indirimler sunarak bonusları ilgilerini tazeleyecek şekilde özelleştirin.
  • Oyuncunun bir sonraki oturum açışında, onu daha sık ve daha uzun 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 olasılığı düşük: Bir reklam videosunu izleme seçeneği sunun. Daha düşük fiyatlı öğeleri satın alın.
  • Harcama yapma olasılığı yüksek: Müşterileri oyun içi mağazaya erkenden yönlendirin ve satın almaya teşvik etmek için özel promosyonlar sunun.