파트너 트리거 알림
메시지 추가 및 알림
배경
사용자가 패스를 추가한 후 패스와 관련된 메시지를 보내고 사용자에게 알림을 보내는 것이 좋습니다. message_type
이 TEXT_AND_NOTIFY
과 같은 메시지 추가 API 요청을 사용하면 다음이 발생합니다.
- '메시지' 항목이 '패스 뒷면' (세부정보 템플릿)에 추가되고 패스가 저장된 사용자에게 푸시 알림이 전송됩니다.
- 사용자가 알림을 탭하면 패스 (즉, 카드 뷰)의 전면으로 Google 월렛이 열리고 화면 상단에 '메시지 보기' 버튼이 있는 콜아웃이 표시됩니다.
- 콜아웃을 클릭하면 사용자가 패스의 뒷면으로 이동하며, 여기에서 새로 읽지 않은 메시지가 강조 표시됩니다.
사용자에게 알림과 함께 메시지를 보낼 때 고려사항
- 사용자가 메시지와 관련된 푸시 알림을 수신하려면 패스에 알림이 사용 설정되어 있어야 합니다.
- 메시지에는 웹사이트 또는 앱의 URI가 포함될 수 있습니다. 하이퍼링크는 패스와 관련된 웹사이트 또는 앱이어야 합니다. 사용자를 패스와 관련이 없는 링크로 연결하는 것은 허용되는 사용 정책을 위반하는 것입니다.
- 24시간 동안 푸시 알림을 트리거하는 메시지를 최대 3개까지 보낼 수 있습니다. Google에서는 사용자를 스팸으로 간주하는 경우 푸시 알림 전송 할당량을 제한할 수 있습니다.
- 잠금 화면에 표시되는 푸시 알림은 Google 월렛에서 관리합니다.
- UPDATE 또는 PATCH 메서드를 사용하여 일반 클래스 또는 객체 엔드포인트를 통해 메시지 데이터를 수정하거나 삭제할 수 있습니다.
통합 단계
AddMessage API를 사용하여 추가된 새 발급기관 메시지를 사용자에게 알리려면 새 텍스트가 포함된 Message에 TEXT 대신 MessageType TEXT_AND_NOTIFY가 있도록 AddMessageRequest를 업데이트해야 합니다.
Passes 클래스에 메시지를 추가하고 알림을 보내는 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'를 사용하여 설정할 수 있습니다.
Nearby 알림
이 기능은 알림을 사용 설정하고 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 }, ] }
예상 동작
사용자가 지정된 MerchantLocation에 있으면 패스에 관한 고정 알림이 표시되어야 합니다. 알림을 클릭하면 Google 월렛에서 패스가 열립니다. 사용자는 스와이프 동작으로 알림을 닫을 수 있습니다. 사용자가 위치를 벗어나면 알림이 사라집니다.