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:
- 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.
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:
PlayerStatsClient.loadPlayerStats()
yöntemini çağırın.Çağrı başarılı olursa Google Play Games Hizmetleri, eşzamansız olarak bir
Task
nesnesi yükleyen birPlayerStats
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. |
|
Harcama yüzdelik dilimi düşük olan ve oyunla yüksek düzeyde etkileşim kuran oyuncular. |
|
Çok harcama yapan oyuncuların zirveye ulaştıklarına dair işaretler göstermesi ve daha az sıklıkta oynamaya başlaması. |
|
Harcama olasılığı çok yüksek veya çok düşük olan oyuncular. |
|