पास की कैटगरी और ऑब्जेक्ट की खास जानकारी

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

Google Wallet API, पहले से तय की गई पास क्लास और पास ऑब्जेक्ट का एक सेट उपलब्ध कराता है. इन ऑब्जेक्ट के इंस्टेंस बनाए जाते हैं. इसके बाद, इसका इस्तेमाल उपयोगकर्ता को जारी किया जाने वाला पास बनाने के लिए किया जाता है. जैसे, GiftCardClass और GiftCardObject, GenericClass, GenericObject वगैरह.

हर पास क्लास और पास ऑब्जेक्ट इंस्टेंस को एक JSON ऑब्जेक्ट के तौर पर परिभाषित किया जाता है. इसमें ज़रूरी और वैकल्पिक प्रॉपर्टी का एक सेट होता है, जो उस पास टाइप के लिए इस्तेमाल के खास उदाहरण से जुड़ा होता है.

पास की क्लास

पास क्लास को एक शेयर किया गया टेंप्लेट मानें, जिसका इस्तेमाल एक या उससे ज़्यादा पास बनाने के लिए किया जाता है को जारी किया जाएगा. पास क्लास से उन प्रॉपर्टी के बारे में पता चलता है जिन्हें इसमें शामिल किया जाएगा की समीक्षा की जा सकती है.

उदाहरण के लिए, EventTicketClass के नीचे दिए गए इंस्टेंस में उन फ़ील्ड के बारे में बताया गया है जो आने वाले इवेंट(जगह, इवेंट, इवेंट जारी करने वाली कंपनी, तारीख/समय) के लिए जारी किए गए सभी टिकट के लिए सामान्य हैं.

{
  "id": "ISSUER_ID.EVENT_CLASS_ID",
  "issuerName": "[TEST ONLY] Heraldic Event",
  "localizedIssuerName": {
    "defaultValue": {
      "language": "en-US",
      "value": "[TEST ONLY] Heraldic Event"
    }
  },
  "eventName": {
    "defaultValue": {
      "language": "en-US",
      "value": "Google Live"
    }
  },
  "venue": {
    "name": {
      "defaultValue": {
        "language": "en-US",
        "value": "Shoreline Amphitheater"
      }
    },
    "address": {
      "defaultValue": {
        "language": "en-US",
        "value": "ADDRESS_OF_THE_VENUE"
      }
    }
  },
  "dateTime": {
    "start": "2023-04-12T11:30"
  },
  "reviewStatus": "UNDER_REVIEW"
}
  

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

ऑब्जेक्ट पास करता है

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

उदाहरण के लिए, जब Google Wallet API की मदद से इवेंट के टिकट का पास बनाया जाता है, तो EventTicketObject उदाहरण में, उस टिकट को असाइन की गई सीट की प्रॉपर्टी शामिल हैं, क्योंकि वे वैल्यू हर एक के लिए अलग-अलग होंगी टिकट जारी किया गया.

{
  "id": "ISSUER_ID.OBJECT_ID",
  "classId": "ISSUER_ID.EVENT_CLASS_ID",
  "state": "ACTIVE",
  "seatInfo": {
    "seat": {
      "defaultValue": {
        "language": "en-us",
        "value": "9"
      }
    },
    "row": {
      "defaultValue": {
        "language": "en-us",
        "value": "L"
      }
    },
    "section": {
      "defaultValue": {
        "language": "en-us",
        "value": "45"
      }
    },
    "gate": {
      "defaultValue": {
        "language": "en-us",
        "value": "7C"
      }
    }
  },
  "barcode": {
    "type": "BARCODE_TYPE_UNSPECIFIED",
    "value": "BARCODE_VALUE",
    "alternateText": ""
  }
}
  

पास ऑब्जेक्ट के हर इंस्टेंस के लिए, एक id प्रॉपर्टी की ज़रूरत होती है, जिसे आपने तय किया होता है. इस ऑब्जेक्ट का आईडी एक यूनीक आइडेंटिफ़ायर के तौर पर काम करता है. उपयोगकर्ता को पास जारी करते समय इसकी जानकारी दी जा सकती है.

पास की क्लास, पास ऑब्जेक्ट के साथ कैसे काम करती हैं

पास ऑब्जेक्ट को क्लास आईडी का रेफ़रंस देकर या पास क्लास की पूरी परिभाषा शामिल करके, पास क्लास के इंस्टेंस को बढ़ाना चाहिए. पास क्लास और पास ऑब्जेक्ट इंस्टेंस के बीच यह संबंध इसका मतलब है कि उन प्रॉपर्टी को सेट और अपडेट किया जा सकता है जो पास क्लास इंस्टेंस के ज़रिए जारी किए गए सभी पास के लिए सामान्य हैं, और पास ऑब्जेक्ट इंस्टेंस में किसी पास की यूनीक प्रॉपर्टी होती हैं.

उदाहरण के लिए, सामान्य इवेंट टिकट पास का नीचे दिया गया डायग्राम, शेयर किए गए EventTicketClass में तय किए गए फ़ील्ड और EventTicketObject में बताए गए किसी खास टिकट के फ़ील्ड को जोड़कर फ़ाइनल जारी किया गया पास बनाता है. ध्यान दें कि पास ऑब्जेक्ट की classId प्रॉपर्टी में पास क्लास के आईडी का रेफ़रंस कैसे दिया जाता है.

पास क्लास के इंस्टेंस में किए गए बदलाव, सभी पास ऑब्जेक्ट इंस्टेंस में तुरंत लागू हो जाएंगे बताया गया है. आप पास की क्लास के इंस्टेंस में जो भी बदलाव करेंगे, वह उपयोगकर्ताओं को दिखेगा सिंक करने पर, उनके Google Wallet ऐप्लिकेशन में सेव किए गए पास की जानकारी भी सेव की जा सकती है.

उपयोगकर्ता के Google Wallet में पास की जानकारी जोड़ना

उपयोगकर्ता के Google Wallet में पास जोड़ने के लिए, आपको ऐसा JSON वेब टोकन (JWT) बनाना होता है जिसमें दावे शामिल हों आपको (जारी करने वाला) पास ऑब्जेक्ट इंस्टेंस के बारे में जानकारी दे रहा है, जो उपयोगकर्ता के Google Wallet में सेव किया जाएगा - सबसे ज़रूरी बात, उपयोगकर्ता को जारी किए जा रहे पास ऑब्जेक्ट इंस्टेंस का ऑब्जेक्ट आईडी. द जेडब्लयूटी उसके बाद, Google Wallet में जोड़ें बटन या Google Wallet में जोड़ें बटन की मदद से, उपयोगकर्ता को वह जानकारी डिलीवर की जाती है लिंक.

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

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