उपयोगकर्ताओं को उनकी पसंद का बिलिंग सिस्टम चुनने का विकल्प देने के लिए, इन-ऐप्लिकेशन इंटिग्रेशन के दिशा-निर्देश

इस गाइड में बताया गया है कि अन्य बिलिंग सिस्टम के साथ अन्य बिलिंग सिस्टम उपलब्ध कराने के लिए, इन एपीआई को कैसे इंटिग्रेट किया जा सकता है उपयोगकर्ता की पसंद को प्राथमिकता देते हैं.

Play Billing Library का सेटअप

अपने Android ऐप्लिकेशन में, Play Billing Library की डिपेंडेंसी जोड़ें. टूल का इस्तेमाल करने के लिए अन्य बिलिंग सिस्टम के एपीआई, आपको 5.2 या इसके बाद के वर्शन का इस्तेमाल करना होगा. अगर आपको नए वर्शन से माइग्रेट करने के लिए, माइग्रेशन में दिए गए निर्देशों का पालन करें गाइड पढ़ें.

Google Play से कनेक्ट करना

इंटिग्रेशन की प्रोसेस में शुरुआती चरण वही हैं जिनकी जानकारी इसमें दी गई है Google Play Billing की इंटिग्रेशन गाइड पढ़ें. बिलिंग क्लाइंट का इस्तेमाल शुरू करना:

  • आपको यह बताने के लिए एक नया तरीका कॉल करना होगा कि उपयोगकर्ता को बिलिंग के विकल्प: enableUserChoiceBilling.
  • मामलों को हैंडल करने के लिए, आपको UserChoiceBillingListener रजिस्टर करना होगा जहां उपयोगकर्ता अन्य बिलिंग सिस्टम को चुनता है.

नीचे दिए गए उदाहरण में, इनके साथ BillingClient शुरू करने के बारे में बताया गया है संशोधन:

Kotlin

val purchasesUpdatedListener =
   PurchasesUpdatedListener { billingResult, purchases ->
       // Handle new Google Play purchase.
   }

val userChoiceBillingListener =
   UserChoiceBillingListener { userChoiceDetails ->
       // Handle alternative billing choice.
   }

var billingClient = BillingClient.newBuilder(context)
   .setListener(purchasesUpdatedListener)
   .enablePendingPurchases()
   .enableUserChoiceBilling(userChoiceBillingListener)
   .build()

Java

private PurchasesUpdatedListener purchasesUpdatedListener = new PurchasesUpdatedListener() {
    @Override
    public void onPurchasesUpdated(BillingResult billingResult, List<Purchase> purchases) {
        // Handle new Google Play purchase.
    }
};

private UserChoiceBillingListener userChoiceBillingListener = new UserChoiceBillingListener() {
    @Override
    public void userSelectedAlternativeBilling(
        UserChoiceDetails userChoiceDetails) {
        // Handle new Google Play purchase.
    }
};

private BillingClient billingClient = BillingClient.newBuilder(context)
    .setListener(purchasesUpdatedListener)
    .enablePendingPurchases()
    .enableUserChoiceBilling(userChoiceBillingListener)
    .build();

BillingClient शुरू करने के बाद, आपको इस डिवाइस से कनेक्ट करना होगा Google Play का इस्तेमाल करें.

उपलब्ध प्रॉडक्ट दिखाएं

उपयोगकर्ता को उपलब्ध प्रॉडक्ट की तरह ही दिखाए जा सकते हैं. इसके लिए Google Play के बिलिंग सिस्टम से इंटिग्रेशन. आपके उपयोगकर्ता ने प्रॉडक्ट कब देखे हैं खरीदने के लिए उपलब्ध है और किसी एक को खरीदने के लिए चुनता है, उपयोगकर्ता की पसंद का बिलिंग सिस्टम (यूज़र चॉइस बिलिंग) लॉन्च करें नीचे दिए गए सेक्शन में बताया गया है.

उपयोगकर्ता की पसंद का बिलिंग फ़्लो लॉन्च करना

launchBillingFlow() को कॉल करके, उपयोगकर्ताओं की पसंद का बिलिंग सिस्टम इस्तेमाल करने की सुविधा लॉन्च करें. यह तरीका काम करता है यह Google Play Billing सिस्टम से परचेज़ फ़्लो लॉन्च करने की तरह है इंटिग्रेशन: आप ProductDetails इंस्टेंस और offerToken उपलब्ध कराते हैं उस प्रॉडक्ट और ऑफ़र से जुड़ा हो जिसे उपयोगकर्ता हासिल करना चाहता है. अगर आपने जब उपयोगकर्ता Google Play के बिलिंग सिस्टम को चुनता है, तो इस जानकारी का इस्तेमाल इन कामों के लिए किया जाता है परचेज़ फ़्लो को जारी रखा जा सकता है.

जब डेवलपर launchBillingFlow() को कॉल करते हैं, तो Google Play का बिलिंग सिस्टम निम्न जांच करता है:

  • सिस्टम यह जांच करता है कि उपयोगकर्ता के Google Play खाते में दर्ज देश का नाम वह देश जो उपयोगकर्ता की पसंद के हिसाब से अन्य बिलिंग सिस्टम की सुविधा देता हो (यानी कि देश). अगर उपयोगकर्ता के देश में Google Play इस्तेमाल करने की सुविधा उपलब्ध है, तो Google Play इस बात की जांच करता है कि क्या अन्य बिलिंग सिस्टम को चालू करने के लिए, BillingClient.
    • अगर उपयोगकर्ता की पसंद के हिसाब से बिलिंग करने के अन्य विकल्प को चालू किया गया है, तो खरीदारी फ़्लो उपयोगकर्ता की पसंद का UX दिखाता है.
    • अगर लोगों को उनकी पसंद का बिलिंग सिस्टम इस्तेमाल करने की सुविधा चालू नहीं है, तो खरीदारी फ़्लो में, Google Play के बिलिंग सिस्टम का स्टैंडर्ड UX दिखाया जाता है. हालांकि, उपयोगकर्ता अनुभव को बेहतर नहीं बनाया जा सकता का विकल्प चुनें.
  • अगर उपयोगकर्ता के Google Play देश में यह सुविधा नहीं है, तो परचेज़ फ़्लो में, Google Play के बिलिंग सिस्टम के स्टैंडर्ड UX को दिखाया जाता है. हालांकि, इसमें उपयोगकर्ता अनुभव को शामिल नहीं किया जाता का विकल्प चुनें.

उपयोगकर्ता के Play देश में यह सुविधा उपलब्ध है

उपयोगकर्ता के Play देश में यह सुविधा उपलब्ध नहीं है

बिलिंग क् लाइंट सेटअप के दौरान कॉल किया जाने वाला उपयोगकर्ता के विकल्प से बिलिंग करने की सुविधा को चालू करें

उपयोगकर्ता को उपयोगकर्ता की पसंद का UX दिखता है

उपयोगकर्ता को Google Play के बिलिंग सिस्टम का स्टैंडर्ड उपयोगकर्ता अनुभव दिखता है

बिलिंग क्लायंट सेटअप करने के दौरान सक्षम करेंUserChoiceबिलिंग

उपयोगकर्ता को Google Play के बिलिंग सिस्टम का स्टैंडर्ड उपयोगकर्ता अनुभव दिखता है

उपयोगकर्ता को Google Play के बिलिंग सिस्टम का स्टैंडर्ड उपयोगकर्ता अनुभव दिखता है

उपयोगकर्ता की पसंद को मैनेज करना

परचेज़ फ़्लो को मैनेज करने का तरीका अलग-अलग होता है. यह इस बात पर निर्भर करता है कि उपयोगकर्ता ने Google Play के बिलिंग सिस्टम या किसी अन्य बिलिंग सिस्टम को चुना हो.

जब उपयोगकर्ता किसी अन्य बिलिंग सिस्टम को चुनता है

अगर उपयोगकर्ता कोई अन्य बिलिंग सिस्टम चुनता है, तो Google Play UserChoiceBillingListener को सूचना दें कि ऐप्लिकेशन को अन्य बिलिंग सिस्टम का परचेज़ फ़्लो. खास तौर पर, userSelectedAlternativeBilling() तरीका इस्तेमाल किया गया है.

UserChoiceDetails ऑब्जेक्ट में दिया गया बाहरी लेन-देन टोकन यह विकल्प, उपयोगकर्ता के पास बिलिंग के अन्य विकल्प को चुनने के लिए एक हस्ताक्षर दिखाता है फ़्लो. इस विकल्प से होने वाले किसी भी लेन-देन की शिकायत करने के लिए, इस टोकन का इस्तेमाल करें इसकी जानकारी बैकएंड इंटिग्रेशन गाइड में दी गई है.

UserChoiceBillingListener को ये कार्रवाइयां करनी चाहिए:

  • उपयोगकर्ता के खरीदे गए प्रॉडक्ट या प्रॉडक्ट पाएं, ताकि उन्हें अन्य बिलिंग सिस्टम में परचेज़ फ़्लो में दिखना चाहिए.
  • बाहरी ट्रांज़ैक्शन टोकन के तौर पर मिली स्ट्रिंग को इकट्ठा करें और इसे इस पते पर भेजें बनाए रखने के लिए अपने बैकएंड को भी बनाए रखें. इसका इस्तेमाल बाद में बाहरी Google Play से लेन-देन का मौका मिलता है.
  • डेवलपर की परचेज़ फ़्लो लॉन्च करना.

अगर उपयोगकर्ता किसी अन्य बिलिंग सिस्टम का इस्तेमाल करके खरीदारी पूरी करता है, तो Google Play डेवलपर को कॉल करके, Google Play को लेन-देन की शिकायत करनी होगी एपीआई की मदद से, अपने बैकएंड से 24 घंटे के अंदर एपीआई की मदद ले सकते हैं. externalTransactionToken और लेन-देन की अन्य जानकारी. ज़्यादा जानकारी के लिए, ज़्यादा जानकारी के लिए, बैकएंड इंटिग्रेशन गाइड देखें.

नीचे दिए गए उदाहरण में, UserChoiceBillingListener:

Kotlin

private val userChoiceBillingListener =
    UserChoiceBillingListener { userChoiceDetails ->
        // Get the products being purchased by the user.
        val products = userChoiceDetails.products

        // Send external transaction token to developer backend server
        // this devBackend object is for demonstration purposes,
        // developers can implement this step however best fits their
        // app to backend communication.
        devBackend.sendExternalTransactionStarted(
            userChoiceDetails.externalTransactionToken,
            user
        )

        // Launch alternative billing
        // ...
        // The developer backend handles reporting the transaction
        // to Google Play's backend once the alternative billing
        // purchase is completed.
    }

Java

private userChoiceBillingListener userChoiceBillingListener = new UserChoiceBillingListener() {
    @Override
    public void userSelectedAlternativeBilling(
           UserChoiceDetails userChoiceDetails) {
       // Get the products being purchased by the user.
       List<Product> products =
              userChoiceDetails.getProducts();

       // Send external transaction token to developer backend server
       // this devBackend object is for demonstration purposes,
       // developers can implement this step however best fits their
       // app to backend communication.
       devBackend.sendExternalTransactionStarted(
              userChoiceDetails.getExternalTransactionToken(),
              user
       );

       // Launch alternative billing
       // ...
       // The developer backend handles reporting the transaction
       // to Google Play's backend once the alternative billing
       // purchase is completed.
    }
};

जब उपयोगकर्ता, Google Play का बिलिंग सिस्टम चुनता है

अगर उपयोगकर्ता Google Play का बिलिंग सिस्टम चुनता है, तो वह Google Play से खरीदारी करते हैं.

  • ज़्यादा जानकारी के लिए, लाइब्रेरी इंटिग्रेशन गाइड में खरीदारी प्रोसेस करना लेख पढ़ें Google Play की डेवलपर इन-ऐप्लिकेशन खरीदारी को मैनेज करने के तरीके के बारे में जानकारी बिलिंग सिस्टम.
  • इनके लिए सदस्यता मैनेजमेंट गाइड में नई सदस्यताएं देखें सदस्यता की खरीदारी के लिए अतिरिक्त दिशा-निर्देश.

सदस्यता में होने वाले बदलावों को मैनेज करना

जो डेवलपर लोगों को उनकी पसंद के हिसाब से बिलिंग के लिए अन्य विकल्प उपलब्ध कराते हैं उनके लिए खरीदारी इतनी होनी चाहिए इन्हें Google Play के बिलिंग सिस्टम से प्रोसेस किया जाएगा या externalTransactionId, उपयोगकर्ता की पसंद के आधार पर. मौजूदा में बदलाव ऐसी सदस्यताएं जो लोगों की पसंद के फ़्लो के ज़रिए प्रोसेस की जाती थीं उसी बिलिंग सिस्टम के ज़रिए किया जा सकता है.

इस सेक्शन में, सदस्यता में बदलाव होने की कुछ आम स्थितियों को मैनेज करने का तरीका बताया गया है.

फ़्लो को अपग्रेड और डाउनग्रेड करना

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

मौजूदा सदस्यता पर निर्भर ऐड-ऑन, एक ही भुगतान विधि शेयर करते हैं, और अलाइन बार-बार लगने वाले शुल्क, अपग्रेड के तौर पर मैनेज किए जाते हैं. अन्य ऐड-ऑन के लिए, उपयोगकर्ता उसे अपनी पसंद का बिलिंग सिस्टम चुनने की सुविधा मिलनी चाहिए. नई मीटिंग शुरू करें आपको launchBillingFlow() का इस्तेमाल करके खरीदारी करने का अनुभव मिलेगा, जैसा कि उपयोगकर्ता की पसंद का बिलिंग फ़्लो.

किसी अन्य बिलिंग सिस्टम का इस्तेमाल करके खरीदी गई सदस्यताएं

उन सदस्यताओं के लिए जिन्हें मूल रूप से डेवलपर के ऐसा करने पर, उपयोगकर्ताओं को बिलिंग सिस्टम के किसी अन्य वर्शन को अपग्रेड करने का अनुरोध करना होगा या डाउनग्रेड करने के लिए, डेवलपर के अन्य बिलिंग सिस्टम का इस्तेमाल करें उसे पूरी तरह से इस्तेमाल किया जा सकता है.

ऐसा करने के लिए, launchBillingFlow() पर तब कॉल करें, जब उपयोगकर्ता डिवाइस को अपग्रेड करने या डाउनग्रेड करें. किसी SubscriptionUpdateParams ऑब्जेक्ट को पैरामीटर की मदद से, setOriginalExternalTransactionId का इस्तेमाल करें. मूल खरीदारी का ट्रांज़ैक्शन आईडी. इसमें उपयोगकर्ता को नहीं दिखाया जाता है विकल्प स्क्रीन, दी गई होने की वजह से मूल खरीदारी के लिए उपयोगकर्ता की पसंद को सुरक्षित रखा जाता है देखें. इस मामले में launchBillingFlow() को किया गया कॉल लेन-देन के लिए, बाहरी लेन-देन का नया टोकन जनरेट करता है कॉलबैक से वापस पाएं.

Kotlin

// The external transaction ID from the current
// alternative billing subscription.
val externalTransactionId = //... ;

val billingFlowParams = BillingFlowParams.newBuilder()
    .setProductDetailsParamsList(
        listOf(
            BillingFlowParams.ProductDetailsParams.newBuilder()
                // Fetched via queryProductDetailsAsync.
                .setProductDetails(productDetailsNewPlan)
                // offerIdToken can be found in
                // ProductDetails=>SubscriptionOfferDetails.
                .setOfferToken(offerTokenNewPlan)
                .build()
        )
    )
    .setSubscriptionUpdateParams(
        BillingFlowParams.SubscriptionUpdateParams.newBuilder()
            .setOriginalExternalTransactionId(externalTransactionId)
            .build()

val billingResult = billingClient.launchBillingFlow(activity, billingFlowParams)

// When the user selects the alternative billing flow,
// the UserChoiceBillingListener is triggered.

Java

// The external transaction ID from the current
// alternative billing subscription.
String externalTransactionId = //... ;

BillingFlowParams billingFlowParams =
        BillingFlowParams.newBuilder()
            .setProductDetailsParamsList(
                ImmutableList.of(
                    ProductDetailsParams.newBuilder()
                        // Fetched via queryProductDetailsAsync.
                        .setProductDetails(productDetailsNewPlan)
                        // offerIdToken can be found in
                        // ProductDetails=>SubscriptionOfferDetails
                        .setOfferToken(offerTokenNewPlan)
                    .build()
                )
            )
            .setSubscriptionUpdateParams(
                SubscriptionUpdateParams.newBuilder()
                    .setOriginalExternalTransactionId(externalTransactionId)
                    .build()
            )
            .build();

BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);

// When the user selects the alternative billing flow,
// the UserChoiceBillingListener is triggered.

किसी अन्य बिलिंग सिस्टम में अपग्रेड या डाउनग्रेड करने के बाद, आपको बाहरी लेन-देन टोकन का इस्तेमाल करके नए लेन-देन की शिकायत करनी होगी नई सदस्यता खरीदने के लिए पिछले कॉल के ज़रिए लिया गया था.

Google Play के बिलिंग सिस्टम से खरीदी गई सदस्यताएं

इसी तरह, ऐसे लोग जिन्होंने अपनी मौजूदा सदस्यता, Google Play के बिलिंग सिस्टम के तौर पर, उपयोगकर्ता की पसंद के हिसाब से अपग्रेड या डाउनग्रेड करने का फ़्लो दिखाया जाना चाहिए के लिए Google Play के बिलिंग सिस्टम में उपलब्ध है. ये निर्देश बताते हैं कि तो Google के ज़रिए अपग्रेड या डाउनग्रेड करने के लिए परचेज़ फ़्लो लॉन्च करेंगे Play का बिलिंग सिस्टम:

  1. नए प्लान के लिए, चुने गए ऑफ़र में से offerToken की पहचान करें:

val offerTokenNewPlan = productDetailsNewPlan
             .getSubscriptionOfferDetails(selectedOfferIndex)
             .getOfferToken()

String offerTokenNewPlan = productDetailsNewPlan
                     .getSubscriptionOfferDetails(selectedOfferIndex)
                     .getOfferToken();
  1. Google Play के बिलिंग सिस्टम को सही जानकारी भेजें, ताकि नई खरीदारी, जिसमें मौजूदा सदस्यता के खरीदारी टोकन शामिल हैं:

val billingFlowParams =
    BillingFlowParams.newBuilder().setProductDetailsParamsList(
        listOf(
            BillingFlowParams.ProductDetailsParams.newBuilder()
                .setProductDetails(productDetailsNewPlan)
                .setOfferToken(offerTokenNewPlan)
                .build()
        )
    )
    .setSubscriptionUpdateParams(
        BillingFlowParams.SubscriptionUpdateParams.newBuilder()
            .setOldPurchaseToken(oldToken)
            .setReplaceProrationMode(BillingFlowParams.ProrationMode.IMMEDIATE_AND_CHARGE_FULL_PRICE)
            .build()
        )
        .build()

BillingClient.launchBillingFlow(activity, billingFlowParams)

BillingFlowParams billingFlowParams =
        BillingFlowParams.newBuilder()
            .setProductDetailsParamsList(
                ImmutableList.of(
                    ProductDetailsParams.newBuilder()
                        // Fetched via queryProductDetailsAsync
                        .setProductDetails(productDetailsNewPlan)
                        // offerIdToken can be found in
                        // ProductDetails=>SubscriptionOfferDetails.
                        .setOfferToken(offerTokenNewPlan)
                        .build()
                )
            )
            .setSubscriptionUpdateParams(
                SubscriptionUpdateParams.newBuilder()
                    // purchaseToken can be found in
                    // Purchase#getPurchaseToken
                    .setOldPurchaseToken("old_purchase_token")
                    .setReplaceProrationMode(ProrationMode.IMMEDIATE_AND_CHARGE_FULL_PRICE)
                    .build()
            )
            .build();

BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);

यह खरीदारी, Google Play के बिलिंग सिस्टम से होगी और आपके ऐप्लिकेशन को PurchasesUpdatedListener.onPurchaseUpdated कॉल के नतीजे के साथ खरीदारी. अगर खरीदारी पूरी होती है, तो onPurchaseUpdated() तरीका भी को नई खरीदारी की जानकारी मिलती है और आपके बैकएंड को SUBSCRIPTION_PURCHASED डेवलपर से जुड़ी रीयल-टाइम सूचना. आइटम को फ़ेच करते समय नई खरीदारी की स्थिति, linkedPurchaseToken का एट्रिब्यूट पुराने डेटा से लिंक होता है ताकि आप उसे सेवा के पुराने तरीके से हमारा सुझाव है.

सदस्यताएं रद्द करना और उन्हें पहले जैसा करना

उपयोगकर्ता किसी भी समय अपनी सदस्यता रद्द कर सकते हैं. जब कोई उपयोगकर्ता सदस्यता को रद्द करता है, तो एनटाइटलमेंट को खत्म होने की प्रोसेस को इस समय तक टाला जा सकता है पैसे चुकाने की अवधि खत्म हो जाती है. उदाहरण के लिए, अगर कोई उपयोगकर्ता हर महीने की सदस्यता रद्द करता है हो सकता है कि वे महीने के बीच में आपको ऐक्सेस हटाए जाने में ~2 हफ़्ते बचे हैं. इस दौरान, सदस्यता अब भी तकनीकी तौर पर चालू है. इसलिए, उपयोगकर्ता सेवा का इस्तेमाल कर सकता है.

यह आम बात है कि उपयोगकर्ता इस दौरान रद्द किए गए ऑर्डर को वापस ले लेते हैं सक्रिय अवधि. इस गाइड में, इसे बहाली कहा गया है. नीचे दिए गए सेक्शन में बताया गया है कि आपके विकल्प में, वापस लाने की प्रोसेस की स्थितियों को कैसे मैनेज किया जाए बिलिंग एपीआई इंटिग्रेशन.

किसी अन्य बिलिंग सिस्टम का इस्तेमाल करके खरीदी गई सदस्यताएं

अगर आपके पास रद्द की गई सदस्यता के लिए बाहरी लेन-देन आईडी है, तो सदस्यता को पहले जैसा करने के लिए, launchBillingFlow() को कॉल करना ज़रूरी है. इसलिए, का इस्तेमाल इस तरह के ऐक्टिवेशन के लिए नहीं किया जाना चाहिए. अगर कोई उपयोगकर्ता अपनी रद्द की गई सदस्यता के चालू रहने के दौरान, कोई सदस्यता न हो ट्रांज़ैक्शन उस समय होता है; तो रिन्यूअल की रिपोर्ट भेजना जारी रखा जा सकता है मौजूदा साइकल खत्म हो जाता है और अगला रिन्यूअल होता है. इसमें ऐसे मामले शामिल हैं जहां सदस्यता को वापस पाने के लिए, उपयोगकर्ता को कोई क्रेडिट या रिन्यूअल की खास कीमत मिलती है (उदाहरण के लिए, उपयोगकर्ता को उनकी सदस्यता जारी रखने के लिए बढ़ावा देने वाला प्रमोशन).

Google Play के बिलिंग सिस्टम से खरीदी गई सदस्यताएं

आम तौर पर, उपयोगकर्ता Google Play के बिलिंग सिस्टम पर सदस्यताएं वापस पा सकते हैं. इसके लिए रद्द की गई ऐसी सदस्यताएं जिन्हें मूल रूप से Google Play के बिलिंग सिस्टम से खरीदा गया था तो उपयोगकर्ता सदस्यता रद्द किए जाने के समय को पहले जैसा कर सकता है. हालांकि, ऐसा तब ही किया जा सकता है, जब सदस्यता को Google Play की फिर से सदस्यता लें सुविधा की मदद से चालू किया जाना चाहिए. इस स्थिति में, आपको अपने इसमें SUBSCRIPTION_RESTARTED रीयल-टाइम डेवलपर सूचना पाएं बैकएंड से जुड़ी है और नया खरीदारी टोकन जारी नहीं किया गया है—मूल टोकन का इस्तेमाल किया गया है पर क्लिक करें. Google पर डेटा वापस पाने की सुविधा को मैनेज करने का तरीका जानने के लिए Play का बिलिंग सिस्टम, सदस्यता मैनेज करने वाले पेज पर वापस लाने की सुविधा देखें पढ़ें.

ऐप्लिकेशन से Google Play के बिलिंग सिस्टम में भी, डेटा वापस पाने की सुविधा शुरू की जा सकती है launchBillingFlow() पर कॉल करके. सदस्यता खत्म होने से पहले - देखें देखने के लिए उपलब्ध. ऐसे उपयोगकर्ताओं के मामले में जो उपयोगकर्ता की पसंद के फ़्लो से मिल जाता है (जिसे रद्द कर दिया गया था, लेकिन अभी भी सक्रिय है), तो सिस्टम अपने आप उनकी पसंद का पता लगाता है और इन खरीदारी को वापस लाने के लिए यूज़र इंटरफ़ेस. उनसे पुष्टि करने के लिए कहा जाता है फिर से खरीदने की ज़रूरत नहीं है. उपयोगकर्ता की पसंद के फ़्लो से दोबारा मेल खाते हैं. उपयोगकर्ता के लिए एक नया खरीदारी टोकन जारी किया जाता है मामले में शामिल है. आपके बैकएंड को SUBSCRIPTION_PURCHASED रीयल-टाइम में मिलेगा डेवलपर से जुड़ी सूचना और नई खरीदारी के लिए linkedPurchaseToken की वैल्यू स्टेटस वही सेट होता है जैसे पुरानी खरीदारी को अपग्रेड या डाउनग्रेड होता है रद्द कर दी गई है.

फिर से सदस्यताएं

अगर किसी सदस्यता की समयसीमा पूरी तरह से खत्म हो जाती है, तो सदस्यता रद्द करने की वजह से या खाता वापस पाने की प्रोसेस के बिना पेमेंट अस्वीकार कर दिया गया हो (खाते पर लगी रोक की समयसीमा खत्म हो चुकी हो), तो उपयोगकर्ता को फिर से सदस्यता लें. इसके लिए, एनटाइटलमेंट को फिर से चालू करना हो.

दोबारा सदस्यता लेने की सुविधा को ऐप्लिकेशन की मदद से भी चालू किया जा सकता है. ऐसा करने के लिए, सदस्यता को इनके जैसा ही प्रोसेस किया जा सकता है एक मानक साइनअप. लोगों के पास यह चुनने का विकल्प होना चाहिए कि उन्हें कौनसा बिलिंग सिस्टम चाहिए इस्तेमाल करें. इस मामले में, launchBillingFlow() को कॉल किया जा सकता है. इसके बारे में यहां बताया गया है यूज़र चॉइस बिलिंग फ़्लो को लॉन्च करना.

अन्य बिलिंग सिस्टम की जांच करें

लाइसेंस टेस्टर का इस्तेमाल, अन्य बिलिंग सिस्टम के इंटिग्रेशन की जांच करने के लिए किया जाना चाहिए. आपने लोगों तक पहुंचाया मुफ़्त में उन लेन-देन के लिए इनवॉइस नहीं भेजा जाएगा जो लाइसेंस टेस्टर ने किए हैं खाते. ज़्यादा जानकारी के लिए, ऐप्लिकेशन लाइसेंसिंग सिस्टम के साथ इन-ऐप्लिकेशन बिलिंग की जांच करना देखें लाइसेंस टेस्टर को कॉन्फ़िगर करने के बारे में जानकारी.

अगले चरण

इन-ऐप्लिकेशन इंटिग्रेशन के पूरा होने के बाद, आप अपने ऐप्लिकेशन बैकएंड.