Google Wallet API का इस्तेमाल करके, Android पर पास बनाएं

1. परिचय

खास जानकारी

Google Wallet API का इस्तेमाल करके, कई तरह के पास का इस्तेमाल करके उपयोगकर्ताओं के साथ जुड़ा जा सकता है: लॉयल्टी कार्ड, ऑफ़र, उपहार कार्ड, इवेंट के टिकट, बस, मेट्रो वगैरह के टिकट, बोर्डिंग पास वगैरह. उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, हर तरह के पास या पास क्लास में इस्तेमाल के उदाहरण वाले खास फ़ील्ड और सुविधाएं मौजूद होती हैं.

हालांकि, ऐसा हो सकता है कि इस्तेमाल के हर उदाहरण के लिए ये तरीके सही न हों. अपनी पसंद के मुताबिक अनुभव पाने के लिए, सामान्य पास टाइप का इस्तेमाल किया जा सकता है. सामान्य पास टाइप के लिए, इस्तेमाल के कुछ उदाहरण यहां दिए गए हैं:

  • पार्किंग पास
  • लाइब्रेरी की सदस्यता वाले कार्ड
  • सेव किए गए पैसों के वाउचर
  • जिम की सदस्यता के कार्ड
  • बुकिंग

इस्तेमाल के ऐसे किसी भी उदाहरण के लिए, सामान्य पास का इस्तेमाल किया जा सकता है जिनके साथ ये चीज़ें दी जा सकती हैं:

  • जानकारी की ज़्यादा से ज़्यादा तीन पंक्तियां
  • (ज़रूरी नहीं) बारकोड ग्राफ़िक
  • (ज़रूरी नहीं) जानकारी का सेक्शन

Android पर काम करने वाला डिवाइस, जो 'Google Wallet में जोड़ें' के प्रावधान फ़्लो को दिखा रहा है

Google Wallet API के बारे में ज़्यादा जानकारी पाने या Android ऐप्लिकेशन में Google Wallet में जोड़ें बटन जोड़ने के लिए, कृपया Google Wallet डेवलपर दस्तावेज़ देखें.

क्लास और ऑब्जेक्ट पास करें

Google Wallet API, इन तरीकों को बनाने के बारे में जानकारी देता है:

टाइप

ब्यौरा

पास क्लास

निजी पास ऑब्जेक्ट के लिए टेंप्लेट. इसमें इस क्लास से जुड़े सभी पास ऑब्जेक्ट के लिए सामान्य जानकारी होती है.

ऑब्जेक्ट पास करें

पास क्लास का एक इंस्टेंस, जो किसी यूज़र आईडी के लिए यूनीक होता है.

इस कोडलैब (कोड बनाना सीखने के लिए ट्यूटोरियल) के बारे में जानकारी

इस कोडलैब में, ये टास्क पूरे किए जा सकते हैं.

  1. डेमो मोड में, जारी करने वाला नया खाता बनाएं
  2. पास जारी करने के लिए सेवा खाता बनाएं
  3. नई जेनरिक पास क्लास बनाएं
  4. नया पास ऑब्जेक्ट बनाएं
  5. पास सेव करने के लिए, Google Wallet में जोड़ें बटन बनाएं
  6. Android ऐप्लिकेशन में यह बटन दिखाना
  7. पास सेव करने के नतीजे को मैनेज करना

ज़रूरी शर्तें

  • Android Studio
  • Git
  • आपके पास ऐसा Google खाता होना चाहिए जिसके पास Google Cloud Console का ऐक्सेस हो
  • Node.js का 10 या उसके बाद का वर्शन

मकसद

इस कोडलैब को पूरा करने के बाद, ये काम किए जा सकते हैं:

  • अपने Android ऐप्लिकेशन में Google Wallet SDK टूल जोड़ना
  • देखें कि Android पर चलने वाले डिवाइस पर Google Wallet API उपलब्ध है या नहीं
  • Google Wallet में जोड़ें बटन बनाएं

सहायता

अगर कोडलैब में आपको किसी भी समय समस्या आ रही है, तो GitHub रिपॉज़िटरी में google-pay/wallet-android-codelab में जाकर, रेफ़रंस के लिए पूरा समाधान मौजूद होता है.

2. सेटअप

इस चरण में, आपको डेमो मोड में जारी करने वाला खाता बनाना होगा. इससे आपको पास क्लास और ऑब्जेक्ट बनाने में मदद मिलेगी, जिन्हें उपयोगकर्ता के वॉलेट में जोड़ा जा सकता है. इसके बाद, आपको Google Cloud प्रोजेक्ट और सेवा खाता बनाना होगा. इनका इस्तेमाल, प्रोग्राम के हिसाब से पास क्लास और ऑब्जेक्ट बनाने के लिए किया जाएगा. यह इस्तेमाल बिलकुल बैकएंड सर्वर की तरह ही किया जाएगा. आखिर में, आपको Google Cloud सेवा खाते को, Google Wallet जारी करने वाले खाते में पास मैनेज करने की अनुमति देनी होगी.

Google Wallet API जारी करने वाले के खाते के लिए साइन अप करें

Google Wallet के लिए पास बनाने और उन्हें डिस्ट्रिब्यूट करने के लिए, जारी करने वाला खाता होना ज़रूरी है. साइन अप करने के लिए Google Pay & Wallet Console. शुरुआत में, आपके पास डेमो मोड में पास बनाने का ऐक्सेस होगा. इसका मतलब है कि सिर्फ़ खास उपयोगकर्ता ही आपके बनाए गए पास जोड़ पाएंगे. टेस्ट उपयोगकर्ताओं को Google Pay और Wallet Console.

डेमो मोड के बारे में ज़्यादा जानकारी के लिए, सामान्य पास से जुड़ी शर्तें देखें.

  1. Google Pay और Wallet Console
  2. जारी करने वाला खाता बनाने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें
  3. Google Wallet API चुनें
  4. पुष्टि करें कि आपको सेवा की शर्तें और निजता नीति समझ आ गई है
  5. जारी करने वाले का आईडी की वैल्यू को टेक्स्ट एडिटर या किसी दूसरी जगह पर कॉपी करें
  6. मैनेज करें टैब में जाकर, टेस्ट खाते सेट अप करें को चुनें
  7. ऐसे सभी ईमेल पते जोड़ें जिनका इस्तेमाल आपको इस कोडलैब में करना है

Google Wallet API चालू करना

  1. Google Cloud Console में साइन इन करें
  2. अगर आपके पास पहले से कोई Google Cloud प्रोजेक्ट नहीं है, तो अभी एक प्रोजेक्ट बनाएं (ज़्यादा जानकारी के लिए प्रोजेक्ट बनाना और मैनेज करना देखें)
  3. अपने प्रोजेक्ट के लिए Google Wallet API (इसे Google Pay for Pass API भी कहा जाता है) चालू करें

सेवा खाता और कुंजी बनाना

Google Wallet API को कॉल करने के लिए, सेवा खाता और सेवा खाते की कुंजी ज़रूरी है. सेवा खाता वह पहचान है जिससे Google Wallet API को कॉल किया जाता है. सेवा खाते की कुंजी में एक निजी कुंजी होती है. यह आपके ऐप्लिकेशन की पहचान सेवा खाते के तौर पर करती है. यह कुंजी संवेदनशील है, इसलिए इसे गोपनीय रखें.

सेवा खाता बनाना

  1. Google Cloud Console में, सेवा खाते खोलें
  2. अपने सेवा खाते का नाम, आईडी, और जानकारी डालें
  3. बनाएं और जारी रखें को चुनें
  4. हो गया चुनें

सेवा खाते की कुंजी बनाना

  1. सेवा खाता चुनें
  2. KEYS मेन्यू चुनें
  3. कुंजी जोड़ें को चुनें. इसके बाद, नई कुंजी बनाएं को चुनें
  4. JSON कुंजी का टाइप चुनें
  5. बनाएं को चुनें

आपको अपने लोकल वर्कस्टेशन में कुंजी सेव करने के लिए कहा जाएगा. उसकी जगह की जानकारी याद रखें.

GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल सेट करें

सेवा खाते के तौर पर पुष्टि करने और Google Cloud प्रोजेक्ट के लिए अलग-अलग एपीआई ऐक्सेस करने के लिए, Google SDK टूल GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल का इस्तेमाल करता है.

  1. GOOGLE_APPLICATION_CREDENTIALS का एनवायरमेंट वैरिएबल सेट करने के लिए, Google Cloud सेवा खाते की कुंजियों से जुड़े दस्तावेज़ में दिए गए निर्देशों का पालन करें
  2. पक्का करें कि एनवायरमेंट वैरिएबल, किसी नए टर्मिनल (MacOS/Linux) या कमांड-लाइन (Windows) सेशन में सेट किया गया हो. अगर कोई सेशन पहले से खुला है, तो आपको नया सेशन शुरू करना पड़ सकता है
    echo $GOOGLE_APPLICATION_CREDENTIALS
    

सेवा खाते को अनुमति दें

आखिर में, आपको Google Wallet पास मैनेज करने के लिए, सेवा खाते को अनुमति देनी होगी.

  1. Google Pay और Wallet Console
  2. उपयोगकर्ता चुनें
  3. उपयोगकर्ता को न्योता भेजें चुनें
  4. सेवा खाते का ईमेल पता डालें (जैसे, test-svc@myproject.iam.gserviceaccount.com)
  5. ऐक्सेस लेवल ड्रॉप-डाउन मेन्यू से, डेवलपर या एडमिन चुनें
  6. न्योता भेजें चुनें

3. जेनेरिक पास क्लास बनाएं

इस चरण में आपको पास के लिए बेस क्लास बनानी होगी. जब भी किसी उपयोगकर्ता के लिए नया पास बनाया जाता है, तो वह पास क्लास में बताई गई प्रॉपर्टी को इनहेरिट कर लेता है.

इस कोडलैब के दौरान बनाई जाने वाली पास क्लास, सामान्य पास की सुविधा का इस्तेमाल करके, एक ऐसा ऑब्जेक्ट बनाती है जो पहचान बैज और चैलेंज पॉइंट ट्रैकर, दोनों के तौर पर काम करता हो. जब इस क्लास से कोई पास ऑब्जेक्ट बनाया जाता है, तो यह नीचे दिए गए ग्राफ़िक की तरह दिखेगा.

पास की क्लास सीधे Google Pay और Wallet Console में या Google Wallet API का इस्तेमाल करके ऐसा किया जा सकता है. इस कोडलैब में, एपीआई का इस्तेमाल करके जेनरिक पास क्लास बनाई जा सकती है. इस प्रोसेस को पूरा करने के लिए, एक निजी बैकएंड सर्वर का इस्तेमाल करके पास क्लास बनाई जाएंगी.

  1. google-pay/wallet-android-codelab GitHub रिपॉज़िटरी को अपने लोकल वर्कस्टेशन में क्लोन करें
    git clone https://github.com/google-pay/wallet-android-codelab.git
    
  2. अपने टर्मिनल या कमांड-लाइन प्रॉम्प्ट में, क्लोन किए गए रिपॉज़िटरी को खोलें
  3. backend डायरेक्ट्री पर जाएं. ये स्क्रिप्ट, बैकएंड सर्वर की कार्रवाइयों की नकल करती हैं
    cd backend
    
  4. Node.js डिपेंडेंसी इंस्टॉल करें
    npm install .
    
  5. backend डायरेक्ट्री में, generic_class.js खोलें
  6. issuerId की वैल्यू की जगह, Google Pay से मिला जारी करने वाला आईडी डालें वॉलेट कंसोल
    // TODO: Define Issuer ID
    let issuerId = 'ISSUER_ID';
    
  7. अपने टर्मिनल या कमांड-लाइन प्रॉम्प्ट में, generic_class.js स्क्रिप्ट
    node generic_class.js
    
    चलाएं

जब आपका कोड काम करेगा, तो यह एक नई पास क्लास बनाएगा और क्लास आईडी आउटपुट करेगा. क्लास आईडी, जारी करने वाले का आईडी होता है. इसके बाद, डेवलपर का तय किया गया सफ़िक्स होता है. इस मामले में, सफ़िक्स को codelab_class पर सेट कर दिया जाता है. क्लास आईडी 1234123412341234123.codelab_class की तरह दिखेगा. आउटपुट लॉग में, Google Wallet API से मिला रिस्पॉन्स भी शामिल होगा.

4. प्रोजेक्ट को Android Studio में खोलें

आपने GitHub डेटा स्टोर करने की जिस जगह को क्लोन किया है उसमें एक ऐसा Android प्रोजेक्ट है जिसमें कोई गतिविधि नहीं हुई है. इसके बाद, किसी प्रॉडक्ट पेज पर Google Wallet में जोड़ें बटन को शामिल करने के लिए, आपको इस गतिविधि में बदलाव करना होगा.

  1. Android Studio खोलना
  2. पहले फ़ाइल, फिर खोलें को चुनें
  3. रिपॉज़िटरी में android डायरेक्ट्री चुनें
  4. खोलें को चुनें

अपने ऐप्लिकेशन में Google Wallet SDK टूल जोड़ना

  1. मॉड्यूल-लेवल की Gradle बिल्ड फ़ाइल (android/app/build.gradle) खोलें
  2. dependencies सेक्शन
    // TODO: Add the "com.google.android.gms:play-services-pay" dependency to
    //       use the Google Wallet API
    implementation "com.google.android.gms:play-services-pay:16.0.3"
    
    में Google Wallet SDK टूल जोड़ें
  3. फ़ाइल सेव करें
  4. फ़ाइल चुनें. इसके बाद, Gradle फ़ाइलों के साथ प्रोजेक्ट सिंक करें चुनें

5. अपनी ऑडियंस के लिए 'Google Wallet में जोड़ें' बटन

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

'Google Wallet में जोड़ें' बटन

  1. एक नई लेआउट फ़ाइल बनाएं: app/src/main/res/layout/add_to_google_wallet_button.xml
  2. नई लेआउट फ़ाइल में नीचे दिया गया कॉन्टेंट जोड़ें
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="48sp"
        android:background="@drawable/add_to_google_wallet_button_background_shape"
        android:clickable="true"
        android:contentDescription="@string/add_to_google_wallet_button_content_description"
        android:focusable="true">
      <ImageView
          android:layout_width="227dp"
          android:layout_height="26dp"
          android:layout_gravity="center"
          android:duplicateParentState="true"
          android:src="@drawable/add_to_google_wallet_button_foreground" />
    </FrameLayout>
    
  3. चेकआउट गतिविधि की लेआउट फ़ाइल में add_to_google_wallet_button.xml लेआउट शामिल करें (app/src/main/res/layout/activity_checkout.xml)
    <!--
        TODO: Create the button under `add_to_google_wallet_button.xml`
              and include it in your UI
    -->
    <include
        android:id="@+id/addToGoogleWalletButton"
        layout="@layout/add_to_google_wallet_button"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_marginTop="10dp" />
    

6. देखें कि Google Wallet API उपलब्ध है या नहीं

अगर कोई उपयोगकर्ता ऐसे डिवाइस पर आपका ऐप्लिकेशन खोलता है जिस पर Google Wallet API काम नहीं करता, तो पास को जोड़ते समय उसे खराब अनुभव मिल सकता है. अगर उपयोगकर्ता के डिवाइस में Google Wallet API काम नहीं करता है, तो Google Wallet में जोड़ें बटन को छिपाने से, भ्रम की स्थिति पैदा नहीं होती. एपीआई के उपलब्ध न होने की कई वजहें हो सकती हैं. जैसे, Android या Google Play Services का पुराना वर्शन होना या उपयोगकर्ता के देश में Google Wallet का उपलब्ध न होना.

इस चरण में, अपने ऐप्लिकेशन में लॉजिक जोड़ें और देखें कि डिवाइस पर Google Wallet API उपलब्ध है या नहीं. अगर ऐसा है, तो बटन को ऐक्टिविटी में रेंडर किया जाएगा. अगर ऐसा नहीं है, तो बटन छिपा रहेगा.

  1. CheckoutActivity.kt फ़ाइल को app/src/main/java/com/google/android/gms/samples/wallet/activity/ में खोलें
  2. PayClient इंस्टेंस
    // TODO: Create a client to interact with the Google Wallet API
    private lateinit var walletClient: PayClient
    
    के लिए क्लास प्रॉपर्टी बनाएं
  3. PayClient प्रॉपर्टी को onCreate तरीके
    // TODO: Instantiate the client
    walletClient = Pay.getClient(this)
    
    में इंस्टैंशिएट करें
  4. ऐसा तरीका बनाएं जिससे यह पता चल सके कि डिवाइस पर Google Wallet SDK टूल और एपीआई उपलब्ध हैं या नहीं. साथ ही, इससे नतीजे को मैनेज किया जा सकता है
    // TODO: Create a method to check for the Google Wallet SDK and API
    private fun fetchCanUseGoogleWalletApi() {
      walletClient
        .getPayApiAvailabilityStatus(PayClient.RequestType.SAVE_PASSES)
        .addOnSuccessListener { status ->
          if (status == PayApiAvailabilityStatus.AVAILABLE)
            layout.passContainer.visibility = View.VISIBLE
        }
        .addOnFailureListener {
          // Hide the button and optionally show an error message
        }
    }
    
  5. यह देखने के लिए कि Google Wallet API उपलब्ध है या नहीं, onCreate तरीके में fetchCanUseGoogleWalletApi तरीके को कॉल करें
    // TODO: Check if the Google Wallet API is available
    fetchCanUseGoogleWalletApi()
    

ऐप्लिकेशन इस्तेमाल करने पर, अब आपको यूज़र इंटरफ़ेस (यूआई) में Google Wallet में जोड़ें बटन दिखेगा.

&#39;Google Wallet में जोड़ें&#39; बटन अब ऐप्लिकेशन गतिविधि में दिखता है

7. जेनरिक पास ऑब्जेक्ट बनाएं

आपने यह पुष्टि कर ली है कि Google Wallet API उपलब्ध है, इसलिए अब एक पास बनाया जा सकता है. साथ ही, उपयोगकर्ता से कहा जा सकता है कि वे उसे अपने Wallet में जोड़ लें. उपयोगकर्ताओं के लिए पास ऑब्जेक्ट बनाने के दो फ़्लो हैं.

बैकएंड सर्वर पर पास ऑब्जेक्ट बनाना

इस तरीके में, पास ऑब्जेक्ट बैकएंड सर्वर पर बनाया जाता है और क्लाइंट ऐप्लिकेशन पर, साइन किए गए JWT के तौर पर वापस भेजा जाता है. यह उन मामलों में सबसे सही है जहां उपयोगकर्ता ज़्यादा से ज़्यादा पेमेंट करते हैं, क्योंकि इससे यह पक्का हो जाता है कि उपयोगकर्ता के वॉलेट में जोड़ने से पहले ही ऑब्जेक्ट मौजूद है.

जब उपयोगकर्ता पास ऑब्जेक्ट को अपने Wallet में जोड़ता है, तब उसे बनाना

इस तरीके में, पास ऑब्जेक्ट को बैकएंड सर्वर पर, साइन किए गए JWT में तय किया जाता है और कोड में बदला जाता है. इसके बाद, Google Wallet में जोड़ें बटन को क्लाइंट ऐप्लिकेशन में रेंडर किया जाता है, जो कि JWT का रेफ़रंस होता है. जब उपयोगकर्ता बटन चुनता है, तो JWT का इस्तेमाल पास ऑब्जेक्ट बनाने के लिए किया जाता है. यह उन मामलों के लिए सबसे सही है जहां उपयोगकर्ता को स्वीकार करने की दर अलग-अलग हो या जिसके बारे में जानकारी न हो. ऐसा इसलिए, क्योंकि यह पास वाले ऑब्जेक्ट को बनने और इस्तेमाल न होने से रोकता है. इस तरीके का इस्तेमाल कोडलैब में किया जाएगा.

  1. backend/generic_pass.js फ़ाइल खोलें
  2. issuerId की वैल्यू की जगह, Google Pay से मिला जारी करने वाला आईडी डालें वॉलेट कंसोल
    // TODO: Define Issuer ID
    let issuerId = 'ISSUER_ID';
    
  3. अपने टर्मिनल या कमांड-लाइन प्रॉम्प्ट में, generic_pass.js फ़ाइल को चलाएं
    node generic_pass.js
    
  4. आउटपुट टोकन को क्लिपबोर्ड या टेक्स्ट एडिटर पर कॉपी करें

जब आपका कोड चलेगा, तो यह एक नया पास ऑब्जेक्ट तय करेगा और उसे JWT में एम्बेड करेगा. इसके बाद, JWT को उस सेवा खाता कुंजी से साइन किया जाता है जिसे आपने पहले बनाया था. यह Google Wallet API को किए गए अनुरोध की पुष्टि करता है, ताकि क्रेडेंशियल को Client ऐप्लिकेशन में सेव करने की ज़रूरत न हो.

प्रोडक्शन एनवायरमेंट के अलावा, JWT बनाने और उन्हें क्लाइंट को लौटाने की ज़िम्मेदारी आपके बैकएंड सिस्टम की होगी. इस कोडलैब में, generic_pass.js स्क्रिप्ट इस व्यवहार और "लौटने" को एम्युलेट करती है ऐसा टोकन जो आपको क्लाइंट ऐप्लिकेशन में इस्तेमाल करने के लिए दिया जाता है.

8. Google Wallet में पास की जानकारी जोड़ें

आपने यह पुष्टि कर ली है कि Google Wallet API उपलब्ध है और आपने हस्ताक्षर किया हुआ JWT बना लिया है. इसलिए, लोगों से कहें कि वे अपने Wallet में पास की जानकारी जोड़ें. इस चरण में, Google Wallet में जोड़ें बटन में लिसनर को जोड़ा जाएगा. यह बटन, उपयोगकर्ता के Wallet में पास को सेव करने के लिए, Google Wallet API का इस्तेमाल करता है.

  1. app/src/main/CheckoutActivity.kt फ़ाइल खोलें
  2. token की वैल्यू को पहले बनाए गए JWT से बदलें
    // TODO: Save the JWT from the backend "response"
    private val token = "TOKEN"
    
  3. अनुरोध कोड को स्टोर करने के लिए, क्लास प्रॉपर्टी बनाएं
    // TODO: Add a request code for the save operation
    private val addToGoogleWalletRequestCode = 1000
    
  4. Google Wallet में जोड़ें बटन
    // TODO: Set an on-click listener on the "Add to Google Wallet" button
    addToGoogleWalletButton = layout.addToGoogleWalletButton.
    
    addToGoogleWalletButton.setOnClickListener {
      walletClient.savePassesJwt(token, this, addToGoogleWalletRequestCode)
    }
    
    के लिए, लिसनर सेट करें

जब कोई उपयोगकर्ता Google Wallet में जोड़ें बटन को चुनता है, तो walletClient.savePassesJwt तरीका कॉल किया जाता है. इस तरीके से, उपयोगकर्ता को Google Wallet में नया पास ऑब्जेक्ट जोड़ने के लिए कहा जाता है.

9. मैनेज करें SavePassesJwt नतीजा

इस कोडलैब के आखिरी चरण में, आपको walletClient.savePassesJwt कार्रवाई के नतीजे को मैनेज करने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर करना होगा.

  1. app/src/main/CheckoutActivity.kt फ़ाइल खोलें
  2. इस कोड को शामिल करने के लिए, onActivityResult तरीके को बदलें
    // TODO: Handle the result
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
      super.onActivityResult(requestCode, resultCode, data)
    
      if (requestCode == addToGoogleWalletRequestCode) {
        when (resultCode) {
          RESULT_OK -> {
            // Pass saved successfully. Consider informing the user.
          }
    
          RESULT_CANCELED -> {
            // Save canceled
          }
    
          PayClient.SavePassesResult.SAVE_ERROR ->
            data?.let { intentData ->
              val errorMessage = intentData.getStringExtra(PayClient.EXTRA_API_ERROR_MESSAGE)
              // Handle error. Consider informing the user.
              Log.e("SavePassesResult", errorMessage.toString())
            }
    
          else -> {
            // Handle unexpected (non-API) exception
          }
        }
      }
    }
    

अब आपका ऐप्लिकेशन इन स्थितियों को मैनेज कर सकता है:

  • पास को जोड़ लिया गया
  • उपयोगकर्ता के पास रद्द करने की प्रक्रिया
  • अचानक हुई गड़बड़ियां

ऐप्लिकेशन चलाकर पुष्टि करें कि आपके पास पास की जानकारी जोड़ने और नतीजे को मैनेज करने की सुविधा है.

10. बधाई हो

जेनरिक पास ऑब्जेक्ट का उदाहरण.

बधाई हो, आपने Android पर Google Wallet API को सफलतापूर्वक इंटिग्रेट कर लिया है!

ज़्यादा जानें

google-pay/wallet-android-codelab GitHub रिपॉज़िटरी में पूरा इंटिग्रेशन देखें.

पास बनाएं और प्रोडक्शन के ऐक्सेस का अनुरोध करें

जब आप प्रोडक्शन में अपने पास जारी करने के लिए तैयार हों, तो Google Pay & Wallet Console के ज़रिए प्रोडक्शन ट्रैक के ऐक्सेस का अनुरोध करें और आपके Android ऐप्लिकेशन को अनुमति दें.

ज़्यादा जानकारी के लिए, Android SDK टूल से जुड़ी ज़रूरी शर्तें देखें.