Android uygulamanızda veya ilerleyici web uygulamanızda Play Faturalandırma'yı yeni kullanmaya başladınız ve kullanıcılarınız dijital ürünlerinizi satın alabiliyor. Şimdi arka uç sunucunuzda bazı önemli Play Faturalandırma bileşenlerini uygulama zamanı.
Google Play Geliştirici API'sı
Google Play Developer API'nin iki bileşeni vardır: Subscriptions and In-app Purchases API ve Publishing API. Abonelikler ve Uygulama İçi Satın Alma İşlemleri API'si, ürünleri ve satın alma işlemlerini yönetmeye yardımcı olmak için aşağıdaki REST kaynaklarından oluşur:
inappproducts: uygulama içi ürünler ve abonelik kataloğu yönetimipurchases.products: Uygulama içi ürünlerin satın alma durumupurchases.subscriptions: Abonelik satın alma durumu ve yönetimi
Google Play Developer API'yi doğrudan REST API olarak kullanabilirsiniz veya istemci kitaplıkları geliştirme sürecine hızlıca başlamanıza yardımcı olabilir. Desteklenen tüm dillerin istemci kitaplıklarını burada bulabilirsiniz. API projenizi bağlamak ve API erişim istemcilerini ayarlamak için Google Play Developer API'nin Başlangıç Kılavuzu'ndaki talimatları uygulayın.
Tüm uygulama içi ürünleri listeleme
Ön uçta (Android uygulamanızda veya ilerleyici web uygulamanızda) kullanılabilir ürün ayrıntıları için sorgu gönderirken ürün kimliklerinin listesini belirtmeniz gerekir. Bu özelliği, Play Console'da oluşturduğunuz tüm uygulama içi ürünleri ve abonelikleri listeleyen Play Developer API inappproducts.list yöntemiyle arka uç sunucunuzda uygulayabilirsiniz. Her ürünün status değerini kontrol ettiğinizden ve yalnızca active olanları uygulama istemcinize gönderdiğinizden emin olun.
Hakları vermeden önce satın alma işlemlerini doğrulama
Android uygulamanızda veya ilerleyici web uygulamanızda Play Faturalandırma'yı uygulamanın önemli bir parçası, kullanıcıya hak vermeden önce satın alma işlemlerini doğruladığınızdan emin olmaktır. Bir kullanıcıya hak verdiğinizde, satın aldığı öğeyle ilişkili avantajlara veya içeriğe erişim izni vermiş olursunuz. Bu işlem, hassas verilerin işlenmesini gerektirdiğinden arka uç sunucusunda yapılmalıdır.
Google Play Developer API, purchases.products:get ve purchases.subscriptions:get yöntemlerini sağlar. Satın alma işleminin meşru olduğunu doğrulamak için bunları uygulama içinde alınan veya arka uç sunucunuzda depolanan satın alma jetonlarıyla birlikte kullanın. Ek satın alma işlemleri ve kullanıcı yetkileri doğrulaması için arka uç sunucunuzdaki satın alma jetonlarını takip etmeniz gerekir. Atmanız gereken adımlar hakkında daha fazla bilgi için satın alma işlemlerini doğrulama ile ilgili Google Play Faturalandırma belgelerini inceleyin.
Uygulama içi satın alma işlemleri
Arka ucunuz, satın alma jetonunu istemciden aldıktan sonra Google Play Developer API'yi çağırmalı ve jetonun daha önce kullanılmadığını doğrulamalıdır. Geçerli bir satın alma işleminin purchaseState alanı 1'dir.
Satın alma işlemi geçerliyse istemci, sunucudan yanıt aldıktan sonra satın alma işlemini onaylamalı ve yetki vermelidir.
Abonelik satın alma işlemleri
Uygulama içi satın alma işlemlerini doğrulamaya benzer şekilde, arka uç sunucunuz satın alma jetonunu istemciden aldıktan sonra Google Play Developer API'yi çağırmalı ve aboneliğin hâlâ geçerli olduğunu doğrulamalıdır.
Aboneliğin expiryTimeMillis alanı geçerli zamandan büyükse istemciniz hak vermelidir.
Bu, linkedPurchaseToken alanını kontrol etmek ve yükseltme, düşürme ve diğer abonelik akışlarını yönetmek için abonelik veritabanınızı uygun şekilde güncellemek için de iyi bir zamandır. Bu sayfanın geri kalanında daha ayrıntılı bilgi verilecektir.
Arka uç durumunu güncel tutma
Uygulamanız farklı platformlarda (farklı ödeme yöntemleri de kullanabilir) kullanılabiliyorsa kullanıcılarınızı ve satın alma işlemlerini arka uç sunucunuzda takip etmek, kullanıcılarınızın uygulamanızı kullandıkları cihazlarda ve platformlarda aynı haklara erişebilmesini sağlar.
Bu, kullanıcılarınızın ve mevcut haklarının kaydını tuttuğunuz bir veritabanı oluşturmak kadar basit olabilir. Ardından, kullanıcılar satın alma işlemi gerçekleştirdikçe veya haklarını kullandıkça bu bilgileri güncellersiniz. Kullanıcılar uygulamanıza farklı bir platformdan bir sonraki erişimlerinde, uygun haklarını arka uçtan alabilir ve uygulamanıza erişebilirler.
Abonelik durumu değişikliklerini işleme
Abonelikler, yaşam döngüsü boyunca çeşitli durum değişiklikleri yaşayabilir. Bu değişikliklere uygun şekilde yanıt vermeniz gerekir. Arka uçunuzun her zaman güncel kalması için abonelik yaşam döngüsünü yönetme hakkında daha fazla bilgi edinin.
Subscription linkedPurchaseToken
Aboneliklerle ilgili dokümanlarda belirtildiği gibi, her yeni Google Play satın alma akışı (ilk satın alma, yükseltme veya alt sürüme geçme) yeni bir satın alma jetonu oluşturur. linkedPurchaseToken alanı, birden fazla satın alma jetonunun aynı aboneliğe ait olduğunu anlamayı mümkün kılar.
Her abonelik doğruladığınızda arka uçunuz, linkedPurchaseToken alanının ayarlanıp ayarlanmadığını kontrol etmelidir. Bu durumda, söz konusu alandaki değer, artık değiştirilmiş olan önceki jetonu temsil eder. Kullanıcıların içeriğinize erişmek için kullanamaması amacıyla önceki jetonu hemen geçersiz olarak işaretlemeniz gerekir.
Örneğin, arka uç ilk satın alma işlemi için satın alma jetonu A'yı boş bir linkedPurchaseToken alanı ile aldığında bu jeton için hak etkinleştirilir. Daha sonra, arka uç yükseltme işleminden sonra yeni satın alma jetonu B'yi aldığında linkedPurchaseToken alanını kontrol eder, bu alanın A olarak ayarlandığını görür ve A satın alma jetonu için yetkilendirmeyi devre dışı bırakır.

linkedPurchaseToken uygulamasıyla ilgili ayrıntılı bilgi için Yinelenen abonelikleri önlemek için linkedPurchaseToken uygulamasını doğru şekilde yapma başlıklı makaleyi inceleyin.
Gerçek zamanlı geliştirici bildirimleri
Google Play Developer API'nin purchases.subscriptions:get yöntemi, kullanıcı aboneliklerini yönetmek için doğru kaynaktır. Abonelerinizin durumunu güvenli bir arka uç sunucusunda yönetiyorsanız bu durumu Google sunucularıyla senkronize etmeniz gerekir. Ancak Google Play Geliştirici API'sinin sık sık yoklanması, API kota kısıtlamalarının aşılmasına ve önemli kullanıcı işlemlerine (ör. aboneliğin iptal edilmesi veya yükseltilmesi) ilişkin bildirimlerin alınmasında gecikmelere neden olabilir.
Gerçek Zamanlı Geliştirici Bildirimleri (RTDN), abone hak durumunda değişiklik olduğunda (ör. abonelik satın alındığında, iptal edildiğinde veya askıya alındığında) sunucunuza anında bildirim gönderen bir Google Play Faturalandırma özelliğidir. RTDN ile Google Play Developer API'yi düzenli olarak yoklamak yerine yalnızca bu bildirimlere yanıt vererek abone veritabanınızı senkronize tutabilirsiniz.
Arka uç sunucunuz, yenileme ve iptal gibi abonelik durumunu etkileyen etkinlikler için SubscriptionNotification alır. Ardından, tam durumu almak ve kendi arka uç durumunuzu güncellemek için bildirimdeki satın alma jetonuyla Google Play Developer API'yi çağırın.
Bu talimatları uygulayarak uygulamanız için RTDN'yi yapılandırabilirsiniz. Ardından, arka uç sunucunuzu bu mesajları kullanacak şekilde ayarlamanız gerekir.
Daha fazla bilgi için RTDN referansının tamamını inceleyin.