اعلانهای فشاری را فعال کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اعلانهای راهاندازی شده توسط شریک
پیام اضافه کنید و اطلاع دهید
پس زمینه
پس از اینکه کاربر یک گذرنامه اضافه کرد، ممکن است بخواهید برای او پیامی مربوط به گذرنامه ارسال کنید و مطمئن شوید که در مورد آن مطلع شده است. با استفاده از درخواست Add Message API با message_type
برابر با TEXT_AND_NOTIFY
موارد زیر رخ می دهد:
- یک مورد " پیام " به "پشت پاس" (معروف به الگوی جزئیات ) اضافه می شود و یک اعلان فشار برای کاربران با ذخیره پاس ارسال می شود.
- هنگامی که کاربر بر روی اعلان ضربه می زند، Google Wallet را در جلوی پاس باز می کند (معروف به نمای کارت) و کاربر یک فراخوانی را در بالای صفحه با دکمه "مشاهده پیام" می بیند.
- با کلیک کردن بر روی فراخوانی، کاربران به پشت گذرنامه میبرند، جایی که پیامهای خوانده نشده جدید برجسته میشوند.
برخی از ملاحظات هنگام ارسال پیام همراه با اعلان به کاربران
- برای دریافت اعلانهای فشار مربوط به پیامها، کاربران باید اعلانها را برای پاس خود فعال کنند.
- پیام ها ممکن است حاوی URI به وب سایت یا برنامه شما باشند. هایپرلینک ها باید یک وب سایت یا برنامه مرتبط با پاس باشد. ارسال کاربران به پیوندهایی که به گذرنامه مرتبط نیستند، نقض خط مشی استفاده قابل قبول است.
- شما می توانید حداکثر 3 پیام ارسال کنید که باعث ایجاد یک اعلان فشار در یک دوره 24 ساعته شود. اگر فکر کند که شما در حال ارسال هرزنامه به کاربران خود هستید، ممکن است Google سهمیه ارسال اعلان فشار شما را کاهش دهد.
- Push notification که کاربران روی صفحه قفل خود می بینند توسط Google Wallet کنترل می شود.
- میتوانید از روشهای UPDATE یا PATCH برای ویرایش یا حذف دادههای پیام با استفاده از نقطه پایانی کلاس یا شی معمولی استفاده کنید.
مراحل ادغام
هنگامی که می خواهید کاربران را در مورد پیام صادرکننده جدیدی که با استفاده از AddMessage API اضافه شده است مطلع کنید، باید AddMessageRequest را به روز کنید تا پیام حاوی متن جدید شما به جای TEXT، MessageType 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"
},
…
مثال درخواست JSON برای افزودن پیام و اطلاع رسانی در یک Object Passes
…
"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"
},
…
نمونه پاسخ برای افزودن پیام و اطلاع رسانی برای کلاس پاس
// 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"
},
…
رسیدگی به استثنا
هر گونه تلاش برای اطلاع رسانی بیش از 3 بار، پاسخ QuotaExceededException را به همراه خواهد داشت. هر گونه به روز رسانی بیشتر برای پاس را می توان با استفاده از " TEXT " به جای " TEXT_AND_NOTIFY " همانطور که در مراحل ادغام مورد بحث قرار گرفت، تنظیم کرد.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eTEXT_AND_NOTIFY\u003c/code\u003e\u003c/strong\u003e message type adds a message to the pass's details and triggers a push notification, directing users to the message in Google Wallet.\u003c/p\u003e\n"],["\u003cp\u003eUsers must have notifications enabled for their passes to receive these push notifications.\u003c/p\u003e\n"],["\u003cp\u003eA maximum of 3 notification-triggering messages can be sent within a 24-hour period to avoid spamming users.\u003c/p\u003e\n"],["\u003cp\u003eYou can update or remove message data using standard update/patch methods and change the \u003ccode\u003emessage_type\u003c/code\u003e to \u003ccode\u003eTEXT\u003c/code\u003e for further updates without notifications.\u003c/p\u003e\n"],["\u003cp\u003eExceeding the notification limit results in a \u003ccode\u003eQuotaExceededException\u003c/code\u003e, after which \u003ccode\u003eTEXT\u003c/code\u003e should be used instead of \u003ccode\u003eTEXT_AND_NOTIFY\u003c/code\u003e for subsequent messages.\u003c/p\u003e\n"]]],["The `Add Message API` with `message_type` as `TEXT_AND_NOTIFY` sends a push notification to users when a new message is added to their pass. Tapping the notification opens the pass in Google Wallet, displaying a \"View Message\" callout. Clicking this directs users to the pass's \"back\" where new messages are highlighted. A maximum of three push notifications are allowed within 24 hours, with excessive usage resulting in a `QuotaExceededException`. Messages can include hyperlinks relevant to the pass.\n"],null,["# Trigger Push Notifications\n\nPartner Triggered Notifications\n-------------------------------\n\n### Add Message and Notify\n\n#### Background\n\nAfter a user adds a pass you may want to send them a message related to the\npass and ensure they are notified about it. Using the [Add Message API](/wallet/tickets/transit-passes/qr-code/rest/v1/transitclass/addmessage)\nrequest with a `message_type` equal to\n**`TEXT_AND_NOTIFY`** the following occurs:\n\n1. A \"[Message](https://developers.google.com/wallet/reference/rest/v1/Message)\" item is added to the \"back of pass\" (aka [Details\n Template](/wallet/tickets/transit-passes/qr-code/resources/template#details-template)) and a push notification is sent to users with the pass saved.\n2. Once the user taps the notification it opens Google Wallet to the front of the pass (a.k.a. Card view) and the user will see a callout at the top of the screen with a \"View Message\" button.\n3. Clicking the callout will take users to the back of the pass, where new unread messages are highlighted.\n\n#### Some considerations when sending messages with notifications to users\n\n- Users must have notifications enabled for their passes to receive the push notifications related to messages.\n- Messages may contain URIs to your website or app. Hyperlinks must be a website or app related to the pass. It is a violation of the [Acceptable Use Policy](https://payments.developers.google.com/terms/aup) to send users to links not related to the pass.\n- You may send a maximum of 3 messages that trigger a push notification in a 24 hour period. Google may throttle your push notification delivery quota if it deems you are spamming your users.\n- The push notification users see on their lock screen is controlled by Google Wallet.\n- You can use the [UPDATE](/wallet/tickets/transit-passes/qr-code/rest/v1/transitclass/update) or [PATCH](/wallet/tickets/transit-passes/qr-code/rest/v1/transitclass/patch) methods to edit or remove message data using the regular class or object endpoint.\n\n#### Integration Steps\n\nWhen you want to notify users about a new issuer message added using the\nAddMessage API, you will need to update the [AddMessageRequest](https://developers.google.com/wallet/reference/rest/v1/AddMessageRequest)\nso that the [Message](https://developers.google.com/wallet/reference/rest/v1/Message)\nwhich contains your new text has the [MessageType](https://developers.google.com/wallet/reference/rest/v1/Message#MessageType)\n**TEXT_AND_NOTIFY** instead of **TEXT**.\n\n#### Example JSON Request to add message and notify in a Passes Class\n\n```carbon\n ...\n \"id\": ISSUER_ID.CLASS_ID\",\n \"message\":\n {\n \"header\":\"My Class message header\",\n \"body\": \"My Class message body with a \u003ca href=\"https://wallet.google\"\u003eHyperlink\u003c\\a\u003e\",\n \"id\": \"message_id\",\n \"message_type\": \"TEXT_AND_NOTIFY\"\n },\n ...\n```\n\n#### Example JSON Request to add message and notify in a Passes Object\n\n```carbon\n ...\n \"id\": OBJECT_ID\",\n \"classId\": \"ISSUER_ID.CLASS_ID\",\n \"message\":\n {\n \"header\":\"My Object message header\",\n \"body\": \"My Object message body with a \u003ca href=\"http://play.google.com/store/apps/details?id=com.google.android.apps.maps\"\u003eHyperlink\u003c\\a\u003e\",\n \"id\": \"message_id\",\n \"message_type\": \"TEXT_AND_NOTIFY\"\n },\n ...\n```\n\n#### Example [Response](/wallet/tickets/transit-passes/qr-code/rest/v1/transitclass/addmessage#response-body) to add message and notify for a Pass Class\n\n```scilab\n // The updated resource\n …\n {\n \"kind\": \"walletobjects#walletObjectMessage\",\n \"header\": \"My Object message header\",\n \"body\": \"My Object message body with a \u003ca href=\"http://play.google.com/store/apps/details?id=com.google.android.apps.maps\"\u003eHyperlink\u003c\\a\u003e\",\n \"id\": \"message_id\",\n \"messageType\": \"textAndNotify\"\n },\n …\n```\n\n#### Exception handling\n\nAny attempts to notify more than 3 times will yield a\n**QuotaExceededException** response. Any further updates to the\npass can be set using \"**TEXT** \" instead of\n\"**TEXT_AND_NOTIFY** \" as discussed in the [Integration\nSteps](#add-message-and-notify-integration-steps)."]]