علاوه بر اینکه به برنامه شما اجازه میدهد کالاهای دیجیتال و اشتراکها را در فروشگاه Play بفروشد، صورتحساب Google Play ابزارهایی را برای مدیریت کاتالوگ، قیمتها و اشتراکها، گزارشهای مفید و جریان پرداخت ارائه میدهد که توسط فروشگاه Play ارائه میشود که از قبل برای کاربران شما آشناست. همچنین برای برنامه های منتشر شده در Play Store که کالاهای دیجیتالی می فروشند، الزامی است.
Chrome 88 با نسخه آزمایشی مبدأ در Android راهاندازی میشود که امکان ادغام فعالیتهای وب مورد اعتماد را با API درخواست پرداخت و Digital Goods API برای پیادهسازی جریانهای خرید از طریق صورتحساب Google Play فراهم میکند. ما انتظار داریم که این نسخه آزمایشی اولیه برای ChromeOS در نسخه 89 نیز در دسترس باشد.
به منظور سهولت ادغام با برنامه Android، تیم Trusted Web Activity در حال معرفی یک کتابخانه افزونه به android-browser-helper است. این راهنما تغییرات مورد نیاز برای ادغام این کتابخانه در یک برنامه موجود را به شما نشان می دهد.
توجه: این مقاله ادغام برنامه اندروید را پوشش می دهد. اگر از 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-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
در Manifest Android، باید مرجع پیادهسازی خود را به Delegation Library تغییر دهید. در اعلامیه 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>
کتابخانه صورتحساب همچنین دو مؤلفه جدید را معرفی میکند که باید به Manifest Android شما اضافه شود: یک سرویس که مرورگر میتواند به آن متصل شود و بررسی کند که آیا برنامه از پرداخت پشتیبانی میکند یا خیر، و یک Activity که خود جریان پرداخت را مدیریت میکند:
<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 که از Trusted Web Activity استفاده میکند، پوشش میدهد، اما Google Play Billing API اصطلاحات خاص خود را دارد و شامل اجزای کلاینت و باطن است. ما اکیداً توصیه میکنیم اسناد صورتحساب Google Play و Digital Goods API را بخوانید و مفاهیم آن را قبل از ادغام آن در یک برنامه در تولید، درک کنید.