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:
- Kod örneğini indirip inceleyin.
- Kalite Kontrol Listesi'nde açıklanan öneriler hakkında bilgi edinin.
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:
PlayerStatsClient.loadPlayerStats()yöntemini çağırın.Çağrı başarılı olursa Google Play Games Hizmetleri,
Tasknesnesini döndürür. Bu nesne,PlayerStatsnesnesini 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. |
|
| Harcama yüzdelik dilimi düşük olan, ancak oyunla yüksek düzeyde etkileşim kuran oyuncular. |
|
| 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. |
|
| Harcama olasılığı çok yüksek veya çok düşük olan oyuncular. |
|