푸시 알림 트리거

알림 유형

메시지 및 알림 추가

배경

사용자가 패스를 추가한 후 패스와 관련된 메시지를 보내 패스에 대한 알림을 제공할 수 있습니다. message_typeTEXT_AND_NOTIFY Add Message API 요청을 사용하면 다음이 발생합니다.

  1. '메시지' 항목이 '패스 뒷면' (세부정보 템플릿)에 추가되고 패스가 저장된 사용자에게 푸시 알림이 전송됩니다.
  2. 사용자가 알림을 탭하면 Google 월렛이 패스 앞면 (카드 뷰)으로 열리고 화면 상단에 '메시지 보기' 버튼이 있는 콜아웃이 표시됩니다.
  3. 콜아웃을 클릭하면 사용자가 패스 뒷면으로 이동하여 새 읽지 않은 메시지가 강조 표시됩니다.

사용자에게 알림이 포함된 메시지를 보낼 때의 고려사항

  • 사용자가 패스에 알림을 사용 설정해야 메시지와 관련된 푸시 알림을 수신할 수 있습니다.
  • 메일에 웹사이트 또는 앱의 URI가 포함될 수 있습니다. 하이퍼링크는 패스와 관련된 웹사이트 또는 앱이어야 합니다. 사용자를 패스와 관련 없는 링크로 연결하는 것은 용어 사용 정책을 위반하는 행위입니다.
  • 24시간 동안 푸시 알림을 트리거하는 메시지를 최대 3개 보낼 수 있습니다. Google에서 사용자가 스팸을 받고 있다고 판단하면 푸시 알림 전송 할당량을 제한할 수 있습니다.
  • 사용자가 잠금 화면에 보는 푸시 알림은 Google 월렛에서 제어합니다.
  • UPDATE 또는 PATCH 메서드를 사용하여 일반 클래스 또는 객체 엔드포인트를 사용하여 메시지 데이터를 수정하거나 삭제할 수 있습니다.

통합 단계

AddMessage API를 사용하여 추가된 새 발급자 메시지에 관해 사용자에게 알리려면 새 텍스트가 포함된 MessageTEXT 대신 MessageType TEXT_AND_NOTIFY가 포함되도록 AddMessageRequest를 업데이트해야 합니다.

패스 클래스에 메시지 추가 및 알림을 위한 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 요청 예시

  …
  "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_AND_NOTIFY' 대신 'TEXT'를 사용하여 설정할 수 있습니다.

필드 업데이트 및 알림

배경

사용자가 패스를 추가한 후 특정 필드를 업데이트할 때 푸시 알림을 트리거하는 것이 좋습니다. 사용자의 잠금 화면에 알림이 표시되고 패스에 업데이트가 있음을 알립니다. 이 알림은 UPDATE 및 PATCH API 메서드를 사용하여 아래에 정의된 특정 필드 하위 집합에 대해서만 트리거됩니다. 패스를 업데이트하기 위한 API 호출이 실행되면 다음이 발생합니다.

  1. 푸시 알림이 트리거되어 사용자의 잠금 화면에 표시되며, 이 알림은 사용자에게 패스 업데이트를 알립니다.
  2. 사용자가 알림을 탭하면 Google 월렛이 패스 앞면 (카드 뷰라고도 함)으로 열리고 화면 상단에 '업데이트 검토' 버튼이 있는 콜아웃이 표시됩니다.
  3. 버튼을 클릭하면 업데이트로 변경된 필드를 볼 수 있는 화면으로 이동합니다.

필드 업데이트 알림을 보낼 때의 몇 가지 고려사항

  • 사용자가 패스에 알림을 사용 설정해야 업데이트와 관련된 푸시 알림을 수신할 수 있습니다.
  • 24시간 동안 푸시 알림을 트리거하는 업데이트를 최대 3회 보낼 수 있습니다. Google은 개발자가 사용자에게 스팸을 전송한다고 판단되면 푸시 알림 전송 할당량을 제한할 수 있습니다.
  • 사용자가 잠금 화면에서 보는 푸시 알림은 Google 월렛에서 제어합니다.
  • notifyPreference 필드는 이 요청에만 존재하는 일시적인 필드입니다. 향후 알림을 트리거하려는 요청의 경우 클래스 또는 객체 요청에서 이 필드를 재설정해야 합니다.

통합 단계

이러한 알림을 트리거하려면 기존 UPDATE 또는 PATCH 호출을 사용하고 notifyPreference를 지정해야 합니다. 클래스 또는 객체의 필드를 업데이트할 때 클래스 또는 객체 요청에 새 필드 notifyPreference를 추가하여 알림을 트리거할 수 있습니다.

클래스에서 업데이트 및 알림을 요청하는 JSON 예시

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

notifyPreferencenotifyOnUpdate로 설정하면 업데이트된 필드가 현재 지원되는 경우 알림이 트리거됩니다.

지원되는 필드

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