Ngoài việc cho phép ứng dụng của bạn bán hàng hoá kỹ thuật số và gói thuê bao trên Cửa hàng Play, Google Play Billing còn cung cấp các công cụ để quản lý danh mục, giá và gói thuê bao, các báo cáo hữu ích cũng như quy trình thanh toán do Cửa hàng Play cung cấp mà người dùng đã quen thuộc. Đây cũng là yêu cầu đối với các ứng dụng bán hàng hoá kỹ thuật số được phát hành trên Cửa hàng Play.
Chrome 88 sẽ ra mắt với tính năng Thử nghiệm theo nguyên gốc trên Android, cho phép tích hợp Hoạt động web đáng tin cậy với API Yêu cầu thanh toán và API Hàng hoá kỹ thuật số để triển khai quy trình mua hàng thông qua Google Play Billing. Chúng tôi dự kiến chương trình Thử nghiệm theo nguyên gốc này cũng sẽ được cung cấp cho ChromeOS phiên bản 89.
Để dễ dàng tích hợp vào ứng dụng Android, nhóm Hoạt động đáng tin cậy trên web sẽ ra mắt một thư viện tiện ích cho android-browser-helper. Hướng dẫn này sẽ cho bạn biết những thay đổi cần thiết để tích hợp thư viện này vào một ứng dụng hiện có.
Lưu ý: Bài viết này đề cập đến việc tích hợp cho ứng dụng Android. Nếu đang sử dụng Bubblewrap để tạo ứng dụng, bạn có thể sử dụng công cụ này để cập nhật ứng dụng. Quá trình triển khai trên Bubblewrap đang được theo dõi trong vấn đề này. Hướng dẫn này dành cho những người không sử dụng Bubblewrap để cập nhật ứng dụng.
build.gradle
Bản thân thư viện tiện ích thanh toán phụ thuộc vào phiên bản 2.1.0
của android-browser-helper
. Đảm bảo rằng ứng dụng của bạn đang sử dụng phiên bản bằng hoặc lớn hơn phiên bản đó.
Bạn cũng cần thêm nội dung khai báo triển khai cho thư viện tiện ích thanh toán:
dependencies {
...
implementation 'com.google.androidbrowserhelper:androidbrowserhelper:2.1.0'
implementation 'com.google.androidbrowserhelper:billing:1.0.0-alpha05'
}
DelegationService.java
android-browser-helper đi kèm với DelegationService
mặc định mà các ứng dụng có thể sử dụng trực tiếp.
Khi sử dụng tiện ích thanh toán, bạn cần một phiên bản DelegationService
được tuỳ chỉnh một chút.
Để làm việc đó, bạn cần tạo lớp DelegationService
của riêng mình để mở rộng lớp ban đầu và ghi đè onCreate()
. Bên trong onCreate()
, bạn sẽ cần thêm một lệnh gọi phương thức để đăng ký ứng dụng làm trình xử lý cho API Hàng hoá kỹ thuật số:
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
Trên Tệp kê khai Android, bạn sẽ cần thay đổi tệp tham chiếu đến Thư viện uỷ quyền mà bạn triển khai. Trong phần khai báo service
tương ứng, hãy thay thế com.google.androidbrowserhelper.trusted.DelegationService
bằng lớp mới tạo.
<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>
Thư viện thanh toán cũng giới thiệu hai thành phần mới cần được thêm vào Tệp kê khai Android: một Dịch vụ mà trình duyệt có thể kết nối và kiểm tra xem ứng dụng có hỗ trợ tính năng thanh toán hay không và một Hoạt động tự xử lý quy trình thanh toán:
<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>
Tìm hiểu thêm về API Hàng hoá kỹ thuật số và Google Play Billing
Bài viết này trình bày các bước cần thiết dành riêng cho ứng dụng Android sử dụng Hoạt động web đáng tin cậy, nhưng API Google Play Billing có thuật ngữ riêng và bao gồm các thành phần ứng dụng và phụ trợ. Bạn nên đọc tài liệu về Google Play Billing và API Hàng hoá kỹ thuật số cũng như tìm hiểu các khái niệm của API này trước khi tích hợp API vào ứng dụng chính thức.