Tipi di notifiche
Aggiungi messaggio e Avvisa
Sfondo
Dopo che un utente ha aggiunto una tessera, potresti volergli inviare un messaggio relativo alla tessera e assicurarti che riceva una notifica. Se utilizzi la richiesta dell'API Add Message con un valore message_type
uguale a
TEXT_AND_NOTIFY
, si verifica quanto segue:
- Un elemento "Messaggio" viene aggiunto al "retro della tessera" (noto anche come Modello dettagli) e viene inviata una notifica push agli utenti con la tessera salvata.
- Quando l'utente tocca la notifica, Google Wallet si apre sulla parte anteriore della tessera (ovvero nella visualizzazione Scheda) e l'utente vedrà un callout nella parte superiore della schermata con un pulsante "Visualizza messaggio".
- Se fanno clic sul callout, gli utenti vengono indirizzati al retro della tessera, dove sono evidenziati i nuovi messaggi non letti.
Alcune considerazioni sull'invio di messaggi con notifiche agli utenti
- Per ricevere le notifiche push relative ai messaggi, gli utenti devono aver attivato le notifiche per le tessere.
- I messaggi possono contenere URI del tuo sito web o della tua app. I link ipertestuali devono essere un sito web o un'app correlati alla tessera. È una violazione delle Norme relative all'utilizzo accettabile inviare gli utenti a link non correlati alla tessera.
- Puoi inviare un massimo di 3 messaggi che attivano una notifica push nell'arco di 24 ore. Google potrebbe limitare la tua quota di recapito di notifiche push se ritiene che tu stia inviando spam ai tuoi utenti.
- La notifica push visualizzata dagli utenti sulla schermata di blocco è controllata da Google Wallet.
- Puoi utilizzare i metodi UPDATE o PATCH per modificare o rimuovere i dati dei messaggi utilizzando l'endpoint di classe o oggetto normale.
Passaggi per l'integrazione
Quando vuoi notificare agli utenti un nuovo messaggio del gestore aggiunto utilizzando l'API AddMessage, devi aggiornare AddMessageRequest in modo che il Message contenente il nuovo testo abbia MessageType TEXT_AND_NOTIFY anziché TEXT.
Esempio di richiesta JSON per aggiungere un messaggio e inviare una notifica in una classe di documenti di viaggio
… "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" }, …
Esempio di richiesta JSON per aggiungere un messaggio e una notifica in un oggetto 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" }, …
Esempio di risposta per aggiungere un messaggio e inviare una notifica per un corso superato
// 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" }, …
Gestione delle eccezioni
Qualsiasi tentativo di invio di notifiche per più di 3 volte restituirà una risposta QuotaExceededException. Eventuali aggiornamenti successivi alla pass possono essere impostati utilizzando "TEXT" anziché "TEXT_AND_NOTIFY", come descritto nella sezione Passaggi di integrazione.
Aggiorna campo e notifica
Sfondo
Dopo che un utente ha aggiunto una tessera, ti consigliamo di attivare una notifica push quando aggiorni determinati campi. La notifica verrà visualizzata nella schermata di blocco dell'utente e lo informerà che c'è un aggiornamento della sua tessera. Questa notifica verrà attivata solo per un sottoinsieme specifico di campi definito di seguito utilizzando i metodi dell'API UPDATE e PATCH. Una volta effettuata una chiamata API per aggiornare la tessera, si verifica quanto segue:
- Viene attivata e visualizzata una notifica push nella schermata di blocco dell'utente per informarlo di un aggiornamento della tessera.
- Quando l'utente tocca la notifica, Google Wallet si apre sulla parte anteriore della tessera (ovvero nella visualizzazione Scheda) e l'utente vedrà un callout nella parte superiore dello schermo con il pulsante "Esamina aggiornamenti".
- Se fa clic sul pulsante, l'utente viene indirizzato a una schermata in cui può visualizzare i campi modificati dall'aggiornamento.
Alcune considerazioni sull'invio di notifiche di aggiornamento dei campi
- Per ricevere le notifiche push relative agli aggiornamenti, gli utenti devono aver attivato le notifiche per le tessere.
- Puoi inviare un massimo di 3 aggiornamenti che attivano una notifica push in un periodo di 24 ore. Google potrebbe limitare la tua quota di recapito delle notifiche push se ritiene che tu stia inviando spam ai tuoi utenti.
- La notifica push che gli utenti vedono nella schermata di blocco è controllata da Google Wallet.
- Il campo
notifyPreference
è un campo transitorio che esiste solo in questa richiesta. Per le richieste future in cui vuoi attivare una notifica, dovrai reimpostare questo campo nella richiesta di classe o oggetto.
Passaggi per l'integrazione
Per attivare queste notifiche, dovrai utilizzare le chiamate UPDATE o PATCH esistenti e specificare notifyPreference. Quando aggiorni un campo in un corso o in un oggetto, puoi
aggiungere un nuovo campo, notifyPreference
, alla richiesta del corso o dell'oggetto per attivare la
notifica.
Esempio di richiesta JSON per aggiornare e inviare notifiche in un corso
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
L'impostazione di notifyPreference
su notifyOnUpdate
attiverà una notifica, a condizione che il campo aggiornato sia attualmente supportato.
Campi supportati
EventTicketClass
- eventName
- eventVenue.name
- eventvenue.address
- eventDateTime.doorsOpen
- eventDateTime.start
EventTicketObject
- eventSeat.seat
- eventSeat.row
- eventSeat.section
- eventSeat.gate