นอกจากจะช่วยให้แอปของคุณขายสินค้าดิจิทัลและการสมัครใช้บริการใน 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-browser-helper เพื่อให้ผสานรวมกับแอป 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 รายการที่ต้องเพิ่มลงในไฟล์ Manifest ของ Android ด้วย ได้แก่ Service ที่เบราว์เซอร์เชื่อมต่อได้และตรวจสอบว่าแอปพลิเคชันรองรับการชำระเงินหรือไม่ และ Activity ที่จัดการขั้นตอนการชําระเงินเอง
<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
บทความนี้กล่าวถึงขั้นตอนที่จำเป็นในแอปพลิเคชัน Android ที่ใช้ Trusted Web Activity โดยเฉพาะ แต่ Google Play Billing API มีคำศัพท์เฉพาะของตนเอง รวมถึงคอมโพเนนต์ไคลเอ็นต์และแบ็กเอนด์ เราขอแนะนําอย่างยิ่งให้อ่านเอกสารประกอบของ Google Play Billing และ Digital Goods API รวมถึงทําความเข้าใจแนวคิดก่อนผสานรวมเข้ากับแอปพลิเคชันในเวอร์ชันที่ใช้งานจริง