Push-апавяшчэнні з'яўляюцца жыццёва важным інструментам маркетынгу для ўсіх, хто мае мабільнае прыкладанне.
Гэта лепшы спосаб зносін з карыстальнікамі, адпраўка тэрміновых паведамленняў на іх мабільныя тэлефоны.
Мабільная праграма можа адпраўляць карыстальніку push-апавяшчэнне, якое ўяўляе сабой кароткае ўсплывальнае паведамленне, якое з'яўляецца на смартфоне, нават калі праграма не адкрыта.
Гэтыя абвесткі могуць уключаць напаміны, абнаўленні, зніжкі і многае іншае.
Яны створаны, каб прыцягваць увагу карыстальнікаў. Загаловак, паведамленне, малюнак і URL - усе магчымыя кампаненты push-апавяшчэння. Эмодзі, лагатыпы і іншыя рэчы таксама могуць быць іх часткай.
Такія аперацыйныя сістэмы, як Apple OS і Google Android, маюць розныя інтэрфейсы для push-апавяшчэнняў.
Push-апавяшчэнні могуць быць выкарыстаны для прасоўвання ўзаемадзеяння, павышэння выкарыстання прыкладанняў, уплыву на канверсіі і шмат іншага.
Варыянты сапраўды бязмежныя.
Push-апавяшчэнні для мабільных прылад, таксама вядомыя як push-апавяшчэнні для мабільных прылад, могуць дапоўніць ваша выкарыстанне такіх каналаў, як электронная пошта, SMS і онлайн-паведамленні, шэрагам асаблівых пераваг.
У гэтай публікацыі вы атрымаеце кароткае апісанне службы апавяшчэнняў і інфармацыю аб яе мэтах, дызайне высокага ўзроўню, спецыяльных функцыях і г.д.
Мэта
Каб распрацаваць службу апавяшчэнняў, якая можа эфектыўна распаўсюджваць паведамленні ад прадукту да карыстальніка па розных каналах
Патрабаванне:
- API адпраўкі: апублікуйце аўтарызаваную канечную кропку, каб любы бэкэнд і мікрасэрвісы маглі пачаць дастаўляць апавяшчэнні.
- Сумяшчальныя каналы: Падтрымка дастаўкі абвестак на любы канал, які публікуе API, напрыклад, па электроннай пошце, тэкставых паведамленнях і push.
- Налады карыстальніка: Дазвольце карыстальнікам выбіраць свае налады для кожнага канала і апавяшчэння.
- Абмежаванні для адпаведнасці абслугоўвання ніжэй па плыні: пазбягайце мець свой электронная пошта або паслуга SMS задушана або спынена.
- Маштабуецца: дазваляе (тэарэтычна) бясконцае гарызантальнае маштабаванне.
Архітэктура высокага ўзроўню
Скажам, ваш код павінен паведаміць камусьці:
- Канчатковы пункт POST /send выклікаецца вашым кодам. Для кожнага даступнага канала запыт уключае ідэнтыфікатар карыстальніка атрымальніка, тып апавяшчэння і яго змест.
- Паток уліковых дадзеных кліента OAuth2 выкарыстоўваецца канчатковай кропкай /send для аўтэнтыфікацыі запыту.
- Затым з базы даных запытваюцца выбары апавяшчэнняў карыстальніка. Параметры паказваюць, ці падпісаны карыстальнік на пэўны канал і апавяшчэнне.
- З базы дадзеных ён будзе чытаць такія характарыстыкі карыстальнікаў, як адрасы электроннай пошты і нумары тэлефонаў.
- Гэтая канчатковая кропка створыць аб'ект паведамлення, які ўключае ў сябе характарыстыкі карыстальніка, каналы і спецыфічны кантэнт для канала. Аднак ён не будзе ўключаць адключаныя каналы. Затым паведамленне дастаўляецца ў службу развешвання.
- Уваходныя паведамленні распаўсюджваюцца ў чэргі заданняў праз службу разветвления. Аднак дзейнічае фільтраванне, каб ігнараваць чэргі заданняў для каналаў, якія не пазначаны ў паведамленні.
- Кожны канал мае працэсар і чаргу працы. Працэсар бярэ на сябе задачу, а затым запытвае адпаведную паслугу, напрыклад, транзакцыйную электронную пошту або службу SMS.
Асноўныя элементы архітэктуры
POST/адпраўлена
Магчыма, вы заўважылі, што толькі userId і ні адрас электроннай пошты, ні нумар тэлефона не ўключаны ў запыт да гэтай канчатковай кропкі. Гэта дазваляе службам апавяшчэнняў заставацца ананімнымі для вашых карыстальнікаў.
Для забеспячэння маштабаванасці канчатковая кропка размяшчаецца ззаду a балансавальнік нагрузкі.
Звычайная аўтэнтыфікацыя карыстальніка не забяспечвае абарону канчатковай кропкі.
Вы павінны выкарыстоўваць асобны метад аўтэнтыфікацыі, вядомы як OAuth2 Client Credential Flow, які выкарыстоўваецца для сувязі паміж серверамі, паколькі сэрвіс, які адпраўляе запыт, з'яўляецца самім праграмным забеспячэннем.
Ваша прыкладанне будзе прадастаўляць апавяшчэнні ў розных месцах. Вы можаце выкарыстоўваць функцыю адпраўкі амаль дзе заўгодна, напрыклад, з новай кодавай базы або працоўнага працэсу зборкі, рэалізаваўшы яе ў якасці канчатковай кропкі за балансірам нагрузкі, што гарантуе, што яна будзе незалежна маштабавацца.
PUT/налады карыстальніка
Выкарыстоўвайце пару ключ/значэнне або базу дадзеных NoSQL, якая надзвычай маштабуецца. Адфарматуйце запісы наступным чынам: КЛЮЧ: узор ідэнтыфікатара карыстальніка: узор ідэнтыфікатара апавяшчэння, ЗНАЧЭННЕ: [“электронная пошта”, “стан: ісціна,” “SMS”, “стан: ілжыва,” канал: “электронная пошта”, “электронная пошта”, стан : праўда”]
Калі ў запісах прысутнічаюць «ілжывыя» значэнні, канчатковая кропка перадачы выключыць адпаведны канал з паведамлення, дастаўленага ў разветвитель. Калі для канала няма запісу, гэта азначае, што карыстальнік відавочна не ўказаў свае перавагі. Вы павінны пагадзіцца на дэфолт у гэтым выпадку.
Карыстальнік можа змяняць даныя ў базе дадзеных карыстальніцкіх налад, выкарыстоўваючы ваш карыстальніцкі інтэрфейс і звычайную канечную кропку, якая абаронена вашымі стандартнымі працэдурамі аўтэнтыфікацыі.
Карыстальнікі будуць раздражняцца і будуць вымушаныя пазначаць вашыя абвесткі як спам або заглушыць іх, калі вы не дасце ім магчымасць змяніць свае налады апавяшчэнняў. У выніку вашаму карыстальніцкаму досведу будзе яшчэ больш пагаршацца, а службы дастаўкі электроннай пошты ці SMS могуць прыпыніць ваш уліковы запіс.
Вентылятар
Fanout капіруе паведамленне і распаўсюджвае яго ў розныя месцы. Яны даступныя і вельмі маштабуюцца. Выкарыстоўвайце SNS у AWS. Выкарыстоўвайце Pub/Sub у Azure і тэмы і падпіскі ў Google Cloud Platform.
Каб прадухіліць адпраўку бессэнсоўных паведамленняў у чэргі заданняў выключанага канала, вы можаце наладзіць фільтраванне паміж чэргамі разветвлення і рабочай. Напрыклад, у AWS SNS вы можаце паказаць, што чарга заданняў па электроннай пошце павінна атрымліваць паведамленне разгадвання, толькі калі яно мае значэнне «email» у полі «каналы».
Нават калі б вы маглі стварыць код для адпраўкі ідэнтычнага паведамлення ў неабходныя чэргі заданняў, разветвление больш эфектыўна і патрабуе менш кадавання. Fanout таксама прапануе зручнасць дадання і выдалення чэргаў, дазваляючы пашыраць і рэарганізоўваць свае каналы.
Апрацоўка заданняў
Паведамленні захоўваюцца ў чэргах у чаканні апрацоўкі вашымі працэсарамі заданняў. Яны таксама даступныя і вельмі маштабуюцца. Працэсары заданняў - гэта фрагменты кода, якія апрацоўваюць паведамленні з чэргаў заданняў. У залежнасці ад аб'ёму паведамленняў у чарзе яны могуць маштабавацца.
Працэсар заданняў павінен зрабіць выклік API адпаведнаму пастаўшчыку, каб даставіць апавяшчэнне ў нашым сцэнарыі праз транзакцыйную службу электроннай пошты.
Большасць пастаўшчыкоў паведамленняў па электроннай пошце, SMS і падобных прад'яўляюць жорсткія патрабаванні да колькасці і калібру паведамленняў, якія вы адпраўляеце. Акрамя таго, вы хочаце старанна вывучыць іх і наладзіць прыдатныя працэдуры. Вось нашы парады аб тым, як пазбегнуць адключэння ад AWS SES.
Вы можаце вызначыць максімальную колькасць апрацоўшчыкаў заданняў, каб прадухіліць перавышэнне лімітаў ставак паслуг дастаўкі.
Далейшыя ўдасканаленні
Вы можаце зірнуць на кучу гэтых прадметаў.
- Ім патрэбны ўласныя API, табліцы і г.д., каб мець маштабаваную службу апавяшчэнняў у дадатку.
- Збор і паказ справаздачы аб адкрыцці/націску
- Выдаленне змесціва апавяшчэнняў з кода і дазвол вашым прадуктам і камандзе дызайнераў візуальна змяняць абвесткі без змены кода
- Не змяняючы ніякага кода, ваша каманда можа выкарыстоўваць прыборную панэль для актывацыі або адключэння апавяшчэнняў для пэўных каналаў.
Перавагі Push-апавяшчэнняў
- Павялічце ўзаемадзеянне з карыстальнікам: абнаўленні і свежыя матэрыялы зацікавяць вашых карыстальнікаў.
- Павялічце бачнасць сувязі: пераканайцеся, што вашы паведамленні атрымліваюцца неадкладна, нават калі людзі неактыўныя. Адпраўляйце тэрміновыя апавяшчэнні і забяспечвайце карыстальнікам бесперабойную працу.
- Падтрымлівайце ўтрыманне: выкарыстоўвайце выразна бачныя push-апавяшчэнні, каб заклікаць карыстальнікаў вярнуцца. Вы можаце павялічыць утрыманне карыстальнікаў і паменшыць адток, вярнуўшы кліентаў на ваш вэб-сайт і ў дадатак.
- Павялічце канверсіі: шляхам стварэння націскных кампаній вакол узнагарод у дадатку, акцый, скідак або іншых прапаноў вы можаце павялічыць продажы.
- Маштабуйце сваё прадпрыемства: ваш камунікацыйны падыход павінен маштабавацца па меры пашырэння вашай аўдыторыі. Калі ваша кліенцкая база пашыраецца, push-апавяшчэнні з'яўляюцца эфектыўным метадам заставацца з імі на сувязі.
- Зрабіце ўзаемадзеянне карыстальніцкага ўзаемадзеяння (UX): забяспечваючы абвесткі аб транзакцыях для спажыўцоў, каб трымаць іх у курсе і забяспечваючы бесперашкодны міжканальны вопыт, вы можаце паменшыць трэнне на працягу ўсяго шляху кліента.
заключэнне
У заключэнне мы даведаліся пра архітэктуру маштабаванай службы push-апавяшчэнняў. Мы таксама прагледзелі інструменты, якія прадастаўляюцца ўсімі асноўнымі пастаўшчыкамі воблачных паслуг, каб вы маглі абапірацца на іх у сваіх апавяшчэннях.
Нягледзячы на тое, што я зрабіў усё магчымае, каб даць вам агляд архітэктуры сістэмы push-апавяшчэнняў, за кадрам адбываецца яшчэ шмат чаго.
Я шчыра спадзяюся, што вы знойдзеце гэтую інфармацыю карыснай і выкарыстаеце яе з карысцю.
Пакінуць каментар