นอกจากจะอนุญาตให้แอปขายสินค้าดิจิทัลและการสมัครใช้บริการใน Play Store แล้ว Google Play Billing ยังมีเครื่องมือสำหรับจัดการแคตตาล็อก ราคาและการสมัครใช้บริการ รายงานที่มีประโยชน์ และขั้นตอนการชำระเงินที่ขับเคลื่อนโดย Play Store ที่ผู้ใช้คุ้นเคยอยู่แล้ว นอกจากนี้ ยังเป็นข้อกำหนดสำหรับแอปพลิเคชันที่เผยแพร่ใน Play Store ซึ่งขายสินค้าดิจิทัลด้วย
Chrome 88 จะเปิดตัวพร้อมกับการทดลองใช้เวอร์ชันต้นทางใน Android ซึ่งจะเปิดใช้การผสานรวม Trusted Web Activities กับ Payment Request API และ Digital Goods API เพื่อใช้ขั้นตอนการซื้อผ่าน Google Play Billing เราคาดว่าช่วงทดลองใช้ Origin นี้จะพร้อมให้บริการใน ChromeOS เวอร์ชัน 89 ด้วย
เพื่อให้การผสานรวมกับแอป Android ง่ายขึ้น ทีมกิจกรรมบนเว็บที่เชื่อถือได้จะเปิดตัวไลบรารีส่วนขยายสำหรับโปรแกรมช่วยเหลือเบราว์เซอร์ Android คู่มือนี้จะแสดงการเปลี่ยนแปลงที่จําเป็นเพื่อผสานรวมไลบรารีนี้เข้ากับแอปพลิเคชันที่มีอยู่
หมายเหตุ: บทความนี้ครอบคลุมการผสานรวมสําหรับแอป Android หากคุณใช้ Bubblewrap เพื่อสร้างแอปพลิเคชัน คุณจะใช้เครื่องมือนี้เพื่ออัปเดตแอปได้ การติดตั้งใช้งานใน Bubblewrap ได้รับการติดตามในปัญหานี้ คู่มือนี้มีไว้สําหรับผู้ที่ไม่ได้ใช้ Bubblewrap เพื่ออัปเดตแอป
build.gradle
ไลบรารีส่วนขยายการเรียกเก็บเงินจะขึ้นอยู่กับ android-browser-helper
เวอร์ชัน 2.1.0
ตรวจสอบว่าแอปพลิเคชันของคุณใช้เวอร์ชันที่เท่ากับหรือใหม่กว่าเวอร์ชันดังกล่าว
นอกจากนี้ คุณจะต้องเพิ่มประกาศการใช้งานสำหรับไลบรารีส่วนขยายการเรียกเก็บเงินด้วย โดยทำดังนี้
dependencies {
...
implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.1.0'
implementation 'com.google.androidbrowserhelper:billing:1.0.0-alpha05'
}
DelegationService.java
android-browser-helper มาพร้อมกับ DelegationService
เริ่มต้นที่แอปใช้ได้โดยตรง
เมื่อใช้ส่วนขยายการเรียกเก็บเงิน คุณต้องใช้ DelegationService
เวอร์ชันที่ปรับแต่งเล็กน้อย
โดยคุณจะต้องสร้างคลาส DelegationService
ของคุณเองที่ขยายคลาสเดิมและลบล้าง onCreate()
ใน onCreate()
คุณจะต้องเพิ่มการเรียกใช้เมธอดเดียวที่ลงทะเบียนแอปพลิเคชันเป็นเครื่องจัดการสำหรับ 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
ในไฟล์ Manifest ของ Android คุณจะต้องเปลี่ยนการอ้างอิงไปยังคลังการมอบสิทธิ์ที่ใช้ของคุณเอง ในประกาศ service
ที่เกี่ยวข้อง ให้แทนที่ com.google.androidbrowserhelper.trusted.DelegationService
ด้วยคลาสที่คุณสร้างขึ้นใหม่
<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>
นอกจากนี้ ไลบรารีการเรียกเก็บเงินยังมีองค์ประกอบใหม่ 2 อย่างที่จะต้องเพิ่มลงในไฟล์ Android Manifest ได้แก่ บริการที่เบราว์เซอร์เชื่อมต่อได้และตรวจสอบว่าแอปพลิเคชันรองรับการชำระเงินหรือไม่ และกิจกรรมที่จัดการขั้นตอนการชำระเงินเอง ดังนี้
<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 และ Google Play Billing
บทความนี้กล่าวถึงขั้นตอนที่จำเป็นในแอปพลิเคชัน Android ที่ใช้ Trusted Web Activity โดยเฉพาะ แต่ Google Play Billing API มีคำศัพท์เฉพาะของตนเอง รวมถึงคอมโพเนนต์ไคลเอ็นต์และแบ็กเอนด์ เราขอแนะนําอย่างยิ่งให้อ่านเอกสารประกอบของ Google Play Billing และ Digital Goods API รวมถึงทําความเข้าใจแนวคิดก่อนผสานรวมเข้ากับแอปพลิเคชันในเวอร์ชันที่ใช้งานจริง