Kích hoạt thông báo đẩy

Thông báo do đối tác kích hoạt

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ể muốn gửi cho họ một thông báo liên quan đến thẻ/vé đó và đảm bảo rằng họ nhận được thông báo. Khi bạn sử dụng yêu cầu API Thêm thông báo với message_type bằng TEXT_AND_NOTIFY, hệ thống sẽ thực hiện như sau:

  1. Một mục "Thông báo" được thêm vào "mặt sau của thẻ/vé" (còn gọi là Mẫu thông tin chi tiết) và một thông báo đẩy được gửi đến những người dùng đã lưu thẻ/vé đó.
  2. Khi người dùng nhấn vào thông báo, thông báo đó sẽ mở Google Wallet ở mặt trước của thẻ/vé (còn gọi là Chế độ xem thẻ) và người dùng sẽ thấy một chú thích ở đầu màn hình có nút "Xem thông báo".
  3. Khi nhấp vào chú thích, người dùng sẽ được đưa đến mặt sau của thẻ/vé, nơi các thông báo 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 thông báo kèm thông báo cho người dùng

  • Người dùng phải bật thông báo cho thẻ/vé của họ để nhận được thông báo đẩy liên quan đến thông báo.
  • 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é. Việc đưa người dùng đến các đường liên kết không liên quan đến thẻ/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 thông báo 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 cho rằng bạn đang gửi thư 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ể sử dụng các phương thức UPDATE hoặc PATCH để chỉnh sửa hoặc xoá dữ liệu thông báo bằng điểm cuối đối tượng hoặc lớp thông thường.

Các bước tích hợp

Khi muốn thông báo cho người dùng về một thông báo mới của tổ chức phát hành được thêm bằng API AddMessage, bạn cần cập nhật AddMessageRequest để Thông báo chứa văn bản mới có MessageType TEXT_AND_NOTIFY thay vì TEXT.

Ví dụ về yêu cầu JSON để thêm thông báo và thông báo trong Lớp thẻ/vé

  
  "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 và thông báo trong Đối tượng thẻ/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 Lớp thẻ/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ệ

Mọi nỗ lực thông báo quá 3 lần sẽ tạo ra phản hồi QuotaExceededException . Bạn có thể đặt mọi thông tin cập nhật tiếp theo cho thẻ/vé bằng cách sử dụng "TEXT" thay vì "TEXT_AND_NOTIFY" như đã thảo luận trong phần 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é, bạn có thể muốn 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à cho họ biết rằng thẻ/vé của họ đã được cập nhật. Thông báo này sẽ chỉ kích hoạt cho một tập hợp con cụ thể gồm các trường được xác định bên dưới bằng các phương thức API UPDATE và PATCH. Sau khi thực hiện lệnh gọi API để cập nhật thẻ/vé, hệ thống sẽ thực hiện như sau:

  1. Một thông báo đẩy được kích hoạt và hiển thị trên màn hình khoá của người dùng, thông báo cho họ về thông tin cập nhật thẻ/vé.
  2. Khi người dùng nhấn vào thông báo, thông báo đó sẽ mở Google Wallet ở mặt trước của thẻ/vé (còn gọi là Chế độ xem 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 thông tin cập nhật".
  3. Khi nhấp vào nút này, người dùng sẽ được đưa đến một màn hình nơi họ có thể thấy các trường đã thay đổi do thông tin 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é của họ để nhận được thông báo đẩy liên quan đến thông tin cập nhật.
  • Thông báo chỉ được kích hoạt nếu thời gian bắt đầu của sự kiện hoặc chuyến bay là trong vòng 3 giờ trở xuống để tránh gửi thư rác cho người dùng.
  • Bạn có thể gửi tối đa 3 thông tin 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 phân phối thông báo đẩy nếu cho rằng bạn đang gửi thư 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.
  • 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 thông báo, bạn sẽ phải đặt lại trường này trên yêu cầu đối tượng hoặc lớp.

Các bước tích hợp

Để kích hoạt các thông báo này, bạn cần sử dụng các lệnh gọi UPDATE hoặc PATCH hiện có và chỉ định notifyPreference. Khi cập nhật một trường trên 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 đối tượng hoặc lớp để 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 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 thông báo, miễn là trường được cập nhật hiện được hỗ trợ.

Các trường được hỗ trợ

LoyaltyClass
  • rewardsTier
  • secondaryRewardsTier
  • programName
LoyaltyObject
  • loyaltyPoints.balance
  • secondaryLoyaltyPoints.balance

Thông báo lân cận

Tính năng này sẽ hiển thị cho những người dùng đã bật thông báo và cấp quyền truy cập thông tin vị trí chính xác, luôn bật cho ứng dụng Google Wallet một thông báo đẩy nhắc nhở họ rằng họ đã lưu một thẻ/vé liên quan đến vị trí hiện tại.

Các bước tích hợp

Cách dùng

Để sử dụng tính năng này, bạn cần thêm vị trí vào các lớp và đối tượng. Bạn có thể thêm tối đa 10 vị trí cho mỗi lớp và 10 vị trí cho mỗi đối tượng. Sử dụng MerchantLocations trong định nghĩa lớp hoặc đối tượng. Bạn có thể thêm các vị trí này khi sử dụng các phương thức insert, patch hoặc update.

Sau khi bạn thêm vị trí vào một lớp hoặc đối tượng, Google sẽ gửi thông báo cho người dùng khi họ ở gần đó. Google quyết định người dùng cần ở gần đến mức nào và cần ở lại khu vực đó trong bao lâu trước khi thông báo được gửi. Google cũng kiểm soát văn bản của thông báo.

Ví dụ về LoyaltyClass có MerchantLocations được đặt:
{
  "kind": "walletobjects#loyaltyClass",
  "programLogo": {
  "kind": "walletobjects#image",
  "sourceUri": {
    "uri":
    ...
  }
  },
  "localizedProgramName": {
    "kind": "walletobjects#localizedString",
    "defaultValue": {
      "kind": "walletobjects#translatedString",
      "language": "en",
      "value": "Program Name",
    }
  },
  "id": Id1234,
  "version": "1",
  "allowMultipleUsersPerObject": true,
  "reviewStatus": "underReview",
  "enableSmartTap": false,
  "localizedIssuerName": {
    "kind": "walletobjects#localizedString",
    "defaultValue": {
      "kind": "walletobjects#translatedString",
      "language": "en",
      "value": "Issuer Name"
    }
  },
  "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
  "merchantLocations": [
    {
      "latitude": 37.79020867928078,
      "longitude": -122.39004
    },
    {
      "latitude": 37.42587,
      "longitude": -122.08620
    },
  ]
}

Hành vi dự kiến

Người dùng sẽ nhận được thông báo cố định về thẻ/vé của họ khi ở một trong các MerchantLocations được chỉ định. Nếu nhấp vào thông báo, thông báo đó sẽ mở thẻ/vé của họ trong Google Wallet. Người dùng có thể đóng thông báo bằng cử chỉ vuốt. Khi người dùng rời khỏi vị trí, thông báo sẽ biến mất.