Интеграция с Push-уведомлениями
После запуска приложения, UserID из OneSignal будет автоматически передаваться на страницы сайта при загрузке через COOKIE. Вы можете перехватить этот UserID на стороне сайта и связать его с текущим пользователем.
Используя этот UserID, вы можете отправлять персональные push-уведомления вашим клиентам.
Пример получения UserID на PHP:
if(!isset($_COOKIE['ONESIGNAL_USER_ID'])) {
$userID = $_COOKIE['ONESIGNAL_USER_ID'];
}
⚠️ Стоит учесть что ONESIGNAL_USER_ID может появиться не сразу а например через 10-30 секунд после начала использования приложения при самом первом запуске.
Навигация через Push-уведомления
Если вы хотите, чтобы при нажатии на push-уведомление пользователь не только перешел в приложение, но и был направлен на одну из страниц сайта, передайте параметр url в параметре data запроса.
Пример на PHP:
$fields = array(
'app_id' => 'ВАШ app_id',
'include_player_ids' => ["ONESIGNAL_USER_ID"]
'contents' => ["en" => "My Push"],
'headings' => ["en" => "Hi!"],
'data' => [
'url'=>"<https://site.com/my/link>"
],
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "<https://onesignal.com/api/v1/notifications>");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Authorization: Basic XXXXXXXXX',
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($ch);
curl_close($ch);
⚠️ Следует учесть, что если ссылка будет не с вашего сайта, то она откроется в браузере.