Powiadomienia wywoływane przez partnera
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 parametrem message_type
równym TEXT_AND_NOTIFY
, nastąpi:
- Do „rewersu karty” (czyli szablonu szczegółów) dodawany jest element „Wiadomość”, a użytkownikom, którzy zapisali kartę, wysyłane jest powiadomienie push.
- Gdy użytkownik kliknie powiadomienie, otworzy się Portfel Google z kartą (czyli widok karty). Użytkownik zobaczy w górnej części ekranu przycisk „Wyświetl wiadomość”.
- Po kliknięciu tego okienka użytkownicy przejdą do tyłu karty, gdzie nowe nieprzeczytane wiadomości są wyróżnione.
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ą 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.
Kroki 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 przepustki można ustawić, używając parametru „TEXT” zamiast „TEXT_AND_NOTIFY”, jak opisano w krokach integracji.
Zaktualizuj pole i powiadomienie
Tło
Gdy użytkownik doda kartę, możesz uruchomić powiadomienie push, gdy zaktualizujesz określone pola. Powiadomienie pojawi się na ekranie blokady użytkownika i poinformuje go o aktualizacji karty. To powiadomienie zostanie wygenerowane tylko w przypadku określonego podzbioru pól zdefiniowanych poniżej za pomocą metod UPDATE i PATCH interfejsu API. Gdy wywołasz interfejs API, aby zaktualizować kartę, dzieje się to:
- Na ekranie blokady użytkownika wyświetla się powiadomienie push z informacją o aktualizacji dokumentu.
- Gdy użytkownik kliknie powiadomienie, otworzy Portfel Google, aby wyświetlić kartę (czyli widok karty). W górnej części ekranu zobaczy też przycisk „Sprawdź aktualizację”.
- Po kliknięciu przycisku użytkownik zobaczy ekran z polami, które zostały zmienione przez aktualizację.
Wskazówki dotyczące wysyłania powiadomień o aktualizacjach pól
- Aby otrzymywać powiadomienia push dotyczące aktualizacji, użytkownicy muszą włączyć powiadomienia dotyczące swoich kart.
- W ciągu 24 godzin możesz wysłać maksymalnie 3 aktualizacje, które wywołują powiadomienie push. Google może ograniczyć Twoją miesięczną kwotę powiadomień push, jeśli uzna, że wysyłasz spam do użytkowników.
- Powiadomienia push wyświetlane użytkownikom na ekranie blokady są kontrolowane przez Portfel Google.
- Pole
notifyPreference
to pole przejściowe, które istnieje tylko w ramach tego żądania. W przyszłości, gdy chcesz wywołać powiadomienie, musisz zresetować to pole w prośbie o klasę lub obiekt.
Kroki integracji
Aby wywołać te powiadomienia, musisz użyć istniejących wywołań UPDATE lub PATCH i określić preferencje powiadomienia (notifyPreference). Podczas aktualizowania pola w klasie lub obiekcie możesz dodać do żądania klasy lub obiektu nowe pole notifyPreference
, aby wywołać powiadomienie.
Przykład żądania JSON służącego do aktualizowania i powiadamiania w zajęciach
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
Ustawienie wartości notifyPreference
na notifyOnUpdate
spowoduje wyświetlenie powiadomienia, o ile tylko zaktualizowane pole jest obecnie obsługiwane.
Obsługiwane pola
FlightObject
- boardingAndSeatingInfo.seatNumber
- boardingAndSeatingInfo.seatAssignment
Automatyczne powiadomienia wywoływane przez Portfel Google
Powiadomienie o zbliżającym się terminie
Trzy godziny przed lotem Google Wallet wysyła do użytkownika powiadomienie. Czas lotu jest określany przez class.localScheduledDepartureDateTime
.
Jeśli użytkownik chce otrzymywać powiadomienia, muszą one być włączone. Aby to sprawdzić, wybierz Ustawienia > Powiadomienia i sprawdź, czy włączona jest opcja Najnowsze informacje dotyczące Twoich kart.
Powiadomienia wyświetlają się w obszarze powiadomień i na ekranie blokady, jeśli użytkownik ma włączone powiadomienia na ekranie blokady.
Powiadomienie ma taki format, którego nie można zmienić:
Boarding pass for your flight to class.destination.airportIataCode
Gdy użytkownik dotknie powiadomienia i odblokuje urządzenie, karta pojawi się w aplikacji Portfel Google.
Jeśli użytkownik ma kilka kart, wyświetli się tylko ta, która była używana jako ostatnia. Jeżeli ma zapisane karty jako grupę kart pokładowych, w powiadomieniu pojawi się tylko jedna z kart należąca do grupy. Jednak po jej dotknięciu użytkownik będzie mógł przesuwać palcem w lewo i prawo, by zobaczyć inne karty w grupie.
Powiadomienie jest przypięte i nie zamyka się automatycznie po otwarciu. Następuje to 60 minut po class.localScheduledDepartureDateTime
.
Powiadomienie o aktualizacji lotu
Gdy pewne pola lotu ulegną zmianie, użytkownicy z dodanymi kartami pokładowymi otrzymają na swoich urządzeniach powiadomienie push. Dzieje się tak tylko po spełnieniu pewnych warunków.
Terminal i bramka w miejscu wylotu
Jeśli zmienisz class.origin.terminal
lub class.origin.gate
i będzie spełniony poniższy warunek, zostanie wysłane powiadomienie o zmianie pola.
- Pozostało mniej niż 3 godziny do
class.localScheduledDepartureDateTime
.
Powiadomienie ma taki format: „Linia lotnicza Przykładowe Linie Lotnicze zmieniła bramkę na A1”. Nie można go zmienić.
Czas wejścia na pokład i czas wylotu
Jeśli zmienisz class.localBoardingDateTime
lub class.localEstimatedOrActualDepartureDateTime
i będą spełnione poniższe warunki, zostanie wysłane powiadomienie o zmianie pola.
- Pozostało mniej niż 24 godziny do
class.localScheduledDepartureDateTime
. - Czas zmieni się przynajmniej o 10 minut.
Oto format powiadomienia: „_Linia lotnicza Przykładowe Linie Lotnicze zmieniła czas wejścia na pokład na 18:00_”. Nie można zmienić formatu ani języka.