Конференции
Лимасол, Кипр
22
Июль
Амстердам, Нидерланды
22-24
Июль
Лимасол, Кипр
23-24
Июль
Лимасол, Кипр
23
Июль
Лимасол, Кипр
23
Июль
24
Июль
Нью-Йорк, США
26
Июль
Нью-Йорк, США
27-28
Июль
Рига, Латвия
30-31
Июль
Бангкок, Таиланд
05-07
Август
Лимасол, Кипр
07
Август
г.Санкт-Петербург, Россия
12-13
Август
Москва, Россия
20
Август
Дели, Индия
25
Август
Мехико, Мексика
27-01
Август -
Сентябрь
Мехико, Мексика
31
Август
Мехико, Мексика
01-03
Сентябрь
Лиссабон, Португалия
01
Сентябрь
Мехико, Мексика
01-03
Сентябрь
Мехико, Мексика
03
Сентябрь
г.Канкун, Мексика
07-08
Сентябрь
Киев, Украина
15
Сентябрь
15
Сентябрь
Лимасол, Кипр
17-18
Сентябрь
Тбилиси, Грузия
24-25
Сентябрь
Лиссабон, Португалия
28
Сентябрь
Лас-Вегас, США
28
Сентябрь
Лас-Вегас, США
28-01
Сентябрь -
Октябрь
Лиссабон, Португалия
29-01
Сентябрь -
Октябрь
Лиссабон, Португалия
29-01
Сентябрь -
Октябрь
Лиссабон, Португалия
29
Сентябрь
Ереван, Армения
01
Октябрь
Лиссабон, Португалия
01
Октябрь
Лиссабон, Португалия
01
Октябрь
Дакар, Сенегал
14-16
Октябрь
Дакар, Сенегал
14-16
Октябрь
Варшава, Польша
14
Октябрь
София, Болгария
19-20
Октябрь
Копенгаген, Дания
22-23
Октябрь
Копенгаген, Дания
22
Октябрь
Рим, Италия
02-05
Ноябрь
02
Ноябрь
02
Ноябрь
02
Ноябрь
Рим, Италия
02
Ноябрь
03
Ноябрь
Рим, Италия
03
Ноябрь
Рим, Италия
04
Ноябрь
Пномпень, Камбоджа
05-06
Ноябрь
Рим, Италия
05
Ноябрь
Канкун, Мексика
24-25
Ноябрь
Шарм-эш-Шейх, Египет
24-25
Ноябрь
Гоа, Индия
24-25
Ноябрь
г.Бангкок, Таиланд
30-02
Ноябрь -
Декабрь
Вена, Австрия
03-04
Декабрь
03
Декабрь
Вена, Австрия
04
Декабрь
г.Бангкок, Таиланд
09-10
Декабрь
Бангкок, Таиланд
10
Декабрь
Дубай, ОАЭ
10
Декабрь
Кейптаун, ЮАР
01
Февраль
Коломбо, Шри-Ланка
01
Март
Рио-де-Жанейро, Бразилия
02-04
Март
ОАЭ, Дубай
15-17
Март
Найроби, Кения
21-23
Апрель
г.Та‑Кали, Мальта
03-05
Май
Мадрид, Испания
18-20
Май
Хошимин, Вьетнам
14
Июнь

Как добавить Push-уведомления на сайт


Без Push-уведомления сейчас не может работать не один серьезный ресурс, да, мы знаем что на нашем сайте их пока нет, но мы обязательно в ближайшее время все прикрутим. Спасибо Танечке за подробную инструкцию.

Push-уведомления работают только если на сайте есть HTTPS.

Без валидного SSL сертификата запустить не получится. То есть сначала надо купить домен, на котором будет размещаться сайт, потом подключить к нему SSL сертификат (у многих хостеров эта услуга предоставляется бесплатно) и только потом надо начинать повторять наш гайд 🙂

Все файлы и папки, которые я упоминаю в гайде прикреплены в архивах к посту.

Файлы, которые нам понадобятся server.zip и land.zip

Создание проекта в Firebase

1. В качестве сервера сообщений мы будем использовать Firebase Cloud Messaging, поэтому мы начинаем с регистрации и создания проекта на Firebase.

  • Заходим на сайт;
  • Регистрируемся;
  • Жмём кнопку Create new project или Import Google project, если у вас уже есть проект;
  • При создании указываем название проекта и страну;
  • После создания проекта попадаем на его dashboard;
  • В меню наводим на колесико рядом с Overview и выбираем Project settings;

2. На открывшейся странице переходим во вкладку Cloud Messaging;

Нас интересует Ключ сервера, который будет использоваться для отправки сообщений с сервера и Сертификат для Web Push который будет использоваться для получения сообщений на стороне клиента

Push уведомления на свой сайт

3. Затем на вкладке Общие нажимаем Добавить Firebase в свое веб-приложение.

4. В открывшемся окне будет код для инициализации нашего веб-приложения. Нам понадобится не весь, только тот, который выделен на скриншоте.

Приступаем к настройке лендинга

Копируем содержимое папки land в корень сайта — то есть в ту папку, где у вас лежит index.html

Файл firebase-messaging-sw.js обязательно должен находиться в корне проекта, то есть доступен по адресу https://example.com/firebase-messaging-sw.js

1. Заменяем содержимое файла firebase/init.js кодом инициализации, полученным в ЛК firebase

2. В 3 строке файла firebase/firebase_subscribe.js добавляем ключ сертификата, полученный в ЛК.

3. Открываем файл send_subscribe.php и прописываем URL, по которому будет находиться наш скрипт, сохраняющий подписки.

4. Подключаем все скрипты к лендингу. Перед закрывающим тэгом body добавляем след. код:

<script src=»firebase/jquery.js»></script>

<script src=»firebase/firebase-app.js»></script>

<script src=»firebase/firebase-messaging.js»></script>

<script src=»firebase/init.js»></script>

<script src=»firebase/firebase_subscribe.js»></script>

Настройка сохранения подписок

В данном примере мы будем сохранять идентификаторы устройств подписавшихся пользователей в файл.

Для реального проекта желательно использовать базу данных для хранения подписок.

В этом примере скрипт для сохранения подписок будет находиться на том же сервере, где и лендинг, но если есть необходимость централизованного сбора подписок с разных сайтов, то можно разместить его на отдельном сервере, отведенном для обработки подписок.

Итак, для продолжения настройки необходимо скопировать содержимое папки server на хостинг, где будет располагаться система сохранения и обработки подписок. В данном случае просто скопируем в папку с лендингом.

В файле save_push.php находится скрипт, который сохраняет id устройств, подписавшихся пользователей в текстовый файл push.txt

В файле send_push.php представлен скрипт для отправки 1 push-уведомления.
Для его работы необходимо добавить ключ сервера, который нужно взять из ЛК firebase. (3 строка файла)

Пробная подписка

После того, как все настроено, необходимо совершить пробную подписку.Для этого надо просто зайти на свой сайт, куда был установлен скрипт и подписаться 🙂

После этого в файле push.txt должна появиться скрока вида

cwU1aVjaw0w:APA91bEICUeF-​ASm8nVYfXb6eiaUxgIkBffq5As1bgq6lCIm3_6Z4ArIN3QnZb5zEHftp2CqpnYWsCayHZ0Dvy7hTNfymxW1FGNeGUWLDnxoS346-Y3YkJMT4PUIvM9OfTlcLBotETOH

Это идентификатор устройства. Он необходим для отправки уведомлений.

Отправка уведомлений

Чтобы отправить тестовое уведомление, нужно открыть в браузере скрипт send_push.php и передать ему в параметре token идентификатор устройства.

http://УРЛ_НА_КОТОРОМ_НАХОДИТСЯ_СКРИПТ?token=ИД_УСТРОЙСТВА
Например:
https://push.site-guard.info/send_push.php?token=cwU1aVjaw0w:APA91bEICUeF-ASm8nVYfXb6eiaUxgIkBffq5As1bgq6lCIm3_6Z4ArIN3QnZb5zEHftp2CqpnYWsCayHZ0Dvy7hTNfymxW1FGNeGUWLDnxoS346-Y3YkJMT4PUIvM9OfTlcLBotETOH

После этого на экране появится ответ от сервиса уведомлений и если уведомление было отправлено корректно, то оно должно прийти на устройство, с которого была совершена подписка.

Некоторые моменты

1. Если в момент отправки подписки, в браузере открыта страница сайта, на котором была совершена подписка, то уведомление не будет показано.

2. Скрипт работает корректно, но на некоторых устройствах и браузерах могут возникать неполадки. Например, на моем последнем Mac у меня не показываются пуши в хроме, хотя во всех остальных браузерах — работают. При этом не понятно в чем причина, в маке или в хроме, потому что на моем старом макбуке пуши показываются в хроме и во всех остальных браузерах.

3. Push на iPhone не работают, только Android телефоны.

 


4 Комментария
  1. S

    то что нужно!

  2. I

    Камрады? А как кастомизировать кнопку подтверждения? Как её завязать в примеру на месагу «Сей адский сайт использует КУКИ! Разрешить?»

    Запись в базу то реализовать просто. А какие параметры еще можно на сайте получить от юзвера автоматом? Ну геошку я могу взять. Хотя… если ювер зареган на сайте и авторизован — можно получить о нём всё… ФИО, пол, возраст…..

    1. M
      mr_petrovi4

      ах тыж хитрая жопа))) получилось сделать?

  3. М
    Максим

    Привет !!! Не записывает в файл push.txt перепробовал все и пути менять и в файлах все просмотрел, все как описываешь. Не записывает и все тут, на сайте нажимаешь разрешить и все на этом. Да в сохраненных push в настройках браузера 443 порт почему то отображается. Даже для этого текстового файла 777 выставил ???? В чем проблема может быть ?

Партнерка - Наша оценка
Вертикали
Мин. сумма
Сайт
Vavada Partners обзор
Прямой рекламодатель
Бренды: Vavada Casino
$20/€20/1000₽ выплата
фото
фото
фото
фото
фото
фото
фото
фото
фото
фото
фото
фото
фото
фото
NOVA PARTNERS обзор
Прямой рекламодатель
Бренды: LEEBET, BANDA, KUSH, EVA, APEX
$100 выплата
фото
фото
фото
фото
фото
фото
фото
Прямой рекламодатель
Бренды: SpinBetter
$50 выплата
фото
фото
фото
фото
фото
фото
Royal Partners обзор
Бренды: FLAGMAN, IRWIN, GIZBO, LEX, MONRO, 1GO, STARDA, IZZI, DRIP, LEGZO, VOLNA, JET, FRESH, SOL, ROX, FUGU, RIS
$20 выплата
фото
фото
фото
фото
фото
фото
Прямой рекламодатель
Бренды: VOX, Winnita
€100 выплата
фото
фото
Наша партнерская программа c офферами по Gambling и Betting вертикалям. Выплаты в день запроса от $20.
$20 выплата
фото
860 шт
Перейти к офферам
V.Partners обзор
Прямой рекламодатель
Бренды: Vegas, ICE Casino, VERDE Casino, FS Casino, Fiery Play, Slotoro, Hit’N’Spin
€100 выплата
фото
фото
фото
фото
фото