Firebase Cloud Messaging - PHP Rest API не работает для iOS - PullRequest
0 голосов
/ 30 мая 2018

Я использую приведенный ниже код PHP для отправки уведомлений с пользовательскими данными через Firebase Cloud Messaging.Он работает для Android, но не для iOS.

Однако я могу получать уведомления, отправленные с консоли облачных сообщений Firebase.Пожалуйста, сообщите.

public function send_notification($registatoin_ids, $message, $title, $sound, 
$purpose) 
{

    // Set POST variables
    $url = 'https://fcm.googleapis.com/fcm/send';

    $fields = array(
        'registration_ids' => $registatoin_ids,
        'data' => array(
                        "for" => $purpose,
                        "id" => strtotime("now"),
                        "message" => $message,
                        "title" => $title,
                        "sound" => $sound,
                         "vibrate" => 1,
                        "date" => date("D d, M Y h:i A"),
                        "priority"=>'high',
                        "content_available"=>false
                        ),
        'time_to_live' => 600,
    );

    $headers = array(
        'Authorization: key=' . FCM_API_KEY,
        'Content-Type: application/json'
    );
    // Open connection
    $ch = curl_init();

    // Set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // Disabling SSL Certificate support temporarly
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

    // Execute post
    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Curl failed: ' . curl_error($ch));
    }

    // Close connection
    curl_close($ch);
    return $result;
}

1 Ответ

0 голосов
/ 30 мая 2018

Android и iOS обрабатывают Push-уведомления по-разному.В то время как Android будет выходить из фона только при наличии только тега data, для устройств iOS требуется тег notification для обработки уведомлений, полученных, когда приложение находится в фоновом режиме.

...