iOS 空 Firebase 推送通知不显示

Posted

技术标签:

【中文标题】iOS 空 Firebase 推送通知不显示【英文标题】:iOS empty Firebase Push notification doesn't show up 【发布时间】:2017-07-20 19:13:17 【问题描述】:

ios 上的 Firebase 通知有一个奇怪的问题。它工作得很好,但唯一的问题是,如果我将服务器上的“body”参数保持为空,它会在应用程序上播放通知声音但不显示任何内容。同样的事情在 android 上显示通知。这是我遇到的某种 Apple 安全措施吗?如果我只在'body'中添加一个空白空间“”,它会显示出来,但没有它就什么都没有。如果有任何机构可以建议我什么,请。 我的服务器端代码

 $msg = array
          (
        'title'     => '',
        'body'  => ' ',
        'click_action' => '.InstagramLoader',
      'icon'    => 'myicon',/*Default Icon*/
         'sound' => 'mySound'/*Default sound*/
          );

        $data = array(
'text' => $title,
'img_url' => $img_url
);


    $fields = array
            (
                'to'        => $registrationIds,
                'notification'  => $msg,
                'data' => $data
            );




    $headers = array
            (
                'Authorization: key=' . API_ACCESS_KEY,
                'Content-Type: application/json'
            );
#Send Reponse To FireBase Server    
        $ch = curl_init();
        curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
        curl_setopt( $ch,CURLOPT_POST, true );
        curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
        curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
        curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
        curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
        $result = curl_exec($ch );
        curl_close( $ch );

【问题讨论】:

这篇文章讨论了一个类似的问题***.com/questions/45214234/… 【参考方案1】:

是的,那是 iOS 的东西,为什么要显示一个空的推送通知呢?您可以在服务器端代码中使用 isNaN() 并检查空正文并将其设置为默认值。

【讨论】:

以上是关于iOS 空 Firebase 推送通知不显示的主要内容,如果未能解决你的问题,请参考以下文章

是否可以仅显示 Firebase 推送通知的徽章,而在 IOS(Swift 或 Obj-C)中没有警报?

iOS Firebase 推送通知未出现

使用 Firebase 的 iOS 推送通知

从 Firebase 向 Android 和 iOS 发送推送通知

使用 FCM 推送通知不工作 iOS

Firebase 云功能不发送异步推送通知