Bu belgede, uygulamanızı Play Faturalandırma Kitaplığı'nın (PBL) çok ürünlü özelliğiyle nasıl entegre edebileceğiniz açıklanmaktadır.
Tek seferlik ürünler için çoklu ürün özelliği, birden fazla tek seferlik ürünü tek bir birimde birleştirmenize olanak tanır. Bu paketlenmiş ürünler daha sonra toplu olarak satın alınabilir, faturalandırılabilir ve yönetilebilir. Ayrıca, ürün satın alımlarını teşvik etmek için bu paketlenmiş OTP'ler için indirim fırsatları da oluşturabilirsiniz.
Dikkat edilmesi gereken noktalar
Tek seferlik ürün paketleri oluştururken aşağıdaki hususları göz önünde bulundurun:
- Tek seferlik ürün paketlerinde abonelikler yer alamaz.
- Aynı tek seferlik ürün paketinde dijital içerik ve hizmet kombinasyonu olamaz.
- Paketlenmiş tek seferlik ürünler hemen indirilebilmelidir. Örneğin, tek seferlik bir ürün paketi hemen indirilemediği için ön siparişle satın alınamaz.
- Tek seferlik ürünler için çoklu ürün, kiralama satın alma seçeneğini desteklemez.
Play Faturalandırma Kitaplığı ile entegrasyon
Bu bölümde, PBL bağımlılığını uygulamanıza ekleme, BillingClient'ı başlatma ve Google Play'e bağlanma gibi ilk PBL entegrasyonu adımlarına aşina olduğunuz varsayılır. Bu bölümde, çok ürünlü OTP satın alma işlemlerine özel olan PBL entegrasyonuyla ilgili konulara odaklanılmaktadır.
Satın alma akışı başlatma
Çoklu ürün içeren tek seferlik ürünler için satın alma akışı başlatmak üzere aşağıdaki adımları uygulayın:
QueryProductDetailsParams.Builder.setProductList yöntemini kullanarak tüm tek seferlik ürünlerin bulunduğu bir ürün listesi oluşturun.
BillingClient.queryProductDetailsAsync
yöntemini kullanarak tüm tek seferlik ürünlerinizi getirin.Aşağıdaki örnekte, tek seferlik tüm ürünlerinizin nasıl getirileceği gösterilmektedir:
Java
billingClient.queryProductDetailsAsync( queryProductDetailsParams, new ProductDetailsResponseListener() { public void onProductDetailsResponse( BillingResult billingResult, QueryProductDetailsResult productDetailsResult) { // check billingResult // … // process productDetailsList returned by QueryProductDetailsResult ImmutableList
productDetailsList = productDetailsResult.getProductDetailsList(); for (ProductDetails productDetails : productDetailsList) { for (OneTimePurchaseOfferDetails oneTimePurchaseOfferDetails : productDetails.getOneTimePurchaseOfferDetailsList()) { // … } } } }); Her tek seferlik ürün için
ProductDetails
nesnesini ayarlayın.Tek seferlik ürün ayrıntılarını
BillingFlowParams.Builder.setProductDetailsParamsList
yönteminde belirtin.BillingFlowParams
sınıfı, satın alma akışının ayrıntılarını belirtir.Aşağıdaki örnekte, çok ürünlü bir OTP satın alma işlemi için faturalandırma akışının nasıl başlatılacağı gösterilmektedir:
Java
BillingClient billingClient = BillingClient.newBuilder() // set other options .build(); // ProductDetails obtained from queryProductDetailsAsync(). ProductDetails productDetails1 = ...; ProductDetails productDetails2 = ...; ArrayList
productDetailsList = new ArrayList<>(); productDetailsList.add(productDetails1); productDetailsList.add(productDetails2); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
Satın alma işlemlerini işleme
Çok ürünlü tek kullanımlık teklif satın alma işlemlerinin işlenmesi, Google Play Faturalandırma Kitaplığı'nı uygulamanıza entegre etme başlıklı makalede açıklandığı gibi mevcut tek öğeli satın alma işlemlerinin işlenmesiyle aynıdır. Tek fark, çok ürünlü tek kullanımlık teklif satın alma işlemlerinde kullanıcının tek bir satın alma işlemiyle birden fazla hak alabilmesi için yalnızca bir ürün yerine tüm ürünler için hak vermeniz gerekmesidir.
Çok ürünlü bir OTP satın alma işlemi, Google Play Billing Library'de Purchase.getProducts()
kullanılarak ve ardından Google Play Developer API'nin purchases.products.get
bölümündeki lineItems
listesi kullanılarak alınabilen birden fazla öğe döndürür.
Gerçek zamanlı geliştirici bildirimleri
Çok ürünlü OTP satın alma işlemlerinde RTDN için sku
alanı sağlanmaz.
Çok ürünlü OTP satın alma işlemleri birden fazla ürünü ifade eder. Bu nedenle, satın alma verilerini almak ve içindeki tüm öğeleri görmek için Play Developer API'lerini kullanabilirsiniz.
Geri ödemeler
Çok ürünlü bir OTP satın alma işleminde kullanıcılar ayrı ayrı öğeler için geri ödeme isteğinde bulunamaz ve siz de ayrı ayrı öğeler için geri ödeme yapamazsınız. Ancak, çok ürünlü OTP satın alma işleminin tamamı için geri ödeme isteğinde bulunulmasına ve geri ödeme yapılmasına izin verilir. Bir kullanıcı için çok ürünlü bir OTP satın alımını iptal ediyorsanız satın alımla ilişkili tüm haklar iptal edilir.
Finansal raporlama ve mutabakat
Etkin çok ürünlü OTP satın alma işlemlerinizi Google Payoffs ve Play'deki işlemlerle uzlaştırmak için Kazanç raporunu kullanın. Her işlem satır öğesinin bir sipariş kimliği vardır. Çok ürünlü bir OTP satın alma işleminde, Kazanç ve Tahmini Satış raporları, her işlem için ayrı satırlar (aynı sipariş kimliğiyle) içerir. İlgili her öğe için ücret, vergi ve geri ödeme gibi işlemler.
Play Console'daki kontrol panelleri için:
Konsolun Finansal raporlama bölümünde sunulan gelir istatistikleri, tek tek ürünlere göre ayrılır.
Sipariş yönetimi, çok ürünlü OTP satın alımlarını yansıtır ve satın alınan ürünlerin ayrıntılı listelerini gösterir. Sipariş yönetiminden kullanıcının satın alma işlemini iptal edebilir, geri çekebilir veya tam geri ödeme yapabilirsiniz.