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 yardımcı olacak araçlar, faydalı raporlar ve Play Store tarafından desteklenen, kullanıcılarınıza aşina oldukları bir ödeme akışı sunar. Bu, Play Store'da dijital ürün satan uygulamaların da şartıdır.
Chrome 88, Android'de bir Kaynak Denemesi ile kullanıma sunuluyor. Bu özellik, Google Play Faturalandırma aracılığıyla satın alma akışlarını uygulamak için Güvenilir Web Etkinlikleri'nin Ödeme İsteği API'si ve Digital Goods API ile entegrasyonunu mümkün kılar. Bu Kaynak Deneme Sürümü'nün ChromeOS 89 sürümünde de kullanıma sunulmasını bekliyoruz.
Trusted Web Activity 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ıyla ilgili entegrasyonu kapsamaktadır. Uygulamanızı oluşturmak için Bubblepack'i kullanıyorsanız bu aracı kullanarak uygulamanızı güncelleyebilirsiniz. BubbleWrap'taki uygulama bu sayı içinde izlenmektedir. 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 bundan 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ılabilecek varsayılan bir DelegationService
ile birlikte sunulur.
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.