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