1

iOSアプリに静かな通知を送信したいのですが、FCMを実装しました。アプリはバックグラウンドにありますが、アプリがFCMから通知を受け取るときに何らかの操作を実行する必要があります。そのためFCMメッセージコンソールを使用して、iOSアプリにバックグラウンドでサイレント通知を送信します。

、実行プロセスは

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 


と呼ばれる方法に入りますが、問題は、ユーザーが通知をタップするまで、それはこの方法に入らない、ということです。

FCM documents)と同じように、アプリをバックグラウンドで起きさせたい場合は、content_availableパラメータにキー値trueを渡す必要があります。 FCM Composeメッセージコンソール(custom data)でこの情報を送信しているときに、ユーザーが通知をタップするまで、私たちのアプリは起動せず、バックグラウンドでアクティブになることもありません。私はすべて私が受け取っている通知は普通の通知であり、サイレントなものではないと思います。 FCMの実装と送信通知は完全に動作しているようです。

私は与えられたすべてのFCM文書を踏襲し、ほぼすべての可能な接続StackOverflowのソリューションを参照しています。私はリモート通知を送信するためにAppleの文書に従っています。最後に私は "content_available"を送ります:FCMメッセージコンソールを通して真。それは静かな通知になっていないと私はユーザがタップする必要がある通常の通知として、didReceiveRemoteNotificationメソッドを入力する通知を受けています。 FCMは、(サイレント通知のような)背景で通知を受信するかどうかを経由

私は& here

はそれも可能であり、これらの hereのような多くのリンク、 hereと呼ばれていますか? またはそれを実装する他の方法

+0

'content_available'は、ペイロードの' notification'と 'data'の両方にないパラメータです。任意のキーと値のペアをカスタムデータに置くと、それを 'data'メッセージのペイロードの中に置きます。 –

+0

okk、それを試してみましょう。 – Moxarth

+1

firebase-supportに連絡して、「通知コンソールでサイレント通知を送信することはできません。その主な用途は、ユーザーに表示されるキャンペーンを送信することです」サイレント通知を送信するには、代わりにFCM APIを使用してください。 "そのFCM APIの使い方は?あなたはそれをする方法を知っていますか?あなたはポストマンを使用して試みることができる – Moxarth

答えて

1

私はこれに対する解決策を持っています。 ちょうどこれに続いてlinkとその答え。

と郵便配達

{ 
    "to":"eEBrg.... .... .... .... (FCM Token)", 
    "priority": "normal", 
    "content_available": true, 
    "notification":{ 
(do not send body here if you want to send the silent notification) 
     "requesttype":"ring" // optional 
    } 
} 

にこのようなJSONの体内に入る...そして、あなたのアプリがバックグラウンドで目を覚ますだろうとメソッドdidReceiveRemoteNotificationに入ります。

関連する問題