GCMによるプッシュ通知が統合されています。すべて正常に動作しています。しかし、私は通知メッセージとサウンドを取得していません。関数didReceiveNotification:
は、アプリケーションデリゲートで呼び出されました。また、バックグラウンドの状態になっていない。iosのGCMでプッシュ通知がバックグラウンド状態にならない
答えて
通常、iOSアプリはAPNS
ではなくGCM
でプッシュ通知を受け取ることができ、アプリがバックグラウンド状態のときはデータを取得できませんでした。 iOSアプリがAPNS
でプッシュ通知を取得し、バックグラウンド状態になっている場合、プッシュ通知は通知センター&のアプリのアイコンで一番上に表示されます。通知が表示されても、サーバーに問題はありません。
アプリがバックグラウンド状態になってもデータが届かないため、アプリがフォアグラウンド状態に戻ったときに通知データ用にサーバーAPIを作成する必要があります。
コメントを投稿する前に、以下のことを検討してください。
- 私はApple Developer center
- を訪問していない場合は、Appleデベロッパポータルから必要な暫定プロフィール&証明書を生成している、あなたが開発者向けポータルでアプリケーション識別子を設定していると仮定します。訪問しない場合App Distribution Guide
bundle identifier
がApple Developer Portalで定義されているとおりに正しく設定されていることを確認してください。- カスタムバックエンドを使用してAPNSを設定し、FireBase/GCM用ではないプッシュ通知を送信するためのアンサーガイドです。
didFinishLaunchingWithOptions
AppDelegate
内部のファイルに適切な設定でStep 1:
APNSのための登録func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. let notificationTypes: UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound] let pushNotificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil) application.registerUserNotificationSettings(pushNotificationSettings) application.registerForRemoteNotifications() return true }
Step 2:
追加する:上記のすべてのものが正しく設定されている場合、下記の手順Firebase or GCM(As Firebase Cloud Messaging (FCM) is the new version of GCM) follow Google documentation
を使用して、それを設定するにはdelegate
delegate
メソッドを追加してAPNS登録の成功または失敗を処理する方法
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
// Convert binary Device Token to a String (and remove the <,> and white space charaters).
var deviceTokenStr = deviceToken.description.stringByReplacingOccurrencesOfString(">", withString: "", options: nil, range: nil)
deviceTokenStr = deviceTokenStr.stringByReplacingOccurrencesOfString("<", withString: "", options: nil, range: nil)
deviceTokenStr = deviceTokenStr.stringByReplacingOccurrencesOfString(" ", withString: "", options: nil, range: nil)
print(deviceTokenStr);
// *** Store device token in your backend server to send Push Notification ***
}
func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) {
print(error)
}
Step 3:
今、あなたは、デバイスの端にあなたのAPNSを設定している、あなたは、あなたのアプリがフォアグラウンドにあるときにメソッドが呼び出されます、次のプッシュ通知を受信した場合、サーバー/バックエンドからのプッシュ通知を発射することができます。それをAppDelegate
に実装します。
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
print(userInfo)
}
あなたは物事を次の世話をする必要があなたのapplication is in background
(ただし、マルチタスクから削除することによって殺されていない)しながら、プッシュ通知を処理するために。
あなたは> Targets-> Capabilities->バックグラウンドモードをオンにして、リモート通知を選択し、プロジェクトNavigation-で
Background Modes
を有効にしていることを確認してください。
バックグラウンドでプッシュ通知を処理する次の方法を実装します。 UIBackgroundFetchResult
を正しく処理してください。
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
}
注: メソッドが呼び出されることはありませんfunc application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])
メソッドを実装している場合。
読むよりおよそAPNS in Apple Documentation.
- 1. GCM - バックグラウンドでiOSプッシュ通知が機能しない
- 2. iOSサイレントプッシュ通知がバックグラウンド状態で毎回トリガーされない
- 3. iOSアプリがバックグラウンドのときにGCMプッシュ通知
- 4. iOSプッシュ通知とGCM
- 5. Android - GCM - バックグラウンドでプッシュ通知を受信しない
- 6. GCMプッシュ通知が復活しない
- 7. IOSがGCMプッシュ通知を受信していない
- 8. Android - GCMプッシュ通知が通知リストに表示されない
- 9. バックグラウンドGCMプッシュ通知が特定のAppleデバイスで受信されない
- 10. アプリがAndroidにバックグラウンドである場合、通知アイコンが表示されない(Gcmプッシュ通知)?
- 11. バックグラウンドでのiOSのプッシュ通知
- 12. GCMを使用したiOSプッシュ通知
- 13. gcmのようなものがない単純なプッシュ通知
- 14. GCMプッシュ通知NodeJS
- 15. GCMプッシュ通知DELAY
- 16. GCMプッシュ通知アイコン
- 17. バックグラウンドでプッシュ通知
- 18. iOSプッシュ通知がPhonegap-plugin-pushを使用してGCMで動作しない
- 19. アプリケーションがiOS 10のバックグラウンドのときにプッシュ通知が受信されない
- 20. iOSプッシュ通知が機能しない
- 21. AndroidアプリでGCMプッシュ通知が機能しない
- 22. アンドロイド3.1のGCMプッシュ通知
- 23. Xamarin GCMのプッシュ通知
- 24. アプリケーションが閉鎖状態のときに、ONSIGNALプッシュ通知が機能しない
- 25. gcmプッシュ通知、プログレッシブwebapp
- 26. Android GCMプッシュ通知が受信されない
- 27. Android GCMプッシュ通知が機能しない
- 28. バックグラウンドでAndroidアプリがFirebaseプッシュ通知を処理できない
- 29. gcm/fcmで複数のAndroidアプリとiOSアプリの通知をプッシュ
- 30. iOS通知(バックグラウンド)
あなたがSOにポストにつながる問題がある場合、すべてが正常に動作している方法は? – Avi
私はこの権利を得ているかどうかわかりませんが、アプリがフォアグラウンドになっている場合にのみ、「アプリケーション代理人の通知を受け取りました」が発生します。あなたが通知を受け取らないなら、100の理由があるかもしれません。私はGCM/APNSのログを取得し始めるでしょう、彼らはそれが送信されたと言いますか? – dan