Отправить push-уведомление с FCM на IOS

Я пытаюсь отправить push-уведомление в приложение Cordova Ios.

Я использую плагин Cordova-плагин-FCM

Для моего андроид-приложения это работает отлично, проблема для Ios, мой запрос curl возвращает:

InvalidApnsCredential

Я загрузил свой ключ Apns на FCM, и этот ключ работает, потому что я пытаюсь отправить push-уведомление только с Apns, и все работает нормально, мое приложение получает уведомление.

Вот скрипт APNS, который работает: http://thrysoee.dk/apns/

Вот мой скрипт php curl с FCM, который работает с Android, но не с IOS:

    $pushUrl    = "FCM_PUSH_URL"; //https://fcm.googleapis.com/fcm/send
$key        = "SERVER_KEY";//Server key get in FCM console
$ch         = curl_init($pushUrl);
$headers    = [];

$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization:key=' . $key;
$data  = array(
"notification" => array(
"title"         => "Bonjour le monde !",
"body"          => "Notif de test",
//"click_action"  =>"FCM_PLUGIN_ACTIVITY",
"icon"          => "fcm_push_icon",
),
"data" => array(
'msg'     => 'hello',
'msg2'    => 'world'
),
"to"        => "MY_IOS_REGISTER_TOKEN"//token get on my ipad with the getToken method of cordova plugin,
"priority" => "high",
);

$json_data = json_encode($data);

curl_setopt($ch,CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$res = curl_exec($ch);
curl_close($ch);

echo "<pre>" . print_r($res,true) . "</pre>"; exit;//{"multicast_id":xxxx,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidApnsCredential"}]}

Спасибо вам.

0

Решение

Ну, я наконец-то нашел проблему. На консоли Firebase использовать ВСЕГДА ваш apple teamID для префикса приложения, даже если ваш appID имеет префиксный идентификатор, отличный от вашего teamID

0

Другие решения

Других решений пока нет …