Я работаю над платформой Xamarin Forms для реализации уведомления Firebase. Я добавил google-services. json и GoogleService-Info.plist в приложения android и IOS соответственно, установив соответствующее свойство. Я сгенерировал собственный код токена и, используя службу зависимостей, получаю сгенерированный токен для отправки уведомления на том же или другом устройстве. Для отправки уведомления я использую php, так как мое приложение использует php в качестве посредника для связи с базой данных и формами xamarin.
class MyFirebaseIIDService : FirebaseInstanceIdService, IPushHelper
{
public string GetPushToken()
{
return FirebaseInstanceId.Instance.Token;
}
}
public interface IPushHelper
{
string GetPushToken();
}
Вот так я получаю доступ к токену в формах Xamarin
string token = DependencyService.Get<IPushHelper>().GetPushToken();
PHP Код для отправки уведомления
$fields = array(
'to' => $token // Token Generated By Xamarin Forms
'data'=> array("message"=>$message) // Message For Notification
);
//Header Including API Key
$headers = array(
'Content-Type:application/json',
'Authorization:key='.$api_key
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('FCM Send Error: ' . curl_error($ch));
}
curl_close($ch);
Также я пробовал shell_exe c () для запуска curl
$result =shell_exec('curl -X POST --header "Authorization: key='.$api_key.'" --header "Content-Type: application/json" https://fcm.googleapis.com/fcm/send -d "{\"to\":\"'.$token.'\",\"priority\":\"high\",\"notification\":{\"body\": \"'.stripslashes($message).'\"}}"');
Вывод для результата:
"{" multicast_id ": 8563984716459935776," success ": 1," fail " : 0, "canonical_ids": 0, "results": [{"message_id": "0: 1585669578263131% 631c6722f9fd7ecd"}]} "
Но мое приложение не получает pu sh уведомление и я мог видеть уведомление об отправке в консоли Firebase. Пожалуйста, помогите мне для отправки и получения уведомлений с помощью Firebase