Menggunakan Layanan Penagihan Play di Aktivitas Web Tepercaya Anda

Selain memungkinkan aplikasi Anda menjual produk digital dan langganan di Play Store, Layanan Penagihan Google Play menawarkan alat untuk mengelola katalog, harga, dan langganan Anda, laporan, dan alur checkout yang didukung oleh Play Store yang sudah tidak asing bagi pengguna Anda. 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 Products API untuk menerapkan alur pembelian melalui Layanan Penagihan Google Play. Kami berharap Uji Coba Origin ini juga tersedia untuk ChromeOS 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 pustaka ini ke dalam aplikasi yang sudah ada.

Catatan: Artikel ini membahas integrasi untuk aplikasi Android. Jika Anda menggunakan Bubblewrap untuk membangun aplikasi, Anda akan dapat menggunakan alat ini untuk mengupdate aplikasi. Tujuan di Bubblewrap dilacak dalam masalah ini. Panduan ini ditujukan untuk mereka yang tidak menggunakan Bubblewrap untuk mengupdate aplikasi mereka.

build.gradle

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

Anda juga harus 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 disertakan dengan DelegationService default yang dapat digunakan langsung oleh aplikasi. Saat menggunakan ekstensi penagihan, Anda memerlukan versi DelegationService.

Untuk melakukannya, Anda harus membuat class DelegationService sendiri yang memperluas yang asli dan menggantikan onCreate(). Di dalam onCreate(), Anda harus menambahkan satu panggilan metode yang mendaftarkan aplikasi sebagai pengendali untuk Digital Products 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 terlepas dari implementasi layanan. Di deklarasi service yang sesuai, ganti com.google.androidbrowserhelper.trusted.DelegationService dengan class yang baru Anda buat.

<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 Android Anda Manifes: Layanan yang dapat terhubung ke browser dan memeriksa apakah aplikasi mendukung pembayaran, dan Aktivitas 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 Barang API dan Layanan Penagihan Google Play lebih lanjut

Artikel ini membahas langkah-langkah yang diperlukan khususnya pada aplikasi Android yang menggunakan aplikasi Web Tepercaya Aktivitas, tetapi Google Play Billing API memiliki terminologi sendiri dan mencakup klien dan backend komponen. Sebaiknya baca Layanan Penagihan Google Play dan Dokumentasi Digital Barang API dan memahami konsepnya sebelum mengintegrasikannya ke dalam aplikasi dalam lingkungan production.