5

iOSのサイレント通知に問題があります。iOSのFirebase FCMサイレントプッシュ通知

私のアプリケーションがバックグラウンドのときは、FCMから送信されたサイレント通知を受信しません。しかし、APNSに直接送信しようとすると、通知は正常に受信されます。

この

は、JSONは、FCMに送信される。

{ 
    "aps": { 
    "content-available": 1 
    }, 
    "<key>": "<string>", 
    "<key>": "<string>" 
} 

Iはすでに "優先度" を削除することを試みた:

{ 
"to" : "<token>", 
"priority": "high", 
"content_available": true, 
"data" : { 
    "<key>" : "<string>", 
    "<key2>" : "<string>" 
} 

}

これはJSONはAPNSに直接送信され誰かが "content_available"がすでに設定されている場合に優先順位を設定すべきではないと言っているのが分かりました。それはうまくいかなかった。

  1. XCode>機能で「プッシュ通知」が有効になっています。
  2. 「リモート通知」に「XCode>機能の背景モード」が選択されています。
  3. アプリがフォアグラウンドにあるときと、アプリがバックグラウンドのときに、FCM通知が正常に機能しています。

答えて

2

回避方法が見つかりました。私は "通知"フィールドに "サウンド"の空の値を入れて、アプリケーションがバックグラウンドになっていてもサイレント通知を配信します。

{ 
    "to" : "...", 
    "priority": "high", 
    "notification": { 
     "sound": "" 
    }, 
    "data" : { 
     .... 
    } 
} 

私の勘では、Appleが何らかの形で「通知」を「高」優先度でサイレント通知を許可していないということです:{「音」:「」}トリックにAPNSをこの通知は沈黙ものではないということ。

+1

通知オブジェクトを設定した直後は、通常のプッシュ通知になります。これは、alの無音プッシュ通知ではありません。 –

+0

FCMメッセージコンソールからサイレント通知を送信するにはどうすればよいですか? – Moxarth

1

documentation for server sideに従ってください。ドキュメントの説明に従ってjsonをセットアップしてください。私は以前に同様の問題に直面して、この文書の問題を解決しました。

{ 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", 
    "priority" : "high", 
    "notification" : { 
    "body" : "This week's edition is now available.", 
    "title" : "NewsMagazine.com", 
    "icon" : "new" 
    }, 
    "data" : { 
    "volume" : "3.21.15", 
    "contents" : "http://www.news-magazine.com/world-week/21659772" 
    } 
} 

通知キーがありませんでした。バックグラウンドに関する通知を得るためにapnsによって使用されます。

+3

しかし、私は、ユーザーが通知センターに通知を受信したくありません。私はちょうど "didReceiveRemoteNotification"でいくつかのコードを実行する静かな通知をしたい。これが「サイレント通知」の意味です。 – vladiulianbogdan

3

「通知」キーと値のペアを削除し、「content_available」を追加:真

それは、これはそれサイレントAPNS確認する必要があり、あなたが処理する必要がある。この

{ 
    "to" : "...", 
    "priority": "high", 
    "content_available": true, 
    "data" : { 
     .... 
    } 
} 

のようになります。対応するAPNS委任方法を使用します。

あなたは、詳細については、このfirebaseのドキュメントを参照してください 代表者を通じてこれを処理する必要があります。https://firebase.google.com/docs/cloud-messaging/concept-options

関連する問題