2015-09-22 19 views
9

Sto utilizzando un segno per gestire la notifica di pish sia per la mia app web che ionica. La mia domanda èTargeting avanzato con notifica push

Posso impostare i segmenti utente utilizzando l'API di riposo del server?

Desidero dare ai miei utenti la possibilità di iscriversi a eventi specifici (canali) per limitare le notifiche push ricevute.

Esempio

user1 subscribed to group I'd (1,3,8) 
user2 groups(5,8,11) 
User3 groups(12,13) 

Quando evento è accaduto sui gruppi 8.

Come posso inviare notifiche push a tutti gli utenti iscritti al gruppo 8? -nel mio esempio sopra la notifica deve essere inviata all'utente1 & utente2 ma non 3.

risposta

11

Attualmente OneSignal non supporta la creazione dinamica di segmenti tramite l'API, tuttavia esiste un modo migliore per eseguire ciò che è necessario.

È possibile utilizzare la funzionalità di tag per assegnare i dati personalizzati agli utenti e quindi è possibile inviare notifiche agli utenti che corrispondono a tag specifici. I tag vengono generalmente impostati chiamando il metodo SetTags nella tua app, ma possono anche essere impostati tramite l'API OneSignal.

Nel tuo caso, per esempio, si potrebbe assegnare i seguenti tag per ogni utente: campo

User1 Tags: group1=true,group3=true,group8=true 
User2 Tags: group5=true,group8=true,group3=true 
User3 Tags: group12=true,group13=true 

Avanti, tramite l'API OneSignal, è possibile utilizzare i "tag" per fornire solo le notifiche per gli utenti che corrispondono a uno o più tag.

È anche possibile creare un segmento per ciascun tag sul dashboard, quindi tramite l'API o tramite il dashboard è possibile specificare quali segmenti (e quindi tag) devono ricevere la notifica.

+0

Grande lo userà, ma influenzerebbe le prestazioni se l'utente ha troppi tag? – Zalaboza

+0

No, non ci sono perdite di prestazioni se un utente ha molti tag. – Gdeglin

+0

"Per prestazioni ottimali, utilizzare solo fino a 15 tag." FONTE: https://documentation.onesignal.com/docs/frequently-asked-questions#section-what-is-the-limit-on-the-number-of-customtags-i-can-create-with- signignal- – Ladmerc

3

Il problema con l'approccio delineato da @Gdeglin è che sarà necessario gestire le informazioni del gruppo sia sul server che su OneSignal. Quando hai 2 fonti di verità per qualcosa di così complesso e dinamico come gruppi sei destinato a incontrare problemi.

Ad esempio, cosa succede se il Gruppo 8 viene cancellato? Oltre all'aggiornamento del proprio database, è necessario utilizzare l'API per aggiornare tutti gli utenti OneSignal appartenenti al Gruppo 8. Immagina che il gruppo contenga 1000 utenti. Che schifo.

Invece di aggiungere tag grupponame, aggiungere un tag "userId" a ciascun utente (Player) registrato con OneSignal. Ora, quando un gruppo cambia, non c'è nulla da aggiornare con OneSignal.

Il compromesso è che l'invio di un messaggio a tutti i membri del gruppo richiede N chiamate API a OneSignal invece di una sola. Sembra che sia possibile fornire più corrispondenze di tag in una singola chiamata API, ma non è chiaro quanto bene si riduca.

+1

concordo, oneSignal ci sta dando davvero del filo da torcere perché gli utenti possono lasciare un gruppo o un gruppo può cambiare, e comunque l'utente viene avvisato perché non è entrato presto, quindi i suoi tag non vengono aggiornati. – Zalaboza