Google Play Faturalandırma, uygulamanızın Play Store'da dijital ürün ve abonelik satmasına olanak tanımanın yanı sıra kataloğunuzu, fiyatlarınızı ve aboneliklerinizi yönetmenize yönelik araçlar, faydalı raporlar ve kullanıcılarınızın aşina olduğu, Play Store tarafından desteklenen bir ödeme akışı sunar. Bu, Play Store'da dijital ürün satan uygulamaların da şartıdır.
Chrome 88, Android'de Google Play Faturalandırma üzerinden satın alma işlemlerini uygulamak için Güvenilir Web Etkinlikleri'nin Payment Request API ve Digital Goods API ile entegrasyonunu sağlayan bir Origin Trial ile kullanıma sunuluyor. Bu Kaynak Deneme Sürümü'nün ChromeOS 89 sürümünde de kullanıma sunulmasını bekliyoruz.
Güvenilir Web Etkinliği ekibi, Android uygulamasıyla entegrasyonu kolaylaştırmak için android-browser-helper'a bir uzantı kitaplığı ekliyor. Bu kılavuzda, bu kitaplığı mevcut bir uygulamaya entegre etmek için gereken değişiklikler gösterilmektedir.
Not: Bu makale, Android uygulamasının entegrasyonunu kapsar. Uygulamanızı oluşturmak için Bubblewrap'ı kullanıyorsanız uygulamanızı güncellemek için bu aracı kullanabilirsiniz. Bubblewrap'ta uygulamanın uygulanması bu sorunda takip edilmektedir. Bu kılavuz, uygulamalarını güncellemek için Bubblewrap'ı kullanmayan kullanıcılar için hazırlanmıştır.
build.gradle
Faturalandırma uzantısı kitaplığı, android-browser-helper
'ın 2.1.0
sürümüne bağlıdır. Uygulamanızın bu sürüme eşit veya daha yeni bir sürüm kullandığından emin olun.
Faturalandırma uzantısı kitaplığı için bir uygulama beyanı da eklemeniz gerekir:
dependencies {
...
implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.1.0'
implementation 'com.google.androidbrowserhelper:billing:1.0.0-alpha05'
}
DelegationService.java
android-browser-helper, doğrudan uygulamalar tarafından kullanılabilen varsayılan bir DelegationService
ile birlikte gönderilir.
Faturalandırma uzantısını kullanırken DelegationService
dosyasının biraz özelleştirilmiş bir sürümüne ihtiyacınız vardır.
Bunu yapmak için, orijinal sınıfı genişleten ve onCreate()
sınıfını geçersiz kılan kendi DelegationService
sınıfınızı oluşturmanız gerekir. onCreate()
içine, uygulamayı Digital Goods API için işleyici olarak kaydeden tek bir yöntem çağrısı eklemeniz gerekir:
package com.example.yourapp;
import com.google.androidbrowserhelper.playbilling.digitalgoods.DigitalGoodsRequestHandler;
import com.google.androidbrowserhelper.trusted.DelegationService;
public class DelegationService
extends com.google.androidbrowserhelper.trusted.DelegationService {
@Override
public void onCreate() {
super.onCreate();
registerExtraCommandHandler(new DigitalGoodsRequestHandler(getApplicationContext()));
}
}
AndroidManifest.xml
Android Manifest'te, Delegasyon Kitaplığı'na yapılan referansı kendi uygulamanızla değiştirmeniz gerekir. İlgili service
beyanında com.google.androidbrowserhelper.trusted.DelegationService
değerini yeni oluşturduğunuz sınıfla değiştirin.
<service
android:name=".DelegationService"
android:exported="true">
<intent-filter>
<action android:name="android.support.customtabs.trusted.TRUSTED_WEB_ACTIVITY_SERVICE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
Faturalandırma kitaplığı, Android manifest dosyanıza eklenmesi gereken iki yeni bileşen de sunar: Tarayıcının bağlanıp uygulamanın ödemeyi destekleyip desteklemediğini kontrol edebileceği bir Hizmet ve ödeme akışını yöneten bir Etkinlik:
<activity
android:name="com.google.androidbrowserhelper.playbilling.provider.PaymentActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|keyboard|orientation|screenLayout|screenSize"
android:exported="true">
<intent-filter>
<action android:name="org.chromium.intent.action.PAY" />
</intent-filter>
<meta-data
android:name="org.chromium.default_payment_method_name"
android:value="https://play.google.com/billing" />
</activity>
<!-- This service checks who calls it at runtime. -->
<service
android:name="com.google.androidbrowserhelper.playbilling.provider.PaymentService"
android:exported="true" >
<intent-filter>
<action android:name="org.chromium.intent.action.IS_READY_TO_PAY" />
</intent-filter>
</service>
Digital Goods API ve Google Play Faturalandırma hakkında daha fazla bilgi
Bu makalede, özellikle Güvenilir Web Etkinliği kullanan Android uygulamasında gereken adımlar ele alınmıştır. Ancak Google Play Faturalandırma API'sinin kendi terminolojisi vardır ve istemci ile arka uç bileşenlerini içerir. Google Play Faturalandırma ve Dijital Ürünler API'si dokümanlarını okumanızı ve bu API'yi üretimdeki bir uygulamaya entegre etmeden önce kavramlarını anlamanızı önemle tavsiye ederiz.