Menggunakan Layanan Penagihan Play di Aktivitas Web Tepercaya Anda

André Cipriani Bandarra
André Cipriani Bandarra

Selain memungkinkan aplikasi Anda menjual langganan dan produk digital di Play Store, Layanan Penagihan Google Play menawarkan alat untuk mengelola katalog, harga, dan langganan, laporan yang berguna, dan alur checkout yang didukung oleh Play Store yang sudah dikenal pengguna. Hal ini juga merupakan persyaratan untuk aplikasi yang dipublikasikan di Play Store yang menjual produk digital.

Chrome 88 diluncurkan dengan Uji Coba Origin di Android yang memungkinkan integrasi Aktivitas Web Tepercaya dengan Payment Request API dan Digital Goods API untuk menerapkan alur pembelian melalui Layanan Penagihan Google Play. Kami berharap Uji Coba Origin ini juga akan tersedia untuk ChromeOS pada versi 89.

Untuk memudahkan integrasi ke aplikasi Android, tim Aktivitas Web Tepercaya memperkenalkan library ekstensi ke android-browser-helper. Panduan ini akan menunjukkan perubahan yang diperlukan untuk mengintegrasikan library ini ke dalam aplikasi yang ada.

Catatan: Artikel ini membahas integrasi untuk aplikasi Android. Jika menggunakan Bubblewrap untuk membuat aplikasi, Anda akan dapat menggunakan alat ini untuk mengupdate aplikasi. Implementasi pada Bubblewrap sedang dilacak dalam masalah ini. Panduan ini ditujukan bagi pengguna yang tidak menggunakan Bubblewrap untuk mengupdate aplikasi.

build.gradle

Library ekstensi penagihan itu sendiri bergantung pada versi 2.1.0 android-browser-helper. Pastikan aplikasi Anda menggunakan versi yang sama atau lebih baru dari versi tersebut.

Anda juga perlu menambahkan pernyataan penerapan untuk library ekstensi penagihan:

dependencies {
    ...
    implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.1.0'
    implementation 'com.google.androidbrowserhelper:billing:1.0.0-alpha05'
}

DelegationService.java

android-browser-helper dikirimkan dengan DelegationService default yang dapat digunakan langsung oleh aplikasi. Saat menggunakan ekstensi penagihan, Anda memerlukan versi DelegationService yang sedikit disesuaikan.

Untuk melakukannya, Anda harus membuat class DelegationService sendiri yang memperluas class asli dan mengganti onCreate(). Di dalam onCreate(), Anda harus menambahkan satu panggilan metode yang mendaftarkan aplikasi tersebut sebagai pengendali untuk Digital Goods API:

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

Di Manifes Android, Anda perlu mengubah referensi ke Library Delegasi Anda sendiri. Pada deklarasi service yang sesuai, ganti com.google.androidbrowserhelper.trusted.DelegationService dengan class yang baru dibuat.

<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>

Library penagihan juga memperkenalkan dua komponen baru yang perlu ditambahkan ke Manifes Android Anda: Service yang dapat terhubung ke browser dan memeriksa apakah aplikasi mendukung pembayaran, dan Activity yang menangani alur pembayaran itu sendiri:

<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>

Pelajari Digital Goods API dan Layanan Penagihan Google Play lebih lanjut

Artikel ini membahas langkah-langkah yang diperlukan secara khusus pada aplikasi Android yang menggunakan Aktivitas Web Tepercaya, tetapi Google Play Billing API memiliki terminologinya sendiri dan menyertakan komponen klien dan backend. Sebaiknya baca Layanan Penagihan Google Play dan Digital Goods API serta pahami konsepnya sebelum mengintegrasikannya ke aplikasi dalam produksi.