푸시 알림 트리거

파트너 트리거 알림

메시지 및 알림 추가

배경

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

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

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

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

통합 단계

AddMessage API를 사용하여 추가된 새 발급자 메시지에 관해 사용자에게 알리려면 새 텍스트가 포함된 MessageMessageType TEXT_AND_NOTIFY가 아닌 TEXT가 포함되도록 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로 설정하면 업데이트된 필드가 현재 지원되는 경우 알림이 트리거됩니다.

지원되는 필드

FlightObject
  • boardingAndSeatingInfo.seatNumber
  • boardingAndSeatingInfo.seatAssignment

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

예정된 알림

Google 월렛은 항공편 3시간 전에 사용자에게 알림을 보냅니다. 항공편 시간은 class.localScheduledDepartureDateTime로 정의됩니다.

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

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

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

  Boarding pass for your flight to class.destination.airportIataCode
  

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

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

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

항공편 업데이트 알림

항공편의 특정 필드가 변경되면 탑승권이 하나 이상 추가된 사용자의 기기에 푸시 알림이 전송됩니다. 알림은 특정 조건이 충족되는 경우에만 전송됩니다.

출발지 터미널 및 게이트

class.origin.terminal 또는 class.origin.gate를 변경한 경우 다음 조건이 충족되면 필드가 변경되었다는 알림이 전송됩니다.

  • class.localScheduledDepartureDateTime까지 3시간이 채 안 남았습니다.

알림은 '샘플 항공사에서 게이트를 A1으로 업데이트했습니다.'와 같은 형식으로 전송됩니다. 형식은 변경할 수 없습니다.

탑승 시간 및 출발 시간

class.localBoardingDateTime 또는 class.localEstimatedOrActualDepartureDateTime을 변경한 경우 다음 조건이 충족되면 필드가 변경되었다는 알림이 전송됩니다.

  • class.localScheduledDepartureDateTime까지 24시간이 채 안 남았습니다.
  • 각 시간이 10분 이상 변경됩니다.

알림은 '_샘플 항공사에서 탑승 시간을 오후 6시로 업데이트했습니다._'와 같은 형식으로 전송되며 형식이나 언어는 맞춤설정할 수 없습니다.