菜鸟教程小白 发表于 2022-12-13 05:19:46

ios - ionic 3 : Unable to receive push notification on foreground in IOS


                                            <p><p>我正在开发与购物相关的移动应用程序,并使用 firebase FCM 在其中实现推送通知。在 android 上一切正常,我通过代码很好地收到了通知:</p>

<p><strong>app.component.ts</strong></p>

<pre><code>platform.ready().then(() =&gt; {
   this.fcm.onNotification().subscribe(data =&gt; {
      console.log(data);
   });
});
</code></pre>

<p>它在 android 中成功显示了通知数据,但是在 IOS 中,当我点击我的 <strong>php</strong> 代码进行通知时,它在我的应用程序关闭时显示通知,但当我已经打开应用程序时它没有执行 <code>this.fcm.onNotification()</code> 函数。我只是调试了这个问题并注意到了这一点,在我的 xcode 控制台中显示:</p>

<pre><code>2018-12-14 18:08:34.299048+0530 BeMeals
Warning: Application delegate received call to -application:didReceiveRemoteNotification:fetchCompletionHandler:
but the completion handler was never called.
</code></pre>

<p><strong>php 文件</strong></p>

<pre><code>$url = &#39;https://fcm.googleapis.com/fcm/send&#39;;
    $msg = array
    (
   &#39;title&#39;=&gt; &#39;This is title&#39;, // type of notification
   &#39;tickerText&#39; =&gt; &#39;This is message&#39;, // message
   &#39;tab&#39; =&gt; &#39;This is tab&#39;, // screen to open based on subtitle
   &#39;screen&#39; =&gt; &#34;request_list&#34;,
   &#39;message&#39;=&gt; &#39;hey&#39;,
   &#39;body&#39; =&gt; &#39;test&#39;,
   &#39;vibrate&#39; =&gt; 1,
   &#39;sound&#39;=&gt; 1,
   &#39;click_action&#39;=&gt;&#39;FCM_PLUGIN_ACTIVITY&#39;
    );

    $fields = array
    (
   &#39;registration_ids&#39;=&gt; [&#39;my device token&#39;],
   &#39;notification&#39;   =&gt; $msg,
   &#39;data&#39; =&gt; [
      &#39;test&#39;=&gt;123
   ],
   &#39;priority&#39; =&gt; &#39;high&#39;,
   &#39;content_available&#39; =&gt; true
    );

    $headers = array
    (
   &#39;Authorization: key=&#39; . self::$API_ACCESS_KEY,
   &#39;Content-Type: application/json&#39;
    );

    $result = self::useCurl($url, $headers, $fields);
</code></pre>

<p>谁能告诉我为什么会这样?出了什么问题?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在google上的一些RND为自己找到解决方案后,您需要将FCM插件版本降级到<code>1.1.5</code></p>

<pre><code>cordova-plugin-fcm: &#34;^1.1.5&#34;
</code></pre>

<p>将此添加到您的 <code>package.json</code> 文件中。
希望这对你也有用。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios -ionic3 : Unable to receive push notification on foreground in IOS,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/53780063/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/53780063/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - ionic 3 : Unable to receive push notification on foreground in IOS