Google ile Giriş API'sinin desteğinin sonlandırılmasının ardından, 2026'da Games v1 SDK'sını kaldırıyoruz. Şubat 2025'ten sonra games v1 SDK'sıyla yeni entegre edilen oyunları Google Play'de yayınlayamayacaksınız. Bunun yerine games v2 SDK'sını kullanmanızı öneririz.
Önceki Games v1 entegrasyonlarına sahip mevcut uygulamalar birkaç yıl daha çalışmaya devam edecek olsa da
Haziran 2025'ten itibaren
v2'ye geçiş yapmanız
önerilir.
Bu kılavuz, Play Games Hizmetleri v1 SDK'sının kullanımıyla ilgilidir. En son SDK sürümü hakkında bilgi için v2 belgelerine bakın.
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. Oyuncu oturum açtığında yeni oyun içi öğeleri görüntüleyip tanıtmak bu işlemlerden biridir.
Bu kılavuzda, Google Play Oyun Hizmetleri'ni kullanan oyunlarda oyuncu istatistikleri API'sinin nasıl kullanılacağı açıklanmaktadır. 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, Games.getPlayerStatsClient()
yöntemini çağırıp etkinliği ve mevcut oyuncu için GoogleSignInAccount
değerini ileterek yapabilirsiniz. Oyuncu hesabı bilgilerini nasıl alacağınızı öğrenmek için Android oyunlarında oturum açma başlıklı makaleyi inceleyin.
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 ortalama oturum süresi (dakika cinsinden). 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ı: Oyuncunun yaklaşık uygulama içi satın alma sayısı.
Oturum sayısı: Oyuncunun yaklaşık oturum sayısı. Oturumlar, bir oyuncunun Google Play Games Hizmetleri'nde oturum açma sayısına göre 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
Şu anda oturum açmış 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 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. |
|