알림 유형
메시지 및 알림 추가
배경
사용자가 패스를 추가한 후 패스와 관련된 메시지를 보내 패스에 대한 알림을 제공할 수 있습니다. message_type
이 TEXT_AND_NOTIFY
인 Add Message API 요청을 사용하면 다음이 발생합니다.
- '메시지' 항목이 '패스 뒷면' (세부정보 템플릿)에 추가되고 패스가 저장된 사용자에게 푸시 알림이 전송됩니다.
- 사용자가 알림을 탭하면 Google 월렛이 패스 앞면 (카드 뷰)으로 열리고 화면 상단에 '메시지 보기' 버튼이 있는 콜아웃이 표시됩니다.
- 콜아웃을 클릭하면 사용자가 패스 뒷면으로 이동하여 새 읽지 않은 메시지가 강조 표시됩니다.
사용자에게 알림이 포함된 메시지를 보낼 때의 고려사항
- 사용자가 패스에 알림을 사용 설정해야 메시지와 관련된 푸시 알림을 수신할 수 있습니다.
- 메일에 웹사이트 또는 앱의 URI가 포함될 수 있습니다. 하이퍼링크는 패스와 관련된 웹사이트 또는 앱이어야 합니다. 사용자를 패스와 관련 없는 링크로 연결하는 것은 용어 사용 정책을 위반하는 행위입니다.
- 24시간 동안 푸시 알림을 트리거하는 메시지를 최대 3개 보낼 수 있습니다. Google에서 사용자가 스팸을 받고 있다고 판단하면 푸시 알림 전송 할당량을 제한할 수 있습니다.
- 사용자가 잠금 화면에 보는 푸시 알림은 Google 월렛에서 제어합니다.
- UPDATE 또는 PATCH 메서드를 사용하여 일반 클래스 또는 객체 엔드포인트를 사용하여 메시지 데이터를 수정하거나 삭제할 수 있습니다.
통합 단계
AddMessage API를 사용하여 추가된 새 발급자 메시지에 관해 사용자에게 알리려면 새 텍스트가 포함된 Message에 TEXT 대신 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 호출이 실행되면 다음이 발생합니다.
- 푸시 알림이 트리거되어 사용자의 잠금 화면에 표시되며, 이 알림은 사용자에게 패스 업데이트를 알립니다.
- 사용자가 알림을 탭하면 Google 월렛이 패스 앞면 (카드 뷰라고도 함)으로 열리고 화면 상단에 '업데이트 검토' 버튼이 있는 콜아웃이 표시됩니다.
- 버튼을 클릭하면 업데이트로 변경된 필드를 볼 수 있는 화면으로 이동합니다.
필드 업데이트 알림을 보낼 때의 몇 가지 고려사항
- 사용자가 패스에 알림을 사용 설정해야 업데이트와 관련된 푸시 알림을 수신할 수 있습니다.
- 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", …
notifyPreference
를 notifyOnUpdate
로 설정하면 업데이트된 필드가 현재 지원되는 경우 알림이 트리거됩니다.
지원되는 필드
LoyaltyClass
- rewardsTier
- secondaryRewardsTier
- programName
LoyaltyObject
- loyaltyPoints.balance
- secondaryLoyaltyPoints.balance