Насочените известия са жизненоважен маркетингов инструмент за всеки, който има мобилно приложение.
Това е най-добрият начин да общувате с вашите потребители, като изпращате спешни съобщения до техните мобилни телефони.
Мобилно приложение може да изпрати на потребител насочено известие, което е кратко изскачащо съобщение, което се появява на неговия смартфон дори когато приложението не е отворено.
Тези сигнали могат да включват напомняния, актуализации, отстъпки и други.
Те са създадени, за да привличат вниманието на потребителите. Заглавие, съобщение, картина и URL са възможни компоненти на насочено известие. Емотикони, лога и други неща също могат да бъдат част от тях.
Операционни системи като Apple OS и Google Android имат различни интерфейси за насочени известия.
Насочените известия могат да се използват за насърчаване на ангажираността, увеличаване на използването на приложението, повлияване на реализациите и много други.
Опциите са наистина неограничени.
Насочени известия за мобилни устройства, известни също като насочени известия за мобилни устройства, могат да допълнят използването на канали като имейл, SMS и онлайн насочени известия с редица специални предимства.
Ще получите кратко описание на услугата за уведомяване в тази публикация и информация за нейната цел, дизайн на високо ниво, специални функции и др.
Цел
Да се разработи услуга за уведомяване, която може ефективно да разпространява съобщения от продукт към потребител по различни канали
Изисквания:
- API за изпращане: Публикувайте оторизирана крайна точка, така че всеки бекенд и микроуслуга да могат да започнат да доставят известия.
- Съвместими канали: Поддръжка за доставяне на предупреждения до всеки канал, който публикува API, като имейл, текстово съобщение и натискане.
- Предпочитания на потребителя: Позволете на потребителите да избират своите потребителски предпочитания за всеки канал и известие.
- Ограничения за съответствие на услугата надолу по веригата: Избягвайте да имате своя електронна поща или SMS услугата е забавена или спряна.
- Мащабируем: Позволява (теоретично) безкрайно хоризонтално мащабиране.
Архитектура на високо ниво
Да приемем, че вашият код трябва да уведоми някого:
- Крайната точка POST /send се извиква от вашия код. За всеки наличен канал заявката включва потребителския идентификатор на получателя, типа на известието и неговото съдържание.
- OAuth2 потокът на идентификационните данни на клиента се използва от крайната точка /send за удостоверяване на заявката.
- След това изборът на потребителя за уведомяване се изисква от базата данни. Предпочитанията показват дали потребителят е абониран за определен канал и известие.
- От базата данни той ще прочете потребителски характеристики като имейл адреси и телефонни номера.
- Тази крайна точка ще създаде обект на съобщение, който включва потребителски характеристики, канали и специфично за канала съдържание. Това обаче няма да включва деактивирани канали. След това съобщението се доставя до разклонителна услуга.
- Входящите съобщения се разпространяват в опашките със задачи чрез услугата fanout. Филтрирането обаче е налице, за да се игнорират опашките със задачи за канали, които не са посочени в съобщението.
- Всеки канал има процесор и работна опашка. Процесорът поема задачата и след това пита за подходящата услуга, като транзакционен имейл или SMS услуга.
Основни елементи на архитектурата
ПОСТ/изпратено
Може би сте забелязали, че само потребителският идентификатор и нито имейл адресът, нито телефонният номер са включени в заявката към тази крайна точка. Това позволява на услугите за уведомяване да останат анонимни за вашите потребители.
За да се осигури мащабируемост, крайната точка се поставя зад a балансиране на натоварването.
Вашето типично удостоверяване, обърнато към потребителя, не осигурява защита за крайната точка.
Трябва да използвате отделен метод за удостоверяване, известен като OAuth2 Client Credential Flow, използван за комуникация между сървъри, тъй като услугата, която изпраща заявката, е самият софтуер.
Вашето приложение ще предоставя известия на много различни места. Можете да използвате функцията за изпращане почти навсякъде, като например от нова кодова база или вашия работен процес за изграждане, като я внедрите като крайна точка зад балансиращо натоварване, което гарантира, че е независимо мащабируема.
PUT/потребителски предпочитания
Използвайте двойка ключ/стойност или NoSQL база данни, която е изключително мащабируема. Форматирайте записите по следния начин: КЛЮЧ: примерен потребителски идентификатор: примерен идентификатор на известие, СТОЙНОСТ: [„имейл“, „състояние: вярно“, „SMS“, „състояние: невярно“, канал: „имейл“, „имейл“, състояние : вярно
Ако в записите присъстват „фалшиви“ стойности, крайната точка на предаване ще изключи съответния канал от съобщението, доставено на вентилатора. Ако няма запис за канал, потребителят не е посочил изрично своите предпочитания. В този сценарий трябва да се съгласите с неизпълнение.
Потребителят може да променя данните в базата данни с потребителски предпочитания, като използва вашия потребителски интерфейс и обикновена крайна точка, която е защитена от вашите стандартни процедури за удостоверяване.
Потребителите ще се раздразнят и ще бъдат принудени да определят вашите сигнали като спам или да ги заглушат, ако не им предоставите опцията да променят своите предпочитания за известяване. В резултат на това вашето потребителско изживяване ще бъде допълнително влошено, а услугите за доставка на имейл или SMS могат да спрат вашия акаунт.
Fan Out
Fanout копира съобщение и го разпространява на различни места. Те са достъпни и много мащабируеми. Използвайте SNS в AWS. Използвайте Pub/Sub в Azure и теми и абонаменти в Google Cloud Platform.
За да предотвратите изпращането на безсмислени съобщения до изключени опашки за задания на канала, можете да конфигурирате филтриране между опашките за разклоняване и работните опашки. Например в AWS SNS можете да посочите, че опашката за задания за имейл трябва да получава съобщението fanout само ако има стойността „имейл“ в полето „канали“.
Дори ако можете да създадете код за изпращане на идентично съобщение до необходимите опашки за задания, fanout е по-ефективен и изисква по-малко кодиране. Fanout предлага и удобството за добавяне и премахване на опашки, което ви позволява да разширите и реорганизирате каналите си.
Обработка на работа
Съобщенията се съхраняват в опашки в очакване на обработка от вашите процесори за работа. Освен това са достъпни и много мащабируеми. Процесорите за работа са части от код, които обработват съобщения от опашките за работа. В зависимост от обема на съобщенията в опашката, те могат да се мащабират.
Процесорът на задания трябва да направи извикване на API към подходящия доставчик, за да достави известието в нашия сценарий чрез транзакционна имейл услуга.
По-голямата част от доставчиците на имейл, SMS и подобни съобщения имат строги изисквания за количеството и калибъра на съобщенията, които изпращате. Освен това искате да ги проучите и да настроите подходящи процедури внимателно. Ето нашия съвет как да избегнете прекратяване на AWS SES.
Можете да дефинирате максимален брой процесори за работа, за да предотвратите превишаване на ограниченията на тарифите на услугите за доставка.
Допълнителни подобрения
Можете да хвърлите един поглед на куп от тези елементи.
- Те се нуждаят от собствени API, таблици и т.н., за да имат мащабируема услуга за уведомяване в приложението.
- Събиране и показване на отчета за отваряне/щракване
- Премахване на съдържанието на известията от кода и оставяне на вашия продуктов и дизайнерски екип да променя визуално предупрежденията вместо това без промяна на кода
- Без да променя какъвто и да е код, вашият екип може да използва таблото за управление, за да активира или деактивира известията за определени канали.
Предимства на Push известяване
- Увеличете взаимодействието с потребителите: Актуализациите и свежите материали ще поддържат интереса на вашите потребители.
- Увеличете видимостта на комуникацията: Уверете се, че вашите съобщения се получават незабавно, дори когато хората не са активни. Изпращайте спешни известия и осигурете на потребителите гладко изживяване.
- Поддържайте задържане: Използвайте насочени известия, които са ясно видими, за да подтикнете потребителите си да се върнат. Можете да увеличите задържането на потребителите и да намалите оттока, като върнете клиентите обратно към вашия уебсайт и приложение.
- Подобряване на реализациите: Чрез създаване на насочени кампании около награди в приложението, промоции, отстъпки или други предложения, можете да увеличите продажбите.
- Мащабирайте предприятието си: Вашият комуникационен подход трябва да се мащабира с разширяването на вашата аудитория. Тъй като клиентската ви база се разширява, насочените известия са ефективен метод да поддържате връзка с тях.
- Направете потребителското изживяване свързано (UX): Чрез предоставяне на сигнали за транзакции на потребителите, за да ги държите информирани и да осигурите гладко междуканално изживяване, можете да намалите триенето по време на пътуването на клиента.
Заключение
В заключение, придобихме знания за архитектурата на мащабируема услуга за насочени известия. Също така разгледахме инструментите, които се предоставят от всички основни доставчици на облачни услуги, така че да можете да базирате своите известия на тях.
Въпреки факта, че се опитах да ви дам общ преглед на архитектурата на системата за насочени уведомления, има още много неща, които се случват зад кулисите.
Искрено се надявам да намерите тази информация за полезна и да я използвате добре.
Оставете коментар