ใช้ Play Billing ในกิจกรรมบนเว็บและเว็บที่เชื่อถือได้

นอกจากการอนุญาตให้แอปขายสินค้าดิจิทัลและการสมัครใช้บริการใน Play Store แล้ว Google Play Billing มีเครื่องมือสำหรับจัดการแคตตาล็อก ราคา และการสมัครใช้บริการ รายงาน และขั้นตอนการชำระเงินที่ขับเคลื่อนโดย Play Store ที่ผู้ใช้คุ้นเคยอยู่แล้ว ทั้งนี้ ยังเป็นข้อกำหนดสำหรับแอปพลิเคชันที่เผยแพร่ใน Play Store ที่ขายสินค้าดิจิทัลด้วย

Chrome 88 กำลังเปิดตัวโดยมีช่วงทดลองใช้จากต้นทางใน Android ซึ่งจะเปิดใช้การผสานรวม กิจกรรมบนเว็บที่เชื่อถือได้โดยใช้ Payment Request API และ Digital Goods API เพื่อ ใช้ขั้นตอนการซื้อผ่าน Google Play Billing เราคาดว่าช่วงทดลองใช้จากต้นทางนี้จะพร้อมให้บริการด้วย สำหรับ ChromeOS เวอร์ชัน 89

ทีมกิจกรรมบนเว็บที่เชื่อถือได้จะเปิดตัวเพื่อช่วยให้การผสานรวมกับแอป Android เป็นไปอย่างง่ายดาย ไลบรารีส่วนขยายไปยัง android-browser-helper คู่มือนี้จะแสดงการเปลี่ยนแปลงที่จำเป็น เพื่อผสานรวมไลบรารีนี้ กับแอปพลิเคชันที่มีอยู่แล้ว

หมายเหตุ: บทความนี้กล่าวถึงการผสานรวมสำหรับแอป 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 จะจัดส่งพร้อมด้วย 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>

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