Bu konuda, oyununuzdaki uygulama içi ürünleri Google Play uygulamasında Play Points ile satın aldıktan sonra nasıl tespit edip sunacağınız açıklanmaktadır.
Kullanıcılar Google Play uygulamasında bir uygulama içi ürün için Play Puanlarını kullandıktan sonra öğeler oyununuzda hemen teslim edilmelidir. Aşağıda, bir kullanıcının Play Points ile nasıl öğe satın aldığı gösterilmektedir.
1. Play Points'i tıklayın. | 1. Öğeleri görüntülemek için Kullan sekmesini tıklayın. | 2. Bir öğe seçin ve satın alma işlemini tamamlamak için Puan Kullan'ı tıklayın. | 3. Ürünü alın. |
Örnekte, ürün satın alınırken oyun çalışmıyordur. Kullanıcılar, oyun cihazlarında yüklü değilken de Play Puanları karşılığında ürünler alabilirler. Bu nedenle oyununuzu, oyun içi mağazanın dışından uygulama içi öğe teslimatını işleyecek şekilde tasarlamanız gerekir.
Başlamadan önce
Uygulama içi ürün algılayıp teslim etmeden önce ürün ve Play Points promosyonlarını oluşturmanız gerekir.
Teslimat koşulları
Play Points promosyonu kullanarak oyununuzda uygulama içi ürünler teslim ederken bu bölümdeki şartlara uymanız gerekir.
Yayınlanma zamanı
Bir oyuncu, uygulama içi bir ürün için Play Puanlarını değiştirdiğinde, oyuncunun oyunu yeniden başlatmasına gerek kalmadan öğeyi hemen göndermeniz gerekir. Bir eğiticiyi tamamlamak gibi oyun içeriğinin önceden tamamlanması gereken durumlarda, öğe hemen sonra teslim edilmelidir.
Teslim mesajı
Bir kullanıcı, oyun dışında bir uygulama içi ürün satın aldıktan sonra oyununuza geri döndüğünde, ürünün oyun içinde başarıyla verildiğine dair bir onay göstermeniz gerekir. Mesaj, pop-up iletişim kutusu veya oyun içi mesaj şeklinde olmalıdır. Kullanıcıların öğeyi almak için ek adımlar uygulaması gerekmez.
Gerekli mesajlaşma biçimi şöyledir:
Öğenin alındığına dair net bir mesaj.
Öğe adına açıkça atıfta bulunun ve kullanıcıların öğeyi aldıkları diğer içeriklerden ayırt edebilmeleri için "Play Points"e bakın.
Birden çok değere sahip benzer öğeler varsa öğenin adı, doğru öğe değerini de içermelidir.
Pop-up iletişim kutusu, mesaj veya oyun içi bildirim, kullanıcı Devam veya Tamam gibi bir onayı tıklayana kadar kullanıcı tarafından görülebilir olmalıdır. Bu mesaj yalnızca kullanıcıları oyun içinde aldıkları öğe hakkında bilgilendirmek için kullanıldığı için iptal düğmesi olmamalıdır. Onay düğmesi yoksa mesaj, kaybolmadan önce kullanıcılara en az 3 saniye boyunca görünür olmalıdır. Böylece, kullanıcıların kendilerine ait olduklarını bilmeleri gerekir.
Aşağıda örnek bir mesaj verilmiştir:
"Öğe alındı. Play Puanları ile 100 Mücevher kazandınız. Devam et."
Kullanıcılar, oyun içi para birimi bakiyelerindeki artışı gösteren bir animasyon veya görsel onay görmelidir. Öğe dayanıklı veya tüketilebilir bir uygulama içi öğeyse kullanıcılar öğenin kilidinin açıldığı veya oyun içinde mevcut olduğu yere yönlendirilmelidir.
Oyun dışında alınan öğeleri algılama
Oyununuz Google Play Faturalandırma Kitaplığı'nı kullanıyorsa oyun dışında alınan uygulama içi ürünleri algılamak için aşağıdaki değişiklikleri yapın.
Oyununuzun
onResume()
geri çağırmasında, öğelerin listesini almak içinqueryPurchases()
yöntemini çağırarak hangilerinin onaylanmadığını belirleyebilirsiniz.Oyununuzun bir sunucusu varsa Abonelikler ve Uygulama İçi Satın Almalar API'sini kullanarak satın alma işlemini sunucunuzdan doğrulamanızı kesinlikle öneririz.
Sahip olunan ancak onaylanmamış öğeler varsa satın alma işlemini, tüketilebilir öğeler için
consumeAsync()
veya tüketilemez öğeler içinacknowledgePurchase()
ile onaylayın.Oyun içinde satın alınan öğe için yetki verin.
Bölünmüş ekran modunda alınan öğeleri algılama
Oyununuz çoklu pencere modunu destekliyorsa, kullanıcılar Play Store uygulamasını ve oyununuzu aynı anda çalıştırırken Play Puanlarını kullanarak öğeyi alabilirler. Bu ekran görüntüsünde bir örnek verilmiştir:
Google Play Faturalandırma Kitaplığı ile bu senaryoyu desteklemek için aşağıdakileri yapın:
Google Play, bekleyen yeni bir öğe olduğunu oyununuza bildirmek için
onPurchasesUpdated()
yöntemini çağırır.Oyununuzun bir sunucusu varsa Abonelikler ve Uygulama İçi Satın Almalar API'sini kullanarak satın alma işlemini sunucunuzdan doğrulamanızı kesinlikle öneririz.
Satın alma işlemini, tüketilebilir öğeler için
consumeAsync()
veya tüketilemez öğeler içinacknowledgePurchase()
ile onaylayın.Oyun içinde satın alınan öğe için yetki verin.
Teslimat onayı gösterme
Kullanıcılar Play Puanlarını kullanıp karşılığında bir öğe aldıklarında oyunun oyun içi bir mesaj göstermesini beklerler veya oyunun, öğeyi doğru şekilde alıp işlediğini belirtmek için bir tür bildirim gönderirler. Yayınlama onayı seçeneklerinden bazıları şunlardır:
Oyun içi pop-up göster.
Mesajı oyun içi mesaj kutusuna iletin ve oyun içi mesaj kutusunda yeni bir mesaj olduğunu açıkça belirtin.
İşletim sistemi bildirim mesajı kullanın.
Promosyon öğesi alındığında oyun herhangi bir durumda olabilir (cihazda yüklü olmaması da dahil). Promosyon öğelerini, öğenin alındığı oyunun hangi eyalette olursa olsun tespit etmeniz gerekir. Bununla birlikte, öğenin alındığını kullanıcıya hemen bildirmemenin kabul edilebilir olduğu bazı istisnalar vardır. Örneğin:
Oyun işlemi sırasında, mesaj göstermek kullanıcının dikkatini dağıtabilir. Bu durumda, işlem sona erdikten sonra kullanıcıyı bilgilendirmeniz gerekir.
Bir mesaj göstermenin kullanıcının dikkatini dağıtabileceği ara sahneler sırasında. Bu durumda, ara sahne bittikten sonra kullanıcıyı bilgilendirmeniz gerekir.
Oyunun ilk eğitim ve kullanıcı kurulumu bölümleri sırasında. Yeni kullanıcıları, oyunu açtıktan hemen sonra veya ilk kullanıcı kurulumu sırasında ödül konusunda bilgilendirmenizi öneririz. Bununla birlikte, ana oyun sırası kullanıcının bilgilendirilmesi için hazır oluncaya kadar bekleyebilirsiniz.
Uygulamanızda öğenin uygulanabileceği birden fazla karakter veya hesap varsa kullanıcıdan promosyon öğelerini hangi hesabın alacağını seçmesini istemenizi öneririz.
Promosyon öğeleriyle ilgili ne zaman ve nasıl bilgilendirileceğine karar verirken kullanıcıları göz önünde bulundurun. Bir kullanıcı hemen bildirim almadığında kafası karışabilir, oyunu oynamayı bırakabilir, kullanıcı destek ekibiyle iletişime geçebilir veya sosyal medyadan şikayette bulunabilir.
Belirli oyun motorları için güncellemeler
Belirli oyun motorları için dikkat edilmesi gereken noktalardan bazıları şunlardır:
Oyununuz Unity ile geliştirilmişse kullandığınız UİSA uygulamasının Play Points promosyonlarını zaten destekleyip desteklemediğini doğrulamanızı öneririz.
Oyununuz Cocos2d-x veya Unreal Engine (C/C++) ile derlenmişse büyük olasılıkla C/C++ kodunuzdan Java API'lerini çağıran JNI kodunu yazmanız gerekecektir.
Sunucu tarafı en iyi uygulamalar
Bu bölümde, Play Points promosyonları için kullanılacak sunucu tarafı en iyi uygulamalar yer alır:
Sunucunuzda
Purchases.products: get
yöntemini çağırırsanız Play Rewards exchange öğelerini ve diğer uygulama içi ürünleriproductId
değerlerine göre ayrı ayrı işlemeniz gerekip gerekmediğini doğrulayın.Sunucunuzda
Inappproducts: list
kullanıyorsanız Play Rewards exchange öğelerini, diğer uygulama içi ürünlerdenproductId
değerlerine göre ayırmanız gerekip gerekmediğini doğrulayın.Ek değişiklikler yapmanız gerekip gerekmediğini doğrulamak için aşağıdaki en iyi uygulamaları inceleyin:
- Referans:
- Sunucu tarafı imza doğrulamasını uygulayın.
purchaseToken
veorderId
değerlerinin benzersiz olduğundan ve daha önce kullanılmadığından emin olun.
Sorun giderme
Bu bölümde, müşteri sorgularıyla sonuçlanabilecek senaryolarla ilgili öneriler yer almaktadır.
Birden çok kullanıcı hesabı
Bir kullanıcının cihazında birden fazla Google Hesabı varsa ve kullanıcı Play Puanlarını yanlış hesapta kullanırsa Google, bu öğeleri diğer hesaplara aktaramaz. Benzer şekilde, uygulamanız getPurchases()
yöntemini çağırarak öğeyi aktaramaz. Bu senaryoda, müşteri desteği işlemlerinizi kullanarak uygulama içi öğeleri kullanıcıya manuel olarak sağlamayı düşünün.
Geciken veya eksik öğeler
Oyuncular geciken veya eksik ödül öğeleri sorunuyla karşılaşırsa Google Play yardım dokümanlarındaki uygulama içi satın alma işlemleriyle ilgili sorun giderme kılavuzuna bakın.