بالإضافة إلى السماح لتطبيقك ببيع السلع الرقمية والاشتراكات على "متجر Play"، توفّر خدمة الفوترة في Google Play أدوات لإدارة الكتالوج والأسعار والاشتراكات، وهي مفيدة وعملية الدفع التي تتم من خلال "متجر Play" المألوفة للمستخدمين لديك. أُنشأها جون هنتر، الذي كان متخصصًا أيضًا التطبيقات المنشورة على "متجر Play" والتي تبيع سلعًا رقمية.
سيتم إطلاق Chrome 88 من خلال إصدار تجريبي المصدر على Android، ما يتيح دمج أنشطة الويب الموثوقة باستخدام Payment Request API وDigital Goods API من أجل تنفيذ مسارات الشراء من خلال خدمة "الفوترة في Google Play" نتوقع أن تكون النسخة التجريبية هذه متوفرة أيضًا. بالنسبة إلى نظام التشغيل ChromeOS الذي يعمل بالإصدار 89.
لتيسير التكامل مع تطبيق Android، قدم فريق نشاط الويب الموثوق به مكتبة الإضافات إلى android-browser-helper. سيعرض لك هذا الدليل التغييرات المطلوبة لدمج هذه المكتبة في تطبيق حالي.
ملاحظة: تتناول هذه المقالة عملية دمج تطبيق Android. في حال استخدام 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-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 الذي يستخدم Trusted Web. نشاط، لكنّ المصطلحات الخاصة بها في Google Play Billing API تشمل العميل والخلفية والمكونات. ننصحك بشدة بالاطّلاع على الفوترة في Google Play مستندات Digital Goods API وفهم مفاهيمها قبل دمجها في تطبيق في الإنتاج.