पुश नोटिफ़िकेशन ट्रिगर करें

सूचना के टाइप

संदेश जोड़ें और सूचित करें

बैकग्राउंड

जब कोई उपयोगकर्ता पास जोड़ता है, तो हो सकता है कि आप उसे पास से जुड़ा मैसेज भेजना चाहें. इससे यह पक्का किया जा सकता है कि उसे पास के बारे में सूचना मिल जाए. Add Message API के अनुरोध का इस्तेमाल करके, message_type को TEXT_AND_NOTIFY के बराबर करने पर, यह होता है:

  1. "पास के पीछे" (जिसे जानकारी वाला टेंप्लेट भी कहा जाता है) में "मैसेज" आइटम जोड़ा जाता है. साथ ही, पास सेव करने वाले उपयोगकर्ताओं को एक पुश नोटिफ़िकेशन भेजा जाता है.
  2. जब उपयोगकर्ता इस सूचना पर टैप करता है, तो Google Wallet, पास के सामने (जिसे कार्ड व्यू भी कहा जाता है) खुल जाता है. साथ ही, उपयोगकर्ता को स्क्रीन पर सबसे ऊपर एक कॉलआउट दिखेगा, जिसमें "मैसेज देखें" बटन होगा.
  3. कॉलआउट पर क्लिक करने से, उपयोगकर्ता पास के पिछले पेज पर पहुंच जाएंगे. यहां नए और बिना पढ़े मैसेज हाइलाइट किए गए होते हैं.

उपयोगकर्ताओं को सूचनाओं के साथ मैसेज भेजते समय ध्यान रखने वाली कुछ बातें

  • मैसेज से जुड़ी पुश सूचनाएं पाने के लिए, उपयोगकर्ताओं को अपने पास के लिए सूचनाएं चालू करनी होंगी.
  • मैसेज में आपकी वेबसाइट या ऐप्लिकेशन के यूआरआई शामिल हो सकते हैं. हाइपरलिंक, पास से जुड़ी वेबसाइट या ऐप्लिकेशन के होने चाहिए. लोगों को पास से जुड़े लिंक के बजाय, दूसरे लिंक पर भेजना, स्वीकार किए जाने वाले इस्तेमाल की नीति का उल्लंघन है.
  • 24 घंटे में, पुश नोटिफ़िकेशन को ट्रिगर करने वाले ज़्यादा से ज़्यादा तीन मैसेज भेजे जा सकते हैं. अगर Google को लगता है कि आपके ऐप्लिकेशन से उपयोगकर्ताओं को स्पैम भेजा जा रहा है, तो वह पुश नोटिफ़िकेशन डिलीवरी के कोटे को कम कर सकता है.
  • लोगों को अपनी लॉक स्क्रीन पर दिखने वाला पुश नोटिफ़िकेशन, Google Wallet से कंट्रोल किया जाता है.
  • सामान्य क्लास या ऑब्जेक्ट एंडपॉइंट का इस्तेमाल करके, मैसेज डेटा में बदलाव करने या उसे हटाने के लिए, UPDATE या PATCH तरीकों का इस्तेमाल किया जा सकता है.

इंटिग्रेशन का तरीका

अगर आपको AddMessage API का इस्तेमाल करके, जारीकर्ता के जोड़े गए नए मैसेज के बारे में उपयोगकर्ताओं को सूचना देनी है, तो आपको AddMessageRequest को अपडेट करना होगा. इससे, आपके नए टेक्स्ट वाले मैसेज में MessageType के तौर पर TEXT के बजाय TEXT_AND_NOTIFY दिखेगा.

पास की क्लास में मैसेज जोड़ने और सूचना देने के लिए JSON अनुरोध का उदाहरण

  
  "id": ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Class message header",
        "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  

Passes ऑब्जेक्ट में मैसेज जोड़ने और सूचना देने के लिए JSON अनुरोध का उदाहरण

  
  "id": OBJECT_ID",
  "classId": "ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Object message header",
        "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  

पास क्लास के लिए मैसेज जोड़ने और सूचना देने के Response का उदाहरण

  // The updated resource
      {
      "kind": "walletobjects#walletObjectMessage",
      "header": "My Object message header",
      "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
      "id": "message_id",
      "messageType": "textAndNotify"
    },
  

अपवाद मैनेज करना

अगर तीन बार से ज़्यादा सूचना भेजने की कोशिश की जाती है, तो आपको QuotaExceededException कोड वाला जवाब मिलेगा. पास में कोई और अपडेट करने के लिए, "TEXT_AND_NOTIFY" के बजाय "TEXT" का इस्तेमाल किया जा सकता है. इस बारे में इंटिग्रेशन के चरणों में बताया गया है.

फ़ील्ड अपडेट करना और सूचना देना

बैकग्राउंड

जब कोई उपयोगकर्ता पास जोड़ता है, तो हो सकता है कि आप कुछ फ़ील्ड अपडेट करने पर पुश नोटिफ़िकेशन ट्रिगर करना चाहें. यह सूचना, उपयोगकर्ता की लॉक स्क्रीन पर दिखेगी. इसमें उन्हें बताया जाएगा कि उनके पासपोर्ट में बदलाव हुआ है. यह सूचना, सिर्फ़ उन फ़ील्ड के किसी खास सबसेट के लिए ट्रिगर होगी जिन्हें यहां बताया गया है. इसके लिए, UPDATE और PATCH एपीआई के तरीकों का इस्तेमाल किया जाएगा. पास को अपडेट करने के लिए एपीआई कॉल करने के बाद, ये काम किए जाते हैं:

  1. पुश नोटिफ़िकेशन ट्रिगर होता है और उपयोगकर्ता की लॉक स्क्रीन पर दिखता है. इससे उन्हें पास के अपडेट के बारे में जानकारी मिलती है.
  2. जब उपयोगकर्ता सूचना पर टैप करता है, तो पास के सामने Google Wallet (इसे कार्ड व्यू भी कहते हैं) खुल जाता है. इसके बाद, उपयोगकर्ता को स्क्रीन पर सबसे ऊपर एक "अपडेट देखें" बटन के साथ एक कॉलआउट दिखेगा.
  3. बटन पर क्लिक करने से उपयोगकर्ता ऐसी स्क्रीन पर पहुंच जाता है जहां वह उन फ़ील्ड को देख सकता है जिन्हें अपडेट से बदला गया है.

फ़ील्ड अपडेट की सूचनाएं भेजते समय इन बातों का ध्यान रखें

  • अपडेट से जुड़ी पुश सूचनाएं पाने के लिए, उपयोगकर्ताओं को अपने पास के लिए सूचनाएं चालू करनी होंगी.
  • 24 घंटे में, पुश नोटिफ़िकेशन ट्रिगर करने वाले ज़्यादा से ज़्यादा तीन अपडेट भेजे जा सकते हैं. अगर Google को लगता है कि आपके ऐप्लिकेशन से उपयोगकर्ताओं को स्पैम भेजा जा रहा है, तो वह पुश नोटिफ़िकेशन डिलीवरी के कोटे को कम कर सकता है.
  • उपयोगकर्ताओं को लॉक स्क्रीन पर दिखने वाली पुश सूचना को Google Wallet कंट्रोल करता है.
  • notifyPreference फ़ील्ड एक अस्थायी फ़ील्ड होता है, जो सिर्फ़ इस अनुरोध पर मौजूद होता है. आने वाले समय में, किसी सूचना को ट्रिगर करने के अनुरोध के लिए, आपको क्लास या ऑब्जेक्ट के अनुरोध पर इस फ़ील्ड को रीसेट करना होगा.

इंटिग्रेशन का तरीका

इन सूचनाओं को ट्रिगर करने के लिए, आपको मौजूदा UPDATE या PATCH कॉल का इस्तेमाल करना होगा और notifyPreference की जानकारी देनी होगी. किसी क्लास या ऑब्जेक्ट पर फ़ील्ड अपडेट करते समय, सूचना को ट्रिगर करने के लिए, क्लास या ऑब्जेक्ट के अनुरोध में नया फ़ील्ड, notifyPreference जोड़ा जा सकता है.

क्लास में अपडेट करने और सूचना देने के लिए JSON अनुरोध का उदाहरण

    …
    "dateTime":
        {
            "kind": "walletobjects#eventDateTime",
            "doorsOpen": "2024-09-23T19:20:50.00"
        },
    "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
    "notifyPreference": "notifyOnUpdate",
    …
  

notifyPreference को notifyOnUpdate पर सेट करने पर, सूचना ट्रिगर होगी. हालांकि, ऐसा तब ही होगा, जब अपडेट किया गया फ़ील्ड फ़िलहाल काम कर रहा हो.

इस्तेमाल किए जा सकने वाले फ़ील्ड

EventTicketClass
  • eventName
  • eventVenue.name
  • eventvenue.address
  • eventDateTime.doorsOpen
  • eventDateTime.start
EventTicketObject
  • eventSeat.seat
  • eventSeat.row
  • eventSeat.section
  • eventSeat.gate