Oyuncu istatistikleri API'si, oyun deneyimlerini belirli oyuncu segmentlerine ve oyuncu yaşam döngüsünün farklı aşamalarına uyarlamanızı sağlar. Oyuncuların ilerleme durumu, harcamaları ve etkileşimine göre her oyuncu segmenti için özelleştirilmiş deneyimler oluşturabilirsiniz. Örneğin, daha az aktif bir oyuncuyu oyununuzla yeniden etkileşimde bulunmaya teşvik etmek için proaktif işlemler yapmak için bu API'yi kullanabilirsiniz. Örneğin, oyuncu oturum açtığında yeni oyun içi öğeleri görüntüleyip tanıtabilir.
Bu kılavuzda, Google Play oyun hizmetleri kullanılan oyunlarda oyuncu istatistikleri API'sının nasıl kullanılacağı gösterilmektedir. API'ler com.google.android.gms.games.stats
ve com.google.android.gms.games
paketlerinde bulunabilir.
Başlamadan önce
Oynatıcı istatistikleri API'sini kullanmaya başlamadan önce:
- Kod örneğini indirin ve inceleyin.
- Kalite Kontrol Listesi'nde açıklanan öneriler hakkında bilgi edinin.
Oyuncu istatistikleri istemcisini alma
Oynatıcı istatistikleri API'sini kullanmaya başlamak için oyununuzun öncelikle bir PlayerStatsClient
nesnesi edinmesi gerekir. Bunu yapmak için Games.getPlayerStatsClient()
yöntemini çağırıp etkinliği iletebilirsiniz.
Oyuncu İstatistikleri ile ilgili temel bilgiler
Oyuncuların oyun içi etkinlikleriyle ilgili verileri almak için oyuncu istatistikleri API'sını kullanabilirsiniz. Alabileceğiniz oynatıcı verisi türleri şunlardır:
Ortalama oturum uzunluğu: Oyuncunun dakika cinsinden ortalama oturum süresi. Oturum uzunluğu, bir oyuncunun Google Play Games hizmetlerinde oturum açtığı zamana göre belirlenir.
Son oynamadan bu yana geçen gün sayısı: Oyuncunun oynadığı son oyundan beri 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ı: Oynatıcının yaklaşık oturum sayısıdır. Oturum sayısı, bir oyuncunun Google Play Games hizmetlerinde kaç kez oturum açtığına göre belirlenir.
Oturum yüzdelik dilimi: Oyuncu için oturum yüzdelik değerinin yaklaşık değeridir ve 0 ile 1 arasında (bu değerler dahil) bir 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 oyuncunun daha fazla oturum oynadığını gösterir.
Harcama yüzdesi: Oyuncunun yaklaşık harcama yüzdelik dilimi (0 ve 1 dahil olmak üzere ondalık sayı 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ılır ve her zaman ayarlanmamış bir değer sabiti döndürür:
- Uygulamayı kullanmayı bırakma olasılığı: Oyuncunun ertesi gün uygulamayı kullanmayı bırakması tahminini ifade eder. Bu değer, 0 (devre dışı bırakma olasılığı düşük) ile 1 (bırakma olasılığı) dahil olmak üzere 1 (bu değerler dahil) arasında ondalık bir değer olarak verilir. Uygulamayı kullanmayı bırakma, 7 gün boyunca işlem yapılmaması olarak tanımlanır.
- Harcama olasılığı: Oyuncunun bu oyunda harcamayı seçme olasılığı, 0 (düşük harcama olasılığı) ile 1 (harcama olasılığı yüksek) dahil olmak üzere ondalık bir değer olarak verilir.
- Sonraki 28 gün içindeki toplam harcama: Bu oyunda sonraki 28 gün içinde oyuncuların beklenen toplam harcama tutarıdır.
- Yüksek harcama olasılığı: Oyuncunun, önümüzdeki 28 gün içinde bu oyuncunun oyuncu tabanının 95. yüzdelik diliminde veya daha üstünde yer alan bir tutarı harcama olasılığıdır. Bu değer, 0 (yüksek harcama yapma olasılığı düşük) ile 1 (yüksek harcama yapan olma olasılığı yüksek) arasında ondalık bir değer olarak verilir.
Oyuncu istatistikleri verilerini alma
Şu anda oturum açmış olan oyuncuya ilişkin oyuncu istatistikleri verilerini almak için aşağıdaki adımları uygulayın:
PlayerStatsClient.loadPlayerStats()
yöntemini çağırın.- Arama başarılı olursa Google Play oyun hizmetleri, bir
PlayerStats
nesnesini eşzamansız olarak yükleyen birTask
nesnesi döndürür. Oturum açmış oyuncuların 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 İstatistikleri verilerini kullanmayla ilgili ipuçları
Play İstatistikleri API'sı, kullanıcıların etkileşim ve harcama davranışlarına göre kolayca farklı oyuncu türlerini belirlemenize ve oyun deneyimlerini geliştirmek üzere uygun stratejiler uygulamanıza olanak tanır.
Aşağıdaki tabloda bazı örnek oynatıcı segmentleri ve önerilen etkileşim stratejileri listelenmiştir:
Oyuncu Segmenti | Etkileşim Stratejisi |
---|---|
Oturum sayısı yüksek ve harcama açısından iyi bir yüzdeye sahip olmakla birlikte son bir hafta veya daha uzun süre boyunca sık sık oyun oynayan oyuncular. |
|
Düşük harcama yüzdesine sahip, etkileşim düzeyi yüksek oyuncular. |
|
Yüksek harcama yapan oyuncuların zirve noktasına ulaştığı ve daha az oynamaya başladığı belirtileri görülür. |
|
Harcama olasılığı çok yüksek veya çok düşük olan oyuncular. |
|