আপনার বিশ্বস্ত ওয়েব কার্যকলাপে প্লে বিলিং ব্যবহার করুন৷

আপনার অ্যাপকে প্লে স্টোরে ডিজিটাল পণ্য এবং সদস্যতা বিক্রি করার অনুমতি দেওয়ার পাশাপাশি, Google Play বিলিং আপনার ক্যাটালগ, মূল্য এবং সদস্যতা, দরকারী প্রতিবেদন এবং Play Store দ্বারা চালিত একটি চেকআউট ফ্লো পরিচালনা করার জন্য টুল অফার করে যা আপনার ব্যবহারকারীদের কাছে ইতিমধ্যেই পরিচিত৷ প্লে স্টোরে প্রকাশিত অ্যাপ্লিকেশনগুলির জন্যও এটি একটি প্রয়োজনীয়তা যা ডিজিটাল পণ্য বিক্রি করে৷

Chrome 88 Android-এ একটি অরিজিন ট্রায়ালের সাথে লঞ্চ করছে যা Google Play বিলিং-এর মাধ্যমে ক্রয় প্রবাহ বাস্তবায়নের জন্য অর্থপ্রদানের অনুরোধ API এবং Digital Goods API-এর সাথে বিশ্বস্ত ওয়েব অ্যাক্টিভিটিগুলির একীকরণকে সক্ষম করে৷ আমরা আশা করি এই অরিজিন ট্রায়ালটি 89 সংস্করণে ChromeOS-এর জন্যও উপলব্ধ হবে।

Android অ্যাপে ইন্টিগ্রেশন সহজ করার জন্য, বিশ্বস্ত ওয়েব অ্যাক্টিভিটি টিম android-browser-helper- এ একটি এক্সটেনশন লাইব্রেরি প্রবর্তন করছে৷ এই গাইডটি আপনাকে এই লাইব্রেরিটিকে একটি বিদ্যমান অ্যাপ্লিকেশনে একীভূত করার জন্য প্রয়োজনীয় পরিবর্তনগুলি দেখাবে।

দ্রষ্টব্য: এই নিবন্ধগুলি অ্যান্ড্রয়েড অ্যাপের জন্য ইন্টিগ্রেশন কভার করে। আপনি যদি আপনার অ্যাপ্লিকেশন তৈরি করতে 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() ভিতরে, আপনাকে একটি একক পদ্ধতি কল যোগ করতে হবে যা অ্যাপ্লিকেশনটিকে ডিজিটাল গুডস 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

অ্যান্ড্রয়েড ম্যানিফেস্টে, আপনাকে আপনার নিজস্ব বাস্তবায়ন প্রতিনিধি লাইব্রেরির রেফারেন্স পরিবর্তন করতে হবে। সংশ্লিষ্ট 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>

বিলিং লাইব্রেরি দুটি নতুন উপাদানও প্রবর্তন করে যা আপনার অ্যান্ড্রয়েড ম্যানিফেস্টে যোগ করতে হবে: একটি পরিষেবা যা ব্রাউজার সংযুক্ত করতে পারে এবং অ্যাপ্লিকেশনটি অর্থপ্রদান সমর্থন করে কিনা তা পরীক্ষা করতে পারে এবং একটি কার্যকলাপ যা অর্থপ্রবাহকে নিজেই পরিচালনা করে:

<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 বিলিং API এর নিজস্ব পরিভাষা রয়েছে এবং এতে ক্লায়েন্ট এবং ব্যাকএন্ড উপাদান অন্তর্ভুক্ত রয়েছে। আমরা দৃঢ়ভাবে Google Play বিলিং এবং ডিজিটাল গুডস এপিআই ডকুমেন্টেশন পড়ার এবং প্রোডাকশনের একটি অ্যাপ্লিকেশনে এটিকে একীভূত করার আগে এর ধারণাগুলি বোঝার সুপারিশ করছি।