Memicu Notifikasi Push
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Notifikasi yang Dipicu Partner
Menambahkan Pesan dan Memberi Tahu
Latar belakang
Setelah pengguna menambahkan kartu, Anda dapat mengirim pesan terkait kartu tersebut kepada mereka dan memastikan mereka diberi tahu. Dengan menggunakan permintaan Add Message API
dengan message_type
sama dengan
TEXT_AND_NOTIFY
, hal berikut akan terjadi:
- Item "Pesan"
ditambahkan ke "bagian belakang kartu" (alias Template
Detail) dan notifikasi push dikirim ke pengguna dengan kartu yang disimpan.
- Setelah pengguna mengetuk notifikasi, Google Wallet akan terbuka di bagian depan
kartu (alias Tampilan kartu) dan pengguna akan melihat info di bagian atas
layar dengan tombol "Lihat Pesan".
- Mengklik info akan mengarahkan pengguna ke bagian belakang kartu, tempat pesan
baru yang belum dibaca ditandai.
Beberapa pertimbangan saat mengirim pesan dengan notifikasi kepada pengguna
- Pengguna harus mengaktifkan notifikasi agar kartu mereka dapat menerima
notifikasi push yang terkait dengan pesan.
- Pesan dapat berisi URI ke situs atau aplikasi Anda. Hyperlink harus berupa
situs atau aplikasi yang terkait dengan kartu. Mengarahkan pengguna ke link yang tidak terkait dengan kartu merupakan pelanggaran terhadap
Kebijakan Penggunaan yang Dapat Diterima.
- Anda dapat mengirim maksimal 3 pesan yang memicu notifikasi push dalam
periode 24 jam. Google dapat membatasi kuota pengiriman notifikasi push Anda jika
menilai bahwa Anda mengirimkan spam kepada pengguna.
- Notifikasi push yang dilihat pengguna di layar kunci mereka dikontrol oleh Google
Wallet.
- Anda dapat menggunakan metode UPDATE
atau PATCH
untuk mengedit atau menghapus data pesan menggunakan endpoint class atau objek
reguler.
Langkah-langkah Integrasi
Jika ingin memberi tahu pengguna tentang pesan penerbit baru yang ditambahkan menggunakan AddMessage API, Anda harus memperbarui AddMessageRequest sehingga Message yang berisi teks baru Anda memiliki MessageType
TEXT_AND_NOTIFY, bukan TEXT.
Contoh Permintaan JSON untuk menambahkan pesan dan memberi tahu di Class Kartu
…
"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"
},
…
Contoh Permintaan JSON untuk menambahkan pesan dan notifikasi dalam Objek Kartu
…
"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"
},
…
Contoh Respons untuk menambahkan pesan dan memberi tahu untuk Class Kartu
// 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"
},
…
Penanganan pengecualian
Setiap upaya untuk memberi tahu lebih dari 3 kali akan menghasilkan respons
QuotaExceededException . Pembaruan lebih lanjut pada
kartu dapat ditetapkan menggunakan "TEXT", bukan
"TEXT_AND_NOTIFY" seperti yang dibahas dalam Langkah-langkah
Integrasi.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-29 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-29 UTC."],[[["\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)."]]