Geliştirici yükü geçmişte, sahtekarlığı önleme ve satın alma işlemlerini doğru kullanıcıya atfetme gibi çeşitli amaçlarla kullanılmıştır. Google Play Faturalandırma Kitaplığı'nın 2.2 ve sonraki sürümlerinde, daha önce geliştirici yükü kullanılan amaçlanan kullanım alanları artık kitaplığın diğer bölümlerinde tam olarak desteklenmektedir.
Bu destekle birlikte, Google Play Faturalandırma Kitaplığı'nın 2.2 sürümünden itibaren geliştirici yükünü kullanımdan kaldırdık. Geliştirici yüküyle ilişkili yöntemler, 2.2 sürümünde kullanımdan kaldırıldı ve 3.0 sürümünde kaldırıldı. Uygulamanızın, kitaplığın önceki sürümleri veya AIDL kullanılarak yapılan satın alma işlemleri için geliştirici yükünü almaya devam edebileceğini unutmayın.
Değişikliklerin ayrıntılı listesi için Google Play Faturalandırma Kitaplığı 2.2 sürüm notları ve Google Play Faturalandırma Kitaplığı 3.0 sürüm notlarına bakın.
Satın alma işlemlerini doğrulama
Satın alma işlemlerinin gerçek olduğundan, sahte olmadığından veya yeniden oynatılmadığından emin olmak için Google, satın alma işlemlerinin gerçek olduğunu doğrulamak üzere Google Play Developer API'leri ile birlikte satın alma jetonunun (getPurchaseToken() nesnesindeki Purchase yönteminden elde edilir) kullanılmasını önerir.
Daha fazla bilgi için Sahtekarlık ve kötüye kullanımla mücadele başlıklı makaleyi inceleyin.
Satın alma ilişkilendirmesi
Birçok uygulama, özellikle de oyunlar, satın alma işleminin oyundaki karakter/avatar veya uygulama içi kullanıcı profiliyle doğru şekilde ilişkilendirildiğinden emin olmalıdır. Google Play Faturalandırma Kitaplığı 2.2'den itibaren uygulamanız, satın alma iletişim kutusunu başlatırken kodu karartılmış hesap ve profil tanımlayıcılarını Google'a iletebilir ve satın alma işlemi alınırken bu tanımlayıcıların döndürülmesini sağlayabilir.
BillingFlowParams içinde setObfuscatedAccountId() ve setObfuscatedProfileId() parametrelerini kullanın ve bunları Purchase nesnesindeki getAccountIdentifiers() yöntemiyle alın.
Satın alma işlemiyle meta verileri ilişkilendirme
Google, satın alma işlemiyle ilgili meta verileri, sizin tarafınızdan yönetilen güvenli bir arka uç sunucusunda saklamanızı önerir. Bu satın alma meta verileri, Purchase nesnesindeki getPurchaseToken yöntemi kullanılarak elde edilen satın alma jetonuyla ilişkilendirilmelidir. Bu veriler, başarılı bir satın alma işleminden sonra PurchasesUpdatedListener çağrıldığında satın alma jetonu ve meta veriler arka uçunuza iletilerek kalıcı hale getirilebilir.
Satın alma sürecinde kesintiler olması durumunda meta verilerin ilişkilendirilmesini sağlamak için Google, satın alma iletişim kutusunu başlatmadan önce meta verileri arka uç sunucunuzda depolamanızı ve bunları kullanıcınızın hesap kimliği, satın alınan SKU ve geçerli zaman damgasıyla ilişkilendirmenizi önerir.
Satın alma süreci, PurchasesUpdatedListener çağrılmadan önce kesintiye uğrarsa uygulamanız, devam ettikten ve BillingClient.queryPurchasesAsync() çağrıldıktan sonra satın alma işlemini keşfeder.
Ardından, meta verileri aramak, meta verileri satın alma jetonuyla ilişkilendirmek ve satın alma işlemini işlemeye devam etmek için Purchase nesnesinin getPurchaseTime(), getSku() ve getPurchaseToken() yöntemlerinden alınan değerleri arka uç sunucunuza gönderebilirsiniz. Başlangıçta depoladığınız zaman damgasının, Purchase nesnesinin getPurchaseTime() değerine tam olarak uymayacağını, bu nedenle bunları yaklaşık olarak karşılaştırmanız gerektiğini unutmayın. Örneğin, değerlerin belirli bir zaman aralığında olup olmadığını kontrol edebilirsiniz.