2016-08-30 3 views
0

У меня есть новое приложение для firebase. Целью является отправка уведомлений по темам с php-сервера на устройство iOS.Уведомления Google Firebase не могут подписаться на темы

Я успешно проверил все до момента отправки уведомлений с сервера на конкретный идентификатор устройства.

Тем не менее, темы не хотят играть красиво.

С PHP стороны:

function call_firebase_notification ($signal){ 
    $to = "/topics/demo"; 
    $title = "php function test real"; 
    $body = "php function test real body"; 
    $payload = json_encode(array(
        "to" => $to , 
        "notification" => array(
         "title" => $title, 
         "body" => $body 
        ) 
       )); 
    $headers = array(
     "Authorization: key=AIzaSyBr0G...Euxr5x4_0", 
     "Content-Type: application/json", 
     "Content-Length: ". strlen($payload) 
     ); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "https://fcm.googleapis.com/fcm/send"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);  
    $return = curl_exec($ch); 

    curl_close($ch); 

    return $return; 
} 
$return = call_firebase_notification("test"); 
var_dump($return); 

Я получаю самый положительный результат: строка (34) "{" message_id ": 9067338503195970026}"

От IOS стороны:

[[FIRMessaging messaging] subscribeToTopic:@"/topics/demo"]; 

Мой нынешний партнер-преступник также говорит, что получил положительный результат при подписке.

Однако никаких уведомлений не поступает (для его повторного уведомления: уведомления были отправлены при отправке его идентификатору), и при попытке отправить уведомление с консоли firebase не появляется никаких тем.

EDIT: (примечание к себе и к миру)

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 

никогда не использовать их, если это абсолютно необходимо или скучно из головы, это был демонстрационный фрагмент кода, так что я действительно не все равно, но в целом вам следует обновить Ssl сертификаты

ответ

0

Ответ был довольно простым: время. В моем случае это было около 2 дней, но после этого уведомления на темы случайным образом работали правильно.

2

Не могли бы вы, пожалуйста, попробуйте добавить Приоритет и content_available параметры на вашей полезной нагрузки уведомления.

{ 
    "to": "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "notification": { 
    "title": "test", 
    "body": "my message" 
    }, 
    "priority": "high", 
    "content_available": true 
} 

Я также заметил, что есть нарушение работы в Firebase Clould сообщений вчера в Firebase Status Dashboard.

+0

Спасибо за ответ, мой дорогой друг, однако они, похоже, не работают – Elentriel

+0

Хотя они не помогли в этом аспекте, они оказались весьма полезными, так как без этих уведомлений работать с приложением на передней панели – Elentriel

Смежные вопросы