Typy powiadomień
Dodawanie wiadomości i powiadamianie
Tło
Gdy użytkownik doda kartę, możesz wysłać mu wiadomość związaną z tą kartą i poinformować go o tym. Gdy użyjesz żądania Add Message API z message_type
równym TEXT_AND_NOTIFY
, nastąpi:
- Element „Wiadomość” jest dodawany do „tylnej strony karty” (nazywanego też szablonem szczegółów), a do użytkowników z zapisaną kartą jest wysyłane powiadomienie push.
- Gdy użytkownik kliknie powiadomienie, otworzy się Portfel Google z przodu karty (w widoku kart), a u góry ekranu pojawi się objaśnienie z przyciskiem „Wyświetl wiadomość”.
- Po kliknięciu tego okienka użytkownicy przejdą do tyłu karty, gdzie nowe nieprzeczytane wiadomości są wyróżnione.
O czym warto pamiętać podczas wysyłania wiadomości z powiadomieniami do użytkowników
- Aby otrzymywać powiadomienia push związane z wiadomościami, użytkownicy muszą włączyć powiadomienia dotyczące swoich kart.
- Wiadomości mogą zawierać identyfikatory URI Twojej witryny lub aplikacji. Hiperlinki muszą prowadzić do witryny lub aplikacji powiązanej z kartą. Przekierowywanie użytkowników do linków niezwiązanych z kartą jest naruszeniem Zasad dopuszczalnego użytkowania.
- W ciągu 24 godzin możesz wysłać maksymalnie 3 wiadomości, które wywołują powiadomienie push. Jeśli Google uzna, że wysyłasz spam do użytkowników, może ograniczyć Twoją miesięczną kwotę powiadomień push.
- Powiadomienia push wyświetlane użytkownikom na ekranie blokady są kontrolowane przez Google Wallet.
- Aby edytować lub usuwać dane wiadomości, możesz użyć metod UPDATE lub PATCH, korzystając z zwykłego punktu końcowego klasy lub obiektu.
Etapy integracji
Jeśli chcesz powiadomić użytkowników o nowej wiadomości wydawcy dodanej za pomocą interfejsu AddMessage API, musisz zaktualizować obiekt AddMessageRequest, aby element Message zawierający nowy tekst miał wartość MessageType TEXT_AND_NOTIFY zamiast TEXT.
Przykładowe żądanie JSON umożliwiające dodanie wiadomości i powiadomienia w klasie kart
… "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" }, …
Przykładowe żądanie JSON umożliwiające dodanie wiadomości i powiadomienia w obiekcie kart
… "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" }, …
Przykładowa odpowiedź z prośbą o dodanie komunikatu i powiadomienie o klasie karty
// 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" }, …
Obsługa wyjątków
Każda próba powiadomienia więcej niż 3 razy spowoduje odpowiedź QuotaExceededException. Wszelkie dalsze aktualizacje przepustki można ustawić, używając parametru „TEXT” zamiast „TEXT_AND_NOTIFY”, zgodnie z opisem w procedurze integracji.