Powiadomienia wywoływane przez partnera
Dodaj wiadomość i powiadomienie
Tło
Gdy użytkownik doda kartę, możesz wysłać mu wiadomość związaną z tą kartą i mieć pewność, że otrzyma powiadomienie. Gdy użyjesz żądania interfejsu API do dodawania wiadomości z parametrem message_type
równym TEXT_AND_NOTIFY
, nastąpi:
- Do „tyłu karty” (czyli szablonu szczegółów) dodawany jest element „Wiadomość”, a użytkownicy, którzy mają zapisaną kartę, otrzymują powiadomienie push.
- Gdy użytkownik naciśnie powiadomienie, otworzy się Portfel Google z przodem karty (czyli widokiem karty), a u góry ekranu pojawi się wyskakujące okienko z przyciskiem „Wyświetl wiadomość”.
- Kliknięcie dymku spowoduje przejście użytkownika na tył karty, gdzie wyróżnione są nowe nieprzeczytane wiadomości.
Kilka kwestii, które warto wziąć pod uwagę podczas wysyłania do użytkowników wiadomości z powiadomieniami
- Aby otrzymywać powiadomienia push związane z wiadomościami, użytkownicy muszą mieć włączone powiadomienia dotyczące kart.
- Wiadomości mogą zawierać identyfikatory URI prowadzące do Twojej witryny lub aplikacji. Hiperlinki muszą prowadzić do witryny lub aplikacji powiązanej z kartą. Kierowanie 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ć Twój limit dostarczania powiadomień push.
- Powiadomienie push, które użytkownicy widzą na ekranie blokady, jest kontrolowane przez Portfel Google.
- Aby edytować lub usuwać dane wiadomości, możesz użyć metod UPDATE lub PATCH w przypadku zwykłej klasy lub punktu końcowego obiektu.
Kroki integracji
Jeśli chcesz powiadomić użytkowników o nowej wiadomości od wydawcy dodanej za pomocą interfejsu API AddMessage, musisz zaktualizować AddMessageRequest, aby Message zawierający nowy tekst miał MessageType TEXT_AND_NOTIFY zamiast TEXT.
Przykładowe żądanie JSON, aby dodać wiadomość i wysłać powiadomienie 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, aby dodać wiadomość i wysłać powiadomienie w obiekcie karty
… "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, która dodaje wiadomość i powiadamia o zaliczeniu zajęć
// 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 wysłania powiadomienia więcej niż 3 razy spowoduje zwrócenie odpowiedzi QuotaExceededException . Dalsze aktualizacje karty można ustawić za pomocą parametru „TEXT” zamiast „TEXT_AND_NOTIFY”, jak opisano w krokach integracji.
Powiadomienia w pobliżu
Ta funkcja będzie wyświetlać powiadomienia push użytkownikom, którzy włączyli powiadomienia i przyznali aplikacji Portfel Google dostęp do dokładnej lokalizacji, który jest zawsze włączony. Powiadomienia będą przypominać im, że mają zapisaną kartę związaną z ich bieżącą lokalizacją.Kroki integracji
How to use
Aby korzystać z tej funkcji, musisz dodać lokalizacje do klas i obiektów. Do każdych zajęć możesz dodać maksymalnie 10 lokalizacji, a do każdego obiektu – 10. Użyj MerchantLocations
w definicji klasy lub obiektu. Możesz dodać te lokalizacje, korzystając z metod insert
, patch
lub update
.
Gdy dodasz lokalizacje do klasy lub obiektu, Google będzie wysyłać powiadomienia do użytkowników, gdy znajdą się w pobliżu. Google decyduje, jak blisko użytkownik musi się znajdować i jak długo musi przebywać w danym obszarze, zanim zostanie wysłane powiadomienie. Google kontroluje też tekst powiadomienia.
Przykład klasy LoyaltyClass z ustawionymi lokalizacjami sprzedawcy:{ "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 }, ] }
Oczekiwane zachowanie
Gdy użytkownicy znajdą się w jednej z określonych lokalizacji sprzedawcy, powinni otrzymywać przyklejone powiadomienia o swoich kartach. Jeśli użytkownik kliknie powiadomienie, otworzy się karta w Portfelu Google. Użytkownicy mogą zamknąć powiadomienie gestem przesuwania. Gdy użytkownik opuści lokalizację, powiadomienie zniknie.