Oyuncu istatistikleri API'si, oyun deneyimlerini belirli oyuncu segmentlerine ve oyuncu yaşam döngüsünün farklı aşamalarına 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, daha az aktif olan bir oyuncuyu oyununuzla yeniden etkileşime geçmeye teşvik etmek için proaktif işlemler yapmak amacıyla bu API'yi kullanabilirsiniz. Örneğin, oyuncu oturum açtığında yeni oyun içi öğeleri gösterebilir ve tanıtabilirsiniz.
Bu kılavuzda, Google Play Oyun Hizmetleri'ni kullanarak oyunlarda oyuncu istatistikleri API'sinin nasıl kullanılacağı gösterilmektedir. 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 önerileri inceleyin.
Oyuncu istatistikleri istemcisini alma
Oyuncu istatistikleri API'sini kullanmaya başlamak için oyununuzun önce bir PlayerStatsClient
nesnesi alması gerekir. Bunu, Games.getPlayerStatsClient()
yöntemini çağırıp etkinliği ve mevcut oynatıcı için GoogleSignInAccount
öğesini ileterek yapabilirsiniz. Oyuncu hesabı bilgilerini nasıl alacağınızı öğrenmek için Android Oyunlar'da oturum açma başlıklı makaleyi inceleyin.
Oyuncu istatistikleri hakkında temel bilgiler
Bir oyuncunun oyun içi etkinliğiyle ilgili verileri almak için oyuncu istatistikleri API'sini kullanabilirsiniz. Ayıklayabileceğiniz oyuncu verisi türleri şunlardır:
Ortalama oturum süresi: Oynatıcının dakika cinsinden ortalama oturum süresi. Oturum süresi, oyuncunun Google Play Oyun Hizmetleri'nde oturum açtığı 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ı: Oyuncu için yaklaşık uygulama içi satın alma işlemi sayısı.
Oturum sayısı: Oynatıcının yaklaşık oturum sayısı. Oturumlar, bir oyuncunun Google Play Games Hizmetleri'nde oturum açma sayısının toplamına göre belirlenir.
Oturum yüzdesi: Oyuncu için oturum yüzdesinin yaklaşık değeridir. 0 ile 1 (dahil) arasında bir ondalık değer olarak verilir. Bu değer, mevcut oyuncunun oyunun oyuncu tabanının geri kalanı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: Oynatıcının yaklaşık harcama yüzdesi. 0 ile 1 arasında bir ondalık değer olarak gösterilir. Bu değer, mevcut oyuncunun oyunun oyuncu tabanının geri kalanı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 oynatıcı verisi türleri için destek sonlandırılmıştır ve her zaman ayarlanmamış bir değer sabit değeri döndürürler:
- Uygulamayı kullanmayı bırakma olasılığı: Bir oyuncunun ertesi gün uygulamayı kullanmayı bırakıp bırakmayacağının tahmini. 0 (uygulamayı kullanmayı bırakma olasılığı düşük) ile 1 (uygulamayı kullanmayı bırakma olasılığı yüksek) arasında bir ondalık değer olarak verilir. Kaybetme, 7 gün boyunca işlem yapılmaması olarak tanımlanır.
- Harcama olasılığı: Oyuncunun bu oyunda harcama yapmayı seçme olasılığının yaklaşık değeridir. 0 (düşük harcama olasılığı) ile 1 (yüksek harcama olasılığı) arasında bir ondalık değer olarak verilir.
- Sonraki 28 gün içindeki toplam harcama: Bu oyunda önümüzdeki 28 gün içinde oyuncuların yapacağı tahmini toplam harcama.
- Yüksek harcama olasılığı: Bir oyuncunun önümüzdeki 28 gün içinde bu oyunun oyuncu tabanının 95. yüzdelik diliminde veya daha yüksek bir tutarda harcama yapma olasılığı. Bu değer, 0 (yüksek harcama yapan kullanıcı olma olasılığı düşük) ile 1 (yüksek harcama yapan kullanıcı olma olasılığı yüksek) arasında bir ondalık değer olarak verilir.
Oyuncu istatistikleri verilerini alma
Şu anda oturum açmış olan 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,
PlayerStats
nesnesini eşzamansız olarak yükleyen birTask
nesnesi döndürür. Oturum açmış 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() { Games.getPlayerStatsClient(this, GoogleSignIn.getLastSignedInAccount(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 kolayca tanımlamanıza 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 |
---|---|
Çok sayıda oturum ve iyi harcama yüzdesine sahip ancak son bir hafta veya daha uzun süredir oyun oynamayan sık oyuncular. |
|
Düşük harcama yüzdelik diliminde bulunan, etkileşimi yüksek oyuncular. |
|
Harcamalarının zirveye ulaştığını ve daha az oynamaya başladığına dair işaretler gösteren yüksek harcama yapan oyuncular |
|
Harcama olasılığı çok yüksek veya çok düşük olan oyuncular. |
|