2015-09-22 25 views
9

Używam onesignal do obsługi powiadomień pish zarówno dla mojej aplikacji internetowej i jonowej. Moje pytanie to:Onesignal powiadomienie push zaawansowane kierowanie

Czy mogę skonfigurować segmenty użytkowników za pomocą apia serwera odpoczynku?

Chcę umożliwić moim użytkownikom subskrybowanie określonych wydarzeń (kanałów) w celu ograniczenia otrzymywanych powiadomień push.

Przykład

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

Kiedy zdarzenie miało miejsce na grupach 8.

Jak mogę wysyłać powiadomień push do wszystkich użytkowników subskrybujących grupy 8? - w powyższym przykładzie powyższe powiadomienie powinno zostać wysłane do użytkownika1 & użytkownik2, ale nie 3.

Odpowiedz

11

OneSignal obecnie nie obsługuje dynamicznego tworzenia segmentów za pośrednictwem interfejsu API, jednak istnieje lepszy sposób robienia tego, co jest potrzebne.

Możesz użyć funkcji znaczników, aby przypisać niestandardowe dane do użytkowników, a następnie możesz dostarczyć powiadomienia do użytkowników, którzy pasują do określonych tagów. Tagi są zazwyczaj ustawiane przez wywoływanie metody SetTags w Twojej aplikacji, ale można je również ustawić za pomocą interfejsu API OneSignal.

W twoim przypadku, na przykład, będzie można przypisać następujące tagi dla każdego użytkownika:

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

Następnie przez OneSignal API, można użyć „tagów” ​​Pole tylko do dostarczania powiadomień do użytkowników którzy dopasowują jeden lub więcej tagów.

Można również utworzyć segment dla każdego tagu na pulpicie nawigacyjnym, a następnie za pośrednictwem interfejsu API lub pulpitu nawigacyjnego można określić, które segmenty (a zatem tagi) powinny otrzymać powiadomienie.

+0

Świetnie to wykorzystasz, ale czy wpłynie to na wydajność, jeśli użytkownik ma zbyt wiele tagów? – Zalaboza

+0

Nie, nie ma strat w wydajności, jeśli użytkownik ma dużo tagów. – Gdeglin

+0

"Aby uzyskać najlepszą wydajność, używaj tylko do 15 tagów." ŹRÓDŁO: https://documentation.onesignal.com/docs/fotywnie-wybrane-przypomnienia-sekcja-jak-jest-przy-znaczeniem-na-numeru-zwykle-tabeli--może-wykonać-- onesignal- – Ladmerc

3

Problem z podejściem nakreślonym przez @Gdeglin polega na tym, że będziesz musiał zarządzać informacjami o grupie zarówno na serwerze, jak i OneSignal. Kiedy masz dwa źródła prawdy na coś tak złożonego i dynamicznego jak grupy, na pewno wpadniesz w kłopoty.

Na przykład, co się stanie, jeśli grupa 8 zostanie usunięta? Oprócz aktualizacji własnej bazy danych, musisz użyć interfejsu API, aby zaktualizować wszystkich użytkowników OneSignal, którzy należeli do grupy 8. Wyobraź sobie, że grupa zawiera 1000 użytkowników. Fuj.

Zamiast dodawać znaczniki groupname, dodaj znacznik "userId" do każdego użytkownika (odtwarzacza) zarejestrowanego w OneSignal. Teraz, gdy grupa się zmienia, nic nie można zaktualizować za pomocą OneSignal.

Kompromitacja polega na tym, że wysyłanie wiadomości do wszystkich osób w grupie wymaga wywołania N API do OneSignal zamiast tylko jednego. Wygląda na to, że możliwe jest dostarczenie wielu dopasowań tagów w jednym wywołaniu API, ale nie jest jasne, jak dobrze to skaluje.

+1

, zgadzam się, że oneSignal naprawdę utrudnia nam czas, ponieważ użytkownicy mogą opuścić grupę lub grupa może się zmienić, a mimo to użytkownik otrzymuje powiadomienie, ponieważ nie zalogował się wkrótce, więc jego tagi nie są odświeżane. – Zalaboza