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.

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.