Уведомления об устаревших веб-приложениях FCM не доходят до моего телефона Android - PullRequest
0 голосов
/ 19 февраля 2019

Это мой первый пост, поэтому, пожалуйста, прости меня за любую глупость.Я пытался сделать это правильно в течение 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, а также сгенерировал открытый и закрытый ключи.

Как вы можете видеть, я здесь довольно заблудился, и любой, кто сможет указать мне правильное направление, получит имя моего сына в честь них !!!

...