Uruchamiaj powiadomienia push

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:

  1. Do „rewersu karty” (czyli szablonu szczegółów) dodawany jest element „Wiadomość”, a użytkownikom, którzy zapisali kartę, wysyłane jest powiadomienie push.
  2. 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ść”.
  3. 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:

  1. Na ekranie blokady użytkownika wyświetla się powiadomienie push z informacją o aktualizacji dokumentu.
  2. 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ę”.
  3. 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.