除了允許應用程式在 Play 商店中販售數位商品和訂閱項目外, Google Play 帳款服務提供實用工具,協助您管理目錄、價格和訂閱項目, 以及採用 Play 商店技術支援的結帳流程。這項服務 在 Play 商店上發布販售數位商品的應用程式,也必須遵循這項規定。
Chrome 88 將推出 Android 上的來源試用,藉此整合 使用 Payment Request API 和 Digital Goods API 的 Trusted Web 活動, 導入購買流程我們希望這項來源試用方案也能提供 。
為簡化 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-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
在 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>
帳款服務程式庫也會導入兩個需要新增至 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 帳款服務
本文特別介紹採用「可信任網路」的 Android 應用程式需要執行的步驟 活動,但 Google Play Billing API 有專屬術語,並包含用戶端和後端 元件。強烈建議您參閱 Google Play 帳款服務和 Digital Goods API 的說明文件和概念,再整合至 應用程式。