19

Podobnie jak wiele firm, ten, w którym pracuję, nie jest wygodny w korzystaniu z APNS Apple: brak oficjalnej biblioteki, strumień losowy, itp. ... To samo dotyczy systemu Android: jest ograniczony do małych partii, zupełnie inny niż APNS Apple ... Dlatego szukamy alternatywy i kiedy Amazon twierdzi, że jest w stanie wysłać miliony powiadomień push prawie za darmo, możemy uważał, że SNS będzie idealnym rozwiązaniem.Jak wysłać partie milionów powiadomień push za pomocą usługi Amazon Simple Notification Service (SNS)

Problem polega na tym, że często mamy do czynienia z ponad milionem urządzeń i oczywiście nasze kampanie typu "push" rzadko trafiają na te same urządzenia. Jeśli chodzi o kopanie, jedynym rozwiązaniem jest użycie interfejsu API AWS, który zapewnia tylko metodę tworzenia punktów końcowych po jednym na raz! To dla nas wielka sprawa, ponieważ po kilku testach doszliśmy do wniosku, że stworzenie 1 000 000 punktów końcowych zajmie około 15 godzin (~ 17 połączeń/sek).

Nawet po utworzeniu wszystkich punktów końcowych, aby wysłać wszystkie impulsy naraz, należy dodać punkty końcowe do tematu i ponownie wykonać jeden punkt końcowy na raz (czyli o 15 dodatkowych godzin). Wydarzenie, jeśli będziemy wielowątkowe nasze połączenia, powiedzmy, 30 wątków, będzie nadal trwało godzinę!

Czy ktoś mógłby nam powiedzieć, czy jest coś, co przegapiliśmy? Czy Amazon naprawdę oczekuje, że zalejemy ich serwisy internetowe w ciągu 30 godzin, aby stworzyć jedną kampanię wypychającą? Jak mogą udawać, że wysyłają milion pchnięć w ciągu sekundy, jeśli przygotowanie ich zajmuje kilka godzin? Czy pracują nad wsadowym API dla SNS? Czy możliwe jest podłączenie bazy danych Amazon zawierającej tokeny, aby móc wysyłać temat SNS?

+0

mogę zapytać, robiłeś wszystko działa synchronicznie? Oczekiwanie na utworzenie EndpointArn przed utworzeniem następnego? Będę robić podobne do ciebie, ale planuję, aby wszystkie połączenia były asynchroniczne. Próbuję tylko przewidzieć, czego mogę doświadczyć na podstawie tego, czego doświadczyłeś. Dzięki. –

+1

Ten sam problem tutaj. Amazon dodał moje konto do żądania funkcji, ale wiemy, że to niewiele znaczy. Zamiast zawracać sobie głowę subskrypcjami naszych użytkowników na tematy, po prostu wysyłamy wiadomości bezpośrednio do interfejsu API publikowania, ponieważ sprowadza się to do tego samego. Nadal trwa wieki, musimy być w stanie zrzucić 10.000 minut. Szalona Amazonka nie obsługuje żądania zbiorczego –

+0

Istnieje określony limit żądań, który można wykonać z instancji EC2. Ale Amazon nie mówi, ile to jest ... Dlatego powinieneś uruchomić około 15x instancji t2.micro, aby każdy EC2 miał własny limit żądań. Dzięki temu podejściu proces zakończyłby się 15x razy szybciej. –

Odpowiedz

4

Wygląda na to, że Amazon oferuje kilka metod dodawania punktów końcowych/tokenów, w tym importera CSV (ale ograniczonego do 2 MB plików csv naraz). Dostarczają również API i przykładową aplikację java dla tokenów przesyłania zbiorczego (link).

Temat punktu subskrypcji jest adresowany przez pracownika Amazon SNS nr here, wyjaśniając w zasadzie, że nie ma dostępnego API wsadowego do tego niestety.

Istnieje kilka innych 3rd party Push dostawcy powiadomień, które mogą lepiej spełniać swoje potrzeby, jeśli chodzi o często tworzenia niestandardowych segmentów/tematy:

  1. OneSignal (Disclosure: biegnę ta firma)
  2. MixPanel
  3. Parse
+0

Obecnie Mixpanel nie obsługuje systemu przesyłania wiadomości Amazon (ADM). Nie jestem pewien, czy funkcja Parse obsługuje ADM. – Tobliug

+0

Witam Gdeglin, ja też mam podobny problem i myślimy o używaniu onesignal. Chcemy wysyłać spersonalizowane powiadomienia do każdego użytkownika. Jak mogę użyć onesignal do spersonalizowanych powiadomień do ponad miliona użytkowników? – pankaj

+0

@pankaj Hi! Otwórz nowy wątek stackoverflow dla tego pytania lub skontaktuj się z zespołem OneSignal pod adresem [email protected], aby uzyskać wskazówki. – Gdeglin

Powiązane problemy