Это мой первый пост, поэтому, пожалуйста, прости меня за любую глупость.Я пытался сделать это правильно в течение 6 дней подряд.Я хочу иметь возможность инициировать уведомление на моем телефоне Android с моего ПК, запустив файл php, сидящий на моем онлайн-сервере.
Между всем текстом и видео, доступными на GCM, FCM legacy, FCM V1 и самой Firebase, оказалось невозможным найти последовательный пример или учебное пособие о том, как этого добиться.
Насовет "президента @Jay в Visual Dynamics, Inc."Я сократил свой код до той части, которая, как мне кажется, приводит к ошибкам.
Здесь идет речь: мне удается зарегистрировать и сохранить токен FCM в моей онлайн-базе данных MYSQL.Я получаю следующее и сохраняю его в MYSQL ...
{"endpoint": "https://fcm.googleapis.com/fcm/send/fn2AxrA1DLI:APA*************************************G31","expirationTime":null,"keys":{"p256dh":"BGwqbu2**************************************vCqSenne4KABWuGN6x3w","auth":"xasG3yCzA*************l7hA"}}
Теперь я хочу использовать этот токен для отправки оченьБазовый «Hello World» для устройства, которое зарегистрировало этот токен (мой телефон Android). С моего домашнего компьютера я хочу запустить файл, который отправляет этот «привет мир». Вот код файла, который должен инициировать отправку, сохраняяпомните, что регистрация прошла успешно.
<?php
$ch = curl_init();
$posts =
array(
"subscription" => array(
"endpoint" => "https://fcm.googleapis.com/fcm/send/fn2AxrA1DLI:APA9**********************etc",
"expirationTime" => null,
"keys" => array(
"p256dh"=>"BGwqbu2lNL7**********BWuGN6x3w",
"auth" =>"xas*****************7hA"
)
),
"data" => $_GET["msg"],
"applicationKeys" => array(
"public" => "BBY6vTaImSYSLkhO-***********************",
"private" => "HBcroD*****************************"
)
);
$headers = array(
'Content-Type:application/json',
'Authorization:key='. "AIzaSyAy******************K7xvha2GaA0");
curl_setopt($ch, CURLOPT_URL, "https://fcm.googleapis.com/fcm/send");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($posts));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo($result);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);?>
В настоящее время я не получаю ошибок, результат просто выводит «на» на мой экран, а на телефоне нет уведомлений.
Я прочитал, что мне нужно зашифровать сообщение, но я не уверен, применимо ли это к устаревшему FCM. Я активировал FCM на консоли разработчика Google и создал проект в Firebase, а также сгенерировал открытый и закрытый ключи.
Как вы можете видеть, я здесь довольно заблудился, и любой, кто сможет указать мне правильное направление, получит имя моего сына в честь них !!!