に私は次の様々な組み合わせを試してみたではない:GCMの背景通知はAndroidで機能します。 iOSの
- APSペイロード
- APSペイロード
- content_availableに渡された空の音に渡された空の警告:真
- コンテンツ - 利用可能:1
優先度を高く設定します。 ターゲット機能のバックグラウンドモードでバックグラウンドフェッチとリモート通知が有効になっています。私はなく、バックグラウンドでアプリを開くと通知が来るとすぐに
JsonObject jGcmData = new JsonObject();
jGcmData.addProperty("to", "/topics/global");
jGcmData.addProperty("priority", "high");
JsonObject jData = new JsonObject();
jData.addProperty("id", nObj.id);
jData.addProperty("title", nObj.title);
jData.addProperty("body", nObj.body);
JsonObject apsData = new JsonObject();
apsData.addProperty("content-available", "1");
apsData.addProperty("alert", "");
jGcmData.add("aps", apsData);
jGcmData.add("data", jData);
:
は、これは私のようなペイロードが見えるものです。
それは次のようになります。
[AnyHashable( "身体"):NTCIP例単位:今WALNUT TREE (火11月15日午後02時01分30秒EST 2016)、AnyHashable( "ID" を示します):idhere、 AnyHashable( "collapse_keyが"):do_not_collapse、AnyHashable() "から": /トピック/グローバル、AnyHashable( "タイトル"):メッセージの変更の通知]
のための私AppDelegate機能受信時にフォアグラウンドとバックグラウンドの通知:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler handler: @escaping (UIBackgroundFetchResult) -> Void) {
print("background notification received: \(userInfo)")
GCMService.sharedInstance().appDidReceiveMessage(userInfo);
NotificationCenter.default.post(name: NSNotification.Name(rawValue: messageKey), object: nil, userInfo: userInfo)
handler(UIBackgroundFetchResult.noData);
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
print("foreground notification received: \(userInfo)")
GCMService.sharedInstance().appDidReceiveMessage(userInfo);
NotificationCenter.default.post(name: NSNotification.Name(rawValue: messageKey), object: nil, userInfo: userInfo)
}
アプリケーション(didReceiveRemoteNotification ::: fetchCompletionHandler)が呼び出されることはありません。
助けてください!
@Essenceofchickensアプリがまだ開発中で、通知で開発証明書が使用されているiOSデバイスで、フォアグラウンド通知が問題なく表示されます。フォアグラウンドとバックグラウンドの両方の通知は、Android搭載端末で表示されます。私はiOSデバイスのバックグラウンド通知を受け取っていないだけです。 –