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.
Zaktualizuj pole i wyślij powiadomienie
Tło
Gdy użytkownik doda kartę, możesz wysłać powiadomienie push, gdy zaktualizujesz określone pola. Powiadomienie pojawi się na ekranie blokady użytkownika i poinformuje go o aktualizacji karty. To powiadomienie będzie wywoływane tylko w przypadku określonego podzbioru pól zdefiniowanych poniżej przy użyciu metod interfejsu API UPDATE i PATCH. Po wywołaniu interfejsu API w celu zaktualizowania karty:
- Powiadomienie push jest wywoływane i wyświetlane na ekranie blokady użytkownika, informując go o aktualizacji karty.
- Gdy użytkownik kliknie powiadomienie, otworzy się Portfel Google z przepustką na pierwszym planie (czyli widok karty). U góry ekranu pojawi się okienko z przyciskiem „Sprawdź aktualizację”.
- Kliknięcie przycisku przenosi użytkownika na ekran, na którym może on zobaczyć pola, które zostały zmienione w wyniku aktualizacji.
Wskazówki dotyczące wysyłania powiadomień o aktualizacjach pól
- Aby otrzymywać powiadomienia push dotyczące aktualizacji, użytkownicy muszą mieć włączone powiadomienia dotyczące kart.
- W ciągu 24 godzin możesz wysłać maksymalnie 3 aktualizacje, 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.
- Pole
notifyPreference
jest polem przejściowym, które występuje tylko w tym żądaniu. W przypadku przyszłych żądań, w których chcesz wywołać powiadomienie, musisz zresetować to pole w żądaniu klasy lub obiektu.
Kroki integracji
Aby wywołać te powiadomienia, musisz użyć dotychczasowych wywołań UPDATE lub PATCH i określić notifyPreference. Podczas aktualizowania pola w klasie lub obiekcie możesz dodać nowe pole notifyPreference
do żądania klasy lub obiektu, aby wywołać powiadomienie.
Przykładowe żądanie JSON do aktualizacji i powiadamiania na zajęciach
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
Ustawienie wartości notifyPreference
na notifyOnUpdate
spowoduje wysłanie powiadomienia, o ile zaktualizowane pole jest obecnie obsługiwane.
Obsługiwane pola
LoyaltyClass
- rewardsTier
- secondaryRewardsTier
- programName
LoyaltyObject
- loyaltyPoints.balance
- secondaryLoyaltyPoints.balance
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.