푸시 알림 트리거

파트너 트리거 알림

메시지 추가 및 알림

배경

사용자가 패스를 추가한 후에는 패스와 관련된 메시지를 보내고 사용자에게 알림을 보내야 할 수 있습니다. 메시지 추가 API 요청을 message_typeTEXT_AND_NOTIFY인 경우 사용하면 다음과 같은 일이 발생합니다.

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

사용자에게 알림과 함께 메시지를 보낼 때 고려사항

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

통합 단계

AddMessage API를 사용하여 추가된 새 발급기관 메시지를 사용자에게 알리려면 새 텍스트가 포함된 메시지MessageTypeTEXT_AND_NOTIFY가 아닌 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. 버튼을 클릭하면 업데이트로 변경된 필드를 볼 수 있는 화면으로 이동합니다.

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

  • 사용자가 업데이트와 관련된 푸시 알림 을 받으려면 패스에 알림이 사용 설정되어 있어야 합니다.
  • 사용자를 스팸 처리하지 않도록 이벤트 또는 항공편의 시작 시간이 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로 설정하면 업데이트된 필드가 현재 지원되는 경우 알림이 트리거됩니다.

지원되는 필드

EventTicketClass
  • eventName
  • eventVenue.name
  • eventvenue.address
  • eventDateTime.doorsOpen
  • eventDateTime.start
EventTicketObject
  • eventSeat.seat
  • eventSeat.row
  • eventSeat.section
  • eventSeat.gate

주변 알림

이 기능은 알림을 사용 설정하고 Google 월렛 앱에 항상 켜져 있는 정확한 위치 액세스 권한을 부여한 사용자에게 현재 위치와 관련된 패스를 저장했음을 알리는 푸시 알림을 표시합니다.

통합 단계

사용 방법

이 기능을 사용하려면 클래스 및 객체에 위치를 추가해야 합니다. 클래스당 최대 10개, 객체당 최대 10개의 위치를 추가할 수 있습니다. 클래스 또는 객체 정의에서 MerchantLocations를 사용합니다. insert, patch 또는 update 메서드를 사용할 때 이러한 위치를 추가할 수 있습니다.

클래스 또는 객체에 위치를 추가하면 Google은 사용자가 근처에 있을 때 알림을 보냅니다. Google은 알림이 전송되기 전에 사용자가 얼마나 가까이 있어야 하는지, 해당 지역에 얼마나 오래 머물러야 하는지를 결정합니다. Google은 알림의 텍스트도 제어합니다.

MerchantLocations가 설정된 LoyaltyClass의 예:
{
  "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
    },
  ]
}

예상 동작

사용자는 지정된 MerchantLocations 중 한 곳에 있을 때 패스에 관한 고정 알림을 받아야 합니다. 알림을 클릭하면 Google 월렛에서 패스가 열립니다. 사용자는 스와이프 동작으로 알림을 닫을 수 있습니다. 사용자가 위치를 벗어나면 알림이 사라집니다.

Google 월렛에서 트리거하는 자동 알림

예정된 알림

Google 월렛은 이벤트 시작 3시간 전에 사용자에게 알림을 보냅니다. 이벤트 시간은 class.dateTime.start에 의해 정의됩니다.

이 알림을 수신하려면 사용자가 알림을 사용 설정해야 합니다. 알림 수신을 원하는 사용자는 설정 > 알림 으로 이동하여 패스 관련 업데이트 를 사용 설정하면 됩니다.

사용자가 잠금 화면에 알림이 표시되도록 설정한 경우 알림 영역과 잠금 화면에 알림이 표시됩니다 .

알림은 다음과 같이 수정 불가능한 형식으로 표시됩니다.

  class.eventName
  

사용자가 알림을 탭하고 기기의 잠금을 해제하면 Google 월렛 앱에 패스가 표시됩니다.

사용자에게 패스가 여러 개 있으면 가장 빨리 사용할 수 있는 패스만 표시됩니다. 이벤트 티켓 그룹화 에 따라 그룹화된 패스를 추가한 경우 그룹에 속한 패스 중 하나만 알림에 표시됩니다. 하지만 사용자가 탭하면 왼쪽과 오른쪽으로 스와이프하여 해당 그룹의 다른 패스를 볼 수 있습니다.

알림은 고정되며 사용자가 알림을 열어본 후에도 자동으로 종료되지 않습니다. class.dateTime.start 후 60 분이 지나면 자동으로 종료됩니다.