Uruchamiaj powiadomienia push

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:

  1. Do „tyłu karty” (czyli szablonu szczegółów) dodawany jest element „Wiadomość”, a użytkownicy, którzy mają zapisaną kartę, otrzymują powiadomienie push.
  2. 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ść”.
  3. 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:

  1. Powiadomienie push jest wywoływane i wyświetlane na ekranie blokady użytkownika, informując go o aktualizacji karty.
  2. 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ę”.
  3. 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

FlightObject
  • boardingAndSeatingInfo.seatNumber
  • boardingAndSeatingInfo.seatAssignment

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.

Automatyczne powiadomienia wywoływane przez Portfel Google

Nadchodzące powiadomienie

Trzy godziny przed lotem Portfel Google wysyła do użytkownika powiadomienie. Godzina lotu jest określana przez class.localScheduledDepartureDateTime.

Jeśli użytkownik chce otrzymywać powiadomienia, muszą one być włączone. Aby potwierdzić włączenie powiadomień, 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śli ma dodane 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.

Oto format powiadomienia: „Linia lotnicza Przykładowe Linie Lotnicze zaktualizował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.

Powiadomienie ma taki format: „_Linia lotnicza Przykładowe Linie Lotnicze zmieniła czas wejścia na pokład na 18:00._”. Nie można dostosować formatu ani języka.