Нұсқаулықтар

Қолданбаға хабарландыруларды қалай қосуға болады: қолданба ішінде, электрондық пошта және push

Қолданбаға хабарландыру қосу үшін қолданба ішіндегі хабарландырулардан бастаңыз: дерекқорда хабарландырулар кестесі және оқылмаған элементтерді көрсететін қоңырау белгішесі. Пайдаланушы жоқ кезде білуі керек нәрселер үшін пошта провайдері арқылы электрондық поштаны қосыңыз, ал уақытылы ескертулер маңызды болғанда ғана веб-push қосыңыз, себебі оған service worker, пайдаланушы рұқсаты және iPhone-да қолданбаны үй экранына сақтау қажет. Қандай арналарды қолданбасаңыз да, барлық хабарландыруды бір жерде, серверде жасаңыз және пайдаланушыға қабылдайтынын таңдауға мүмкіндік беріңіз.

Бұл нұсқаулық арналарды салыстырады, қарапайым архитектураны көрсетеді және ЖИ қолданба құрастырушысымен қолдануға болатын промпттар береді.

Негізгі арналардың салыстыруы

АрнаПайдаланушыға қашан жетедіОрнату күшіЖұмыс құныНе үшін жарайды
Қолданба ішінде (қоңырау, тост)Олар қолданбаны пайдаланып жатқандаТөменДерекқорыңыздан басқа ештеңеӘрекет, атап өтулер, күй өзгерістері
Электрондық поштаОлар поштасын тексергенде кез келген уақыттаОрташа: провайдер, домен баптауыПровайдер бойынша хабар үшін төлемТүбіртектер, дайджесттер, маңызды нәрселер
Веб-pushБраузерде немесе орнатылған веб-қолданбада, жабық болса даОрташа-жоғарыӘдетте жіберу тегінУақытқа сезімтал ескертулер
SMSӘдетте әрдайымОрташа; келісім ережелері қолданыладыХабарға төлемКездесу еске салғыштары, шұғыл ескертулер
Чат құралдары (Slack, Teams)Олар жұмыста болғандаТөмен-орташаӘдетте тегінІшкі құралдар және команда ескертулері

Көп қолданбаға қолданба ішіндегі және электрондық пошта қажет. Push және SMS тек уақыт нақты маңызды болғанда тиімді, мысалы брондау еске салғышы немесе дайын болған тапсырыс.

Хабарландыру жүйесі қалай жұмыс істейді

Жүйені қарапайым әрі орталықтандырылған ұстаңыз:

  1. Бірдеңе болады. Пікір жазылады, төлем сәтсіз аяқталады, брондау ертең.
  2. Серверіңіз бір функцияны шақырады, мысалы notify(user, type, data).
  3. Бұл функция пайдаланушы баптауларын тексереді және қоңырау үшін notifications кестесіне жол жазады.
  4. Содан кейін пайдаланушы осы түр үшін қосқан басқа арналарға жібереді: пошта провайдері арқылы электрондық пошта, Push API арқылы push.
  5. Фронтенд оқылмаған хабарламаларды көрсетеді және оларды ашқанда оқылды деп белгілейді.

Бір кіру нүктесі арна қосуға, мәтінді өзгертуге немесе баптауларды сақтауға кодты іздеусіз мүмкіндік береді.

Не сақтау керек

Хабарландырулар кестесіне әдетте мыналар керек: пайдаланушы ID-і, түрі (мысалы comment_reply), қысқа атауы мен мәтіні, тиісті бетке сілтеме, жасалған уақыты және оқылған уақыты. Жеке баптаулар кестесінде әр пайдаланушы әр түр үшін қай арналарды қалайтыны сақталады.

Жаңа хабарландыруларды көрсету

  • Бетті ашқанда жүктеп, 30–60 секунд сайын сұрау жіберу. Қарапайым әрі сенімді.
  • WebSockets немесе server-sent events арқылы нақты уақыттағы жаңартулар лезде болып көрінеді, бірақ қосымша бөліктер қосады. Лезде жаңартулар маңызды болмаса, сұрауды бастаңыз.

Электрондық пошта хабарландырулары

Пошта жіберу провайдер мен расталған домен қажет; толық мәлімет қолданбаңыздан электрондық пошта жіберу бөлімінде. Хабарландырулар үшін:

  • Серверден жіберіңіз, браузерде провайдер кілті ешқашан болмасын.
  • Жиі оқиғаларды топтаңыз. Бір поштада «3 жаңа пікір» үш бөлек хабардан жақсы.
  • Төмен маңызды әрекет үшін күнделікті немесе апталық дайджест ұсыныңыз.
  • Маңызды емес поштаға бас тарту немесе баптаулар сілтемесін қосыңыз. Маркетингтік поштаның ережелері елге байланысты ерекшеленеді; өзіңізге қолданылатынын тексеріңіз.

Веб-push хабарландырулар

Веб-push сайтыңызға қолданба хабарландырулары сияқты көрінетін ескертулер жіберуге мүмкіндік береді. MDN-нің Push API құжаттамасына сәйкес ол мынадай жұмыс істейді:

  1. Сайтыңыз service worker тіркейді — браузердің фонда орындай алатын скрипті.
  2. Пайдаланушы келіскеннен кейін service worker PushManager.subscribe() арқылы жазылады. Браузер endpoint мен шифрлеу кілттері бар жазылымды қайтарады.
  3. Серверіңіз сол жазылымды сақтайды және бірдеңе болғанда endpoint-ке хабарлама жібереді, әдетте VAPID кілттерімен қол қойылып (сіздің серверіңізді анықтайтын кілт жұпы).
  4. Браузер service worker-ді іске қосады, ол хабарландыруды көрсетеді — бет ашық болмаса да.

MDN сонымен қатар endpoint құпия сақталуы керек екенін ескертеді, себебі оны білу сол пайдаланушыға хабар жіберуге жеткілікті.

iPhone және iPad

WebKit iOS және iPadOS 16.4 нұсқасында веб-қолданбалар үшін Web Push қосты, оның жарияланымындағы екі шарт бойынша: сайт үй экранына қосылған болуы керек, ал рұқсат пайдаланушы әрекетіне жауап ретінде сұралуы керек, мысалы Subscribe түймесін басқанда. Сондықтан iPhone-да push тек веб-қолданбаны орнатқан пайдаланушыларға жетеді. Веб-қолданбаны орнату нені білдіретінін нативті және прогрессивті веб-қолданбалар бөлімінен қараңыз.

Рұқсатты дұрыс сұрау

Алғашқы кіруде сұрамаңыз. Алдымен пайдасын түсіндіріңіз («Сабағыңызға бір сағат қалғанда еске салғыш алыңыз»), содан кейін пайдаланушы түймені басқанда браузер сұрауын көрсетіңіз. Егер адам бас тартса, браузер сізге қайтадан сұрауға рұқсат бермеуі мүмкін, сондықтан ерте сұрау адамды біржола жоғалтуы мүмкін.

Жоспарланған хабарландыруларға триггер керек

«24 сағат бұрын еске салу» немесе «әр дүйсенбіде апталық шолу» кестемен жұмыс істейтін нәрсені қажет етеді. Бұл фондық тапсырмаларды қалай іске қосу керек бөлімінде қарастырылған фондық тапсырма мәселесі. Жалпы үлгі: сыртқы кесте жүйесі бірнеше минут сайын қорғалған endpoint-ті шақырады, ал сол endpoint уақыты келген нәрселерді жібереді.

ЖИ құрастырушыға берілетін промпттар

Алдымен қолданба ішіндегі хабарландыруларды бастаңыз:

Қолданба ішіндегі хабарландыруларды қосыңыз. notifications кестесін жасаңыз (пайдаланушы, түрі, атауы, мәтіні, сілтеме, created_at, read_at). Барлық мүмкіндіктер шақыратын notify(userId, type, data) серверлік функциясын қосыңыз. Тақырыпта оқылмаған санымен қоңырау белгішесін, соңғы 20 хабары бар ашылмалы тізімді және «барлығын оқылды деп белгілеу» түймесін көрсетіңіз. Әр 60 секунд сайын жаңа хабарларды тексеріңіз.

Содан кейін баптаулар мен электрондық пошта:

Хабарландыру баптауларын қосыңыз: әр түр үшін (пікір жауаптары, атап өтулер, төлем) пайдаланушы қолданба ішінде, поштада, екеуінде немесе ешқайда таңдай алады. notify() осы баптауларды сақтауы керек. [PROVIDER] арқылы электрондық пошта жіберіңіз, [ENV_NAME] құпиясын тек серверде пайдаланыңыз. Пікір поштасын топтаңыз, сонда бір пайдаланушы 15 минутта ең көбі бір поштаны алады.

Содан кейін push, қажет болса:

Міндетті емес веб-push қосыңыз. Service worker тіркеңіз, VAPID кілттерін жасаңыз және жеке кілтті құпия ретінде сақтаңыз. Баптауларда «Хабарландыруларды қосу» түймесін қосыңыз, рұқсатты тек басқан кезде сұрасын. Әр пайдаланушы мен құрылғы үшін жазылымды сақтаңыз, пайдаланушы келіскен кезде notify() ішінен push жіберіңіз, push қызметі мерзімі өткен деп хабарлаған жазылымдарды жойыңыз.

Жиі кездесетін қателер

  • Хабарландырулар кодта шашылып кеткен. Әр мүмкіндік электрондық поштаны өз тәсілімен жібереді, ал баптаулар елемеледі. Бір notify() функциясын пайдаланыңыз.
  • Бет жүктелгенде push рұқсатын сұрау. Көпшілігі бас тартады, ал басқа мүмкіндік болмауы мүмкін.
  • Баптаулардың болмауы. Шулы ескертулерді өшіре алмайтын пайдаланушылар бәрін өшіреді немесе кетеді.
  • Браузерден жіберу. Пошта мен push кілттері серверде болуы керек.
  • Өлі push жазылымдарын тазаламау. Мерзімі өткен жазылымдар жиналып, жіберуді босқа ысырап етеді.
  • Хабарландыру мәтініндегі құпия мәліметтер. Құлыпталған экранда мәтін көрінеді. «Сізде жаңа хабар бар» хабардың өзінен қауіпсіз.
  • Жіберілген нәрсенің жазбасы жоқ. Пайдаланушы «поштаны алмадым» десе, провайдер хабар ID-леріне бар логтар мәселені табуға көмектеседі.

Тексеру тізімі

  • Барлық жерде қолданылатын бір серверлік notify() функциясы
  • Оқылу күйі бар хабарландырулар кестесі және оқылмаған санымен қоңырау
  • Түр бойынша арна баптаулары, notify() оларды сақтайды
  • Пошта серверден жіберіледі, домен расталған; жиі оқиғалар үшін дайджест немесе топтау бар
  • Push рұқсаты тек пайдаланушы әрекетінен кейін, түсіндірмесімен сұралады
  • Push компьютерде және үй экранына қосылған қолданбасы бар iPhone-да тексерілген
  • Мерзімі өткен push жазылымдары жойылған
  • Push немесе пошта алдын ала қарауында құпия мазмұн жоқ
  • Жоспарланған еске салғыштардың сенімді триггері бар

Mythex-тегі хабарландырулар

Mythex сіз құрастырған қолданбалар үшін кірістірілген электрондық пошта немесе push қызметін ұсынбайды, сондықтан өз пошта провайдеріңізді пайдаланасыз және push кілттерін өзіңіз жасап, жоба құпиялары ретінде сақтайсыз. Қолданба ішіндегі бөлік тек жобаның дерекқорын қажет етеді, оны сұрағаныңызда Mythex қосады. Жоғарыдағы сияқты промпттармен құрастырыңыз, қоңырау мен поштаны Preview-де сынаңыз, ал push-ты жарияланған URL-де сынаңыз, себебі service worker және push нақты HTTPS мекенжайын қажет етеді. Құжаттамадағы қолданбадан электрондық пошта жіберу рецептінде бастапқы промпт бар. Mythex кестеленген тапсырмаларды құжаттамайды, сондықтан уақытты еске салғыштарды фондық тапсырмаларды қалай іске қосу керек бөлімінде сипатталғандай сыртқы триггермен жоспарлаңыз.

Сұрақтар

Веб-қолданбаға қосудың ең оңай хабарландыру түрі қандай?

Қолданба ішіндегі хабарландырулар: дерекқордағы хабарландырулар кестесі және оқылмаған хабарларды көрсететін қоңырау белгішесі. Үшінші тарап сервисі қажет емес. Келесі қадам — электрондық пошта, ол үшін пошта провайдері керек.

Веб-қолданба iPhone-дарға push хабарландыру жібере ала ма?

Иә, шектеулермен. WebKit iOS және iPadOS 16.4 нұсқасында үй экранына қосылған веб-қолданбалар үшін Web Push қосты, сондықтан пайдаланушы алдымен веб-қолданбаңызды үй экранына қосуы керек, ал рұқсатты түймені басқаннан кейін, мысалы Subscribe түймесінен кейін сұрау керек.

Сайт жабық болған кезде push хабарландырулар жұмыс істей ме?

Иә. Push API хабарламаларды сайтыңыздың service worker-іне жеткізеді, ал хабарлама келгенде браузер оны іске қосады, сондықтан бет ашық болуы міндетті емес. Алдымен пайдаланушы рұқсат беруі керек.

Хабарландырулар пайдаланушыларды қалай ренжітпей алады?

Тек пайдаланушыға маңызды нәрселер туралы хабарлаңыз, көп хабарларды бір хабарға біріктіріңіз, адамдарға баптауларда түр бойынша арналарды таңдауға мүмкіндік беріңіз, ал push рұқсатын олар оның пайдалылығын көргеннен кейін ғана сұраңыз.

Mythex · Pricing · ЖИ көмегімен кез келген нәрсені жасаңыз · Сайттар мен қосымшаларға арналған үлгілер · Mythex салыстыруда · ЖИ-мен қосымша жасау сөздігі · ЖИ-мен қосымша жасауға арналған тегін құралдар · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)