Typy powiadomień
Dodaj wiadomość i powiadomienie
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:
- Do „rewersu karty” (czyli szablonu szczegółów) dodawany jest element „Wiadomość”, a użytkownikom z zapisaną kartą wysyłane jest 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 objaśnienia użytkownik zostanie przeniesiony na tylną część karty, na której zostaną wyróżnione nowe nieprzeczytane wiadomości.
Wskazówki dotyczące wysyłania wiadomości z powiadomieniami do użytkowników
- Aby otrzymywać powiadomienia push związane z wiadomościami, użytkownicy muszą mieć włączone powiadomienia na swoich kartach.
- 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 od wystawcy dodanej za pomocą interfejsu API AddMessage, musisz zaktualizować żądanie AddMessageRequest, aby wiadomość zawierająca nowy tekst miała parametr MessageType o wartości TEXT_AND_NOTIFY zamiast TEXT.
Przykład żądania JSON służącego do dodawania wiadomości i powiadomień w klasie Passes
… "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ład żądania JSON służącego do dodawania wiadomości i powiadomień w obiekcie Passes
… "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ład odpowiedzi na dodanie wiadomości i powiadomienia o klasie Pass
// 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 karty można ustawić za pomocą „TEXT” zamiast „TEXT_AND_NOTIFY”, jak omówiono w krokach integracji.