Ръководства

Как да добавите известия в приложението си: в приложението, имейл и push

За да добавите известия към уеб приложение, започнете с известия в приложението: таблица с известия в базата данни и икона със звънче, която показва непрочетени елементи. Добавете имейл за неща, които хората трябва да знаят, когато ги няма, с помощта на доставчик на имейли, а web push — само когато навременните сигнали са важни, защото изисква service worker, разрешение от потребителя и, на iPhone, приложението да е добавено на началния екран. Независимо от използваните канали, създавайте всяко известие на едно място, на сървъра, и оставете потребителите да избират какво да получават.

Това ръководство сравнява каналите, показва прост архитектурен модел и дава подсказки, които можете да използвате с AI строител на приложения.

Основните канали в сравнение

КаналДостига до потребителите, когатоУсилие за настройкаТекущ разходНай-подходящ за
В приложението (звънче, toast съобщения)Използват приложението виНискоНищо освен базата данниАктивност, споменавания, промени в статуса
ИмейлКогато проверят имейла сиСредно: доставчик, настройка на домейнЦена на имейл според доставчикаРазписки, дайджести, всичко важно
Web pushБраузърът или инсталираното уеб приложение, дори когато е затвореноСредно до високоОбикновено безплатно за изпращанеСигнали, чувствителни към времето
SMSПочти винагиСредно; важат правила за съгласиеТакса на съобщениеНапомняния за срещи, спешни сигнали
Чат инструменти (Slack, Teams)Когато са на работаНиско до средноОбикновено безплатноВътрешни инструменти и екипни сигнали

Повечето приложения се нуждаят от приложението плюс имейл. Push и SMS си заслужават, когато времето наистина е важно, например напомняне за резервация или поръчка, която е готова.

Как се свързва системата за известия

Пазете я проста и централна:

  1. Нещо се случва. Публикува се коментар, плащане се проваля, резервацията е утре.
  2. Сървърът ви извиква една функция, например notify(user, type, data).
  3. Тази функция проверява предпочитанията на потребителя и записва ред в таблицата notifications (за звънчето).
  4. После изпраща към другите канали, които потребителят е включил за този тип: имейл през доставчика ви, push през Push API.
  5. Фронтендът показва непрочетените известия и ги маркира като прочетени, когато бъдат отворени.

Една входна точка означава, че можете да добавите канал, да промените текста или да спазите предпочитанията, без да търсите из целия код.

Какво да съхранявате

Таблицата с известия обикновено трябва да съдържа: ID на потребителя, тип (например comment_reply), кратко заглавие и текст, връзка към съответната страница, време на създаване и време на прочитане. Отделна таблица с предпочитания съхранява кои канали всеки потребител иска за всеки тип.

Показване на нови известия

  • Зареждане при показване на страницата и опресняване (polling) на всеки 30–60 секунди. Просто и надеждно.
  • Актуализации в реално време с WebSockets или server-sent events изглеждат мигновени, но добавят подвижни части. Започнете с опресняване, освен ако мигновените актуализации не са важни.

Имейл известия

Имейлът изисква доставчик за изпращане и потвърден домейн; подробностите са в как да изпращате имейли от приложението си. За известията конкретно:

  • Изпращайте от сървъра, никога с ключ към доставчика в браузъра.
  • Групирайте шумните събития. „3 нови коментара“ в един имейл е по-добре от три отделни имейла.
  • Предложете дневен или седмичен дайджест за активност с нисък приоритет.
  • Включете връзка за отписване или предпочитания в имейлите, които не са съществени. Правилата за маркетингови имейли се различават според държавата; проверете кои важат за вас.

Web push известия

Web push позволява на сайта ви да изпраща сигнали, които изглеждат като известия от приложение. Според документацията на MDN за Push API той работи така:

  1. Сайтът ви регистрира service worker, скрипт, който браузърът може да изпълнява на заден план.
  2. След като потребителят се съгласи, service worker-ът се абонира чрез PushManager.subscribe(). Браузърът връща абонамент с крайна точка и ключове за криптиране.
  3. Сървърът ви съхранява този абонамент и, когато нещо се случи, изпраща съобщение към крайната точка, обикновено подписано с VAPID ключове (двойка ключове, която идентифицира сървъра ви).
  4. Браузърът стартира service worker-а ви, който показва известието, дори ако страницата ви не е отворена.

MDN също отбелязва, че крайната точка трябва да се пази в тайна, тъй като знанието ѝ е достатъчно, за да се изпращат съобщения до този потребител.

iPhone и iPad

WebKit добави Web Push за уеб приложения в iOS и iPadOS 16.4, с две условия от съобщението му: сайтът трябва да е добавен на началния екран, а разрешението трябва да се поиска в отговор на действие на потребителя, например докосване на бутон „Абониране“. Затова на iPhone push достига само до потребители, които са инсталирали уеб приложението ви. Вижте нативни срещу прогресивни уеб приложения, за да разберете какво означава инсталиране на уеб приложение.

Как да поискате разрешение добре

Не питайте при първо посещение. Първо обяснете ползата („Получете напомняне час преди занятието си“), след което покажете запитването на браузъра, когато потребителят докосне бутон. Ако някой откаже, браузърът може да не ви позволи да питате отново, така че преждевременното запитване може да ви загуби потребителя завинаги.

Насрочените известия имат нужда от тригер

„Напомняне 24 часа предварително“ или „седмично обобщение всеки понеделник“ изисква нещо, което да се изпълнява по график. Това е проблем с фонови задачи, разгледан в как да стартирате фонови задачи. Често срещан модел: външен планировчик извиква защитена крайна точка на всеки няколко минути, а тя изпраща всичко, което е време да бъде изпратено.

Подсказки за вашия AI строител

Започнете с известията в приложението:

Добави известия в приложението. Създай таблица notifications (user, type, title, body, link, created_at, read_at). Добави сървърна функция notify(userId, type, data), която всяка функционалност извиква. Покажи икона със звънче в заглавната част с брой непрочетени, падащо меню с последните 20 и бутон „Маркирай всички като прочетени“. Проверявай за нови на всеки 60 секунди.

След това предпочитанията и имейла:

Добави настройки за известия: за всеки тип (отговори на коментари, споменавания, плащане) потребителят избира в приложението, по имейл, и двете или никое. notify() трябва да зачита тези настройки. Изпращай имейл през [PROVIDER] с тайната [ENV_NAME] само на сървъра. Групирай имейлите за коментари, така че един потребител да получава най-много един имейл на 15 минути.

После push, ако ви е нужен:

Добави незадължителни web push известия. Регистрирай service worker, генерирай VAPID ключове и съхрани частния ключ като тайна. Добави бутон „Включи известията“ в настройките, който пита за разрешение само при натискане. Съхранявай всеки абонамент за потребител и устройство, изпращай push от notify(), когато потребителят се е включил, и изтривай абонаментите, които 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 не документира насрочени задачи, затова планирайте напомнянията по време с външен тригер, както е описано в как да стартирате фонови задачи.

Въпроси

Кое е най-лесното известие за добавяне към уеб приложение?

Известията в приложението: таблица с известия в базата данни и икона със звънче, която показва непрочетените. Не се нуждаят от услуга на трета страна. Имейлът е следващата стъпка и изисква доставчик на имейли.

Може ли уеб приложение да изпраща push известия към iPhone?

Да, с ограничения. WebKit добави Web Push за уеб приложения, инсталирани на началния екран, в iOS и iPadOS 16.4. Затова потребителят първо трябва да добави уеб приложението ви на началния екран, а разрешението трябва да се поиска след докосване, например на бутон „Абониране“.

Работят ли 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 简体中文 繁體中文(香港) 繁體中文(台灣)