Как да изпращате партиди от милиони насочени известия с помощта на Amazon Simple Notification Service (SNS)

Подобно на много компании, тази, за която работя, не се чувства удобно при използването на APNS на Apple: Няма официална библиотека, поток, който се прекъсва на случаен принцип и т.н. APNS на Apple... Ето защо търсим алтернатива и когато Amazon заяви, че може да изпраща милиони насочени известия почти безплатно, ние решихме, че SNS ще бъде идеалното решение.

Проблемът е, че често имаме повече от един милион устройства, които трябва да адресираме, и очевидно нашите насочени кампании рядко са насочени към едни и същи устройства. Доколкото копахме, единственото решение е да се използва AWS API, който предоставя само метод за създаване на крайните точки една по една! Това е голяма работа за нас, защото след известно тестване сметнахме, че за да създадем 1 000 000 крайни точки, ще са необходими приблизително 15 часа (~17 обаждания/сек).

Дори след като всички крайни точки са създадени, за да се изпратят всички натискания наведнъж, крайните точки трябва да бъдат добавени към тема и отново, това трябва да се направи една крайна точка наведнъж (така че още 15 часа). Събитие, ако направим многонишкови нашите обаждания до да кажем 30 нишки, пак ще отнеме час!

И така, може ли някой да ни каже дали има нещо, което сме пропуснали? Наистина ли Amazon очаква от нас да наводним техните уеб услуги в рамките на 30 часа, за да създадем една push кампания? Как могат да се преструват, че изпращат милион натискания за секунда, ако подготовката му отнема часове? Работят ли върху партиден API за SNS? Възможно ли е да включите база данни на Amazon, съдържаща токените, за да подадете SNS тема?


comment
Мога ли да попитам, синхронизирахте ли цялата тази работа? Изчаквате да бъде създаден един EndpointArn, преди да създадете следващия? Ще правя подобно на вас, но планирайте всички обаждания да са асинхронни. Просто се опитвам да предвидя какво мога да преживея въз основа на това, което сте преживели. Благодаря.   -  person Eric Olson    schedule 22.10.2014
comment
Същият проблем тук. Amazon добави моя акаунт към заявката за функция, но знаем, че това означава малко. Вместо да си правим труда да абонираме нашите потребители за теми, ние просто изпращаме съобщенията директно до API за публикуване, тъй като това е същото. Все още отнема години, трябва да можем да намалим 10 000 на минута. Crazy Amazon не поддържа групова заявка   -  person Mike Miller    schedule 22.01.2015
comment
Има конкретно ограничение на заявките, които можете да направите от екземпляр на EC2. Но Amazon не ви казва колко са... Така че трябва да стартирате около 15 пъти t2.micro екземпляри, така че всеки EC2 да има собствен лимит на заявките. С този подход вашият процес ще завърши 15 пъти по-бързо   -  person Barbaros Alp    schedule 19.08.2015
comment
Невероятно, това не се поддържа от AWS - натискането на SNS е последваща мисъл и не може да се използва в сценарии от реалния живот   -  person RunLoop    schedule 29.09.2015


Отговори (1)


Изглежда, че Amazon предоставя няколко метода за добавяне на крайни точки/токени, включително CSV импортер (но ограничен до 2MB csv файлове наведнъж). Те също така предоставят API и примерно Java приложение за групово качване на токени (връзка).

Точката за абонамент за тема се адресира от служител на Amazon SNS тук, като по същество обяснява, че за съжаление няма партиден API.

Има няколко други доставчици на насочени известия от трети страни, които могат да отговорят по-добре на вашите нужди, когато става въпрос за често създаване на персонализирани сегменти/теми:

  1. OneSignal (Разкриване: управлявам тази компания)
  2. MixPanel
  3. Разбор
person Gdeglin    schedule 20.06.2014
comment
Днес Mixpanel не поддържа системата за съобщения на Amazon (ADM). Не съм сигурен дали Parse поддържа ADM. - person Tobliug; 22.10.2015
comment
Здравей Gdeglin, аз също имам подобен проблем и мислим да използваме onesignal. Търсим да изпратим персонализирано известие до всеки потребител. Как мога да използвам onesignal за персонализирано известяване до повече от милион потребителска база? - person pankaj; 14.10.2016
comment
@pankaj Здравей! Моля, отворете нова тема за stackoverflow за този въпрос или се свържете с екипа на OneSignal на [email protected] за насоки. - person Gdeglin; 15.10.2016
comment
@Gdeglin публикува като нов въпрос: stackoverflow. com/questions/40083914/ - person pankaj; 17.10.2016
comment
@Gdeglin - Как може OneSignal да предложи всичко това безплатно? Как, като клиент, мога да разчитам, че ще бъдете след около 2 години? Parse беше безплатен, беше подкрепен от FB и все пак трябваше да затвори. - person Pritam Barhate; 19.10.2016
comment
Не се притеснявам за безплатната част, това, което ме притеснява, е Ние правим пари, като използваме данните, които събираме, за да подобрим изживяването в мрежата и мобилните устройства. Предлагаме и персонализирани решения на корпоративни клиенти. Чудя се какво е подобряването на уеб и мобилните изживявания и какво всъщност правите с данните. - person ; 23.07.2017