Loại thông báo
Thêm thông báo và thông báo
Thông tin khái quát
Sau khi người dùng thêm thẻ/vé, bạn có thể gửi cho họ một thông báo liên quan đến thẻ/vé đó và đảm bảo họ nhận được thông báo. Khi bạn sử dụng yêu cầu Add Message API (Thêm API Thư) với message_type
bằng
TEXT_AND_NOTIFY
, những trường hợp sau sẽ xảy ra:
- Mục "Thông báo" được thêm vào "mặt sau của thẻ và vé" (còn gọi là Mẫu chi tiết) và thông báo đẩy sẽ được gửi đến người dùng đã lưu thẻ và vé.
- Sau khi người dùng nhấn vào thông báo, Google Wallet sẽ mở ra ở đầu thẻ và người dùng sẽ thấy một chú thích ở đầu màn hình có nút "Xem tin nhắn".
- Khi nhấp vào chú thích, người dùng sẽ được đưa đến mặt sau của thẻ và vé, nơi các tin nhắn mới chưa đọc được làm nổi bật.
Một số điều cần cân nhắc khi gửi tin nhắn có thông báo cho người dùng
- Người dùng phải bật thông báo về thẻ và vé để nhận được thông báo đẩy liên quan đến tin nhắn.
- Thông báo có thể chứa URI đến trang web hoặc ứng dụng của bạn. Siêu liên kết phải là một trang web hoặc ứng dụng liên quan đến thẻ và vé. Việc gửi người dùng đến các đường liên kết không liên quan đến thẻ và vé là hành vi vi phạm Chính sách sử dụng.
- Bạn có thể gửi tối đa 3 tin nhắn để kích hoạt thông báo đẩy trong khoảng thời gian 24 giờ. Google có thể điều tiết hạn mức phân phối thông báo đẩy nếu Google cho rằng bạn đang gửi nội dung rác cho người dùng.
- Thông báo đẩy mà người dùng thấy trên màn hình khoá do Google Wallet kiểm soát.
- Bạn có thể dùng các phương thức UPDATE (CẬP NHẬT) hoặc PATCH (PATCH) để chỉnh sửa hoặc xoá dữ liệu thông báo bằng cách sử dụng lớp thông thường hoặc điểm cuối của đối tượng.
Các bước tích hợp
Khi muốn thông báo cho người dùng về thông báo mới của người phát hành được thêm bằng API AddMessage, bạn cần cập nhật AddMessageRequest để Message chứa văn bản mới có MessageType TEXT_AND_NOTIFY thay vì TEXT.
Ví dụ về Yêu cầu thêm tin nhắn và thông báo trong Lớp thẻ và vé ở định dạng 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" }, …
Ví dụ về Yêu cầu JSON để thêm thông báo trong Đối tượng thẻ và vé
… "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" }, …
Ví dụ về Phản hồi để thêm thông báo và thông báo cho một Lớp thẻ và vé
// 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" }, …
Xử lý ngoại lệ
Nếu bạn cố gắng thông báo nhiều hơn 3 lần, hệ thống sẽ trả về phản hồi QuotaExceededException. Bạn có thể đặt mọi nội dung cập nhật khác cho thẻ và thẻ này bằng cách sử dụng "TEXT" thay vì "TEXT_AND_NOTIFY" như đã thảo luận trong Các bước tích hợp.
Cập nhật trường và thông báo
Thông tin khái quát
Sau khi người dùng thêm thẻ và vé, bạn có thể kích hoạt thông báo đẩy khi cập nhật một số trường nhất định. Thông báo sẽ xuất hiện trên màn hình khoá của người dùng và thông báo cho họ rằng có nội dung cập nhật về thẻ và vé của họ. Thông báo này sẽ chỉ kích hoạt cho một nhóm nhỏ các trường cụ thể được xác định bên dưới bằng phương thức API UPDATE và PATCH. Sau khi lệnh gọi API để cập nhật thẻ và vé được thực hiện, những điều sau sẽ xảy ra:
- Một thông báo đẩy sẽ được kích hoạt và hiển thị trên màn hình khoá của người dùng để cho họ biết về việc cập nhật thẻ/vé.
- Sau khi người dùng nhấn vào thông báo, Google Wallet sẽ mở ra ở đầu thẻ và người dùng sẽ thấy một chú thích ở đầu màn hình có nút "Xem lại nội dung cập nhật".
- Khi nhấp vào nút này, người dùng sẽ được đưa đến một màn hình để họ có thể xem các trường đã thay đổi do nội dung cập nhật.
Một số điều cần cân nhắc khi gửi thông báo cập nhật trường
- Người dùng phải bật thông báo cho thẻ và vé của họ để nhận thông báo đẩy liên quan đến nội dung cập nhật.
- Bạn có thể gửi tối đa 3 nội dung cập nhật kích hoạt thông báo đẩy trong khoảng thời gian 24 giờ. Google có thể điều tiết hạn mức gửi thông báo đẩy nếu cho rằng bạn đang gửi nội dung rác cho người dùng.
- Google Wallet kiểm soát thông báo đẩy mà người dùng nhìn thấy trên màn hình khoá.
- Trường
notifyPreference
là một trường tạm thời chỉ tồn tại trên yêu cầu này. Đối với các yêu cầu trong tương lai, khi bạn muốn kích hoạt một thông báo, bạn sẽ phải đặt lại trường này trên yêu cầu lớp hoặc đối tượng.
Các bước tích hợp
Để kích hoạt những thông báo này, bạn cần sử dụng các lệnh gọi UPDATE hoặc PATCH (CẬP NHẬT) hiện có và chỉ định Thông báoPreference. Khi cập nhật một trường trên một lớp hoặc đối tượng, bạn có thể thêm một trường mới (notifyPreference
) vào yêu cầu lớp hoặc đối tượng để kích hoạt thông báo.
Ví dụ về Yêu cầu JSON để cập nhật và thông báo trong một Lớp
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
Việc đặt notifyPreference
thành notifyOnUpdate
sẽ kích hoạt một thông báo, miễn là trường đã cập nhật hiện được hỗ trợ.
Các trường được hỗ trợ
FlightObject
- boardingAndSeatingInfo.seatNumber
- boardingAndSeatingInfo.seatAssignment