भरोसेमंद वेब गतिविधि में Play Billing का इस्तेमाल करें

अपने ऐप्लिकेशन को Play Store पर डिजिटल प्रॉडक्ट और सदस्यताएं बेचने की अनुमति देने के अलावा, Google Play Billing के ज़रिए कैटलॉग, कीमतों, और सदस्यताओं को मैनेज करने के लिए टूल उपलब्ध हैं. ये टूल काम के हैं रिपोर्ट और Play Store की ओर से चेकआउट फ़्लो की सुविधा होती है, जो आपके उपयोगकर्ताओं के लिए पहले से जानी-पहचानी है. यह भी Play Store पर पब्लिश किए जाने वाले उन ऐप्लिकेशन के लिए ज़रूरी है जो डिजिटल प्रॉडक्ट बेचते हैं.

Chrome 88 को Android पर ऑरिजिन ट्रायल के साथ लॉन्च किया जा रहा है. इससे पेमेंट के अनुरोध वाले एपीआई और डिजिटल सामान के एपीआई के साथ, इन कामों के लिए भरोसेमंद वेब गतिविधियां Google Play Billing की मदद से परचेज़ फ़्लो लागू करें. हमें उम्मीद है कि ऑरिजिन ट्रायल की सुविधा भी उपलब्ध होगी के लिए आज़माएं.

Android ऐप्लिकेशन में इंटिग्रेशन को आसान बनाने के लिए, भरोसेमंद वेब गतिविधि टीम पेश कर रही है android-browser-helper के लिए एक्सटेंशन लाइब्रेरी. इस गाइड में आपको ज़रूरी बदलाव करने के बारे में जानकारी मिलेगी इस लाइब्रेरी को मौजूदा ऐप्लिकेशन के साथ इंटिग्रेट करने के लिए.

ध्यान दें: इस लेख में Android ऐप्लिकेशन के इंटिग्रेशन के बारे में बताया गया है. अगर आप इसका इस्तेमाल कर रहे हैं, तो 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-ब्राउज़र-helper, डिफ़ॉल्ट DelegationService के साथ भेजता है. इसका इस्तेमाल ऐप्लिकेशन सीधे तौर पर कर सकते हैं. बिलिंग एक्सटेंशन का उपयोग करते समय, आपको DelegationService.

ऐसा करने के लिए, आपको अपनी खुद की DelegationService क्लास बनानी होगी, जो मूल कॉपी होती है और onCreate() को ओवरराइड करती है. onCreate() में, आपको एक कॉलम जोड़ना होगा वह कॉल जो ऐप्लिकेशन को Digital चीज़ें 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>

डिजिटल गुड्स एपीआई और Google Play बिलिंग के बारे में ज़्यादा जानें

इस लेख में, भरोसेमंद वेब का इस्तेमाल करने वाले Android ऐप्लिकेशन के लिए ज़रूरी चरणों के बारे में बताया गया है गतिविधि के बारे में जानकारी मौजूद है, लेकिन Google Play Billing API की अपनी शब्दावली है. साथ ही, इसमें क्लाइंट और बैकएंड शामिल हैं कॉम्पोनेंट. हमारा सुझाव है कि आप Google Play Billing और डिजिटल प्रॉडक्ट एपीआई से जुड़े दस्तावेज़ और इसके सिद्धांतों को समझने के बाद ही, आवेदन किया जा सकता है.