iOS 10 : 在后台接收远程通知
iOS 10 : Receive Remote Notification in background
我正在实施 FCM 推送通知。
当 App 处于前台时我会收到通知。
但是我没有在后台收到通知。
在服务器端我设置了content-available => true
在 iOS 10,我应该实施任何其他方法还是从哪里获得后台通知?
@available(iOS 10.0, *)
func userNotificationCenter(center: UNUserNotificationCenter, willPresentNotification notification: UNNotification, withCompletionHandler completionHandler: (UNNotificationPresentationOptions) -> Void)
{
print("userNotificationCenter : Forground")
completionHandler([.Alert,.Sound,.Badge])
}
@available(iOS 10.0, *)
func userNotificationCenter(center: UNUserNotificationCenter, didReceiveNotificationResponse response: UNNotificationResponse, withCompletionHandler completionHandler: () -> Void)
{
//Code Todo After User presess notification
}
PHP 服务器负载代码:
$payloadFeild = array(
'registration_ids' => $gotoFcmUidVar,
'data' => array('MsgKey'=>json_encode($fcmMsgVar)),
'content_available' => true,
'priority' => 'high'
);
经过 2 个月的努力,我终于通过添加 2 个东西解决了这个问题:
这是所有文档中都缺少的,旨在帮助所有我不希望像我一样挣扎的人
|*|尝试 1) :对于 Ios 10 后台通知,在 AppDeligate 中添加以下委托方法:
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
{
application.registerForRemoteNotifications()
}
Got this solution from : https://codentrick.com/firebase-cloud-messaging-ios/
|*|尝试 2):如果使用 Firebase:在 "info.plist"
中设置一个值
属性 列表视图:
FirebaseAppDelegateProxyEnabled -> NO
源代码查看:
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
我只提到了 FirebaseAppDelegateProxyEnable。所以也要注意拼写。
我正在实施 FCM 推送通知。
当 App 处于前台时我会收到通知。
但是我没有在后台收到通知。
在服务器端我设置了content-available => true
在 iOS 10,我应该实施任何其他方法还是从哪里获得后台通知?
@available(iOS 10.0, *)
func userNotificationCenter(center: UNUserNotificationCenter, willPresentNotification notification: UNNotification, withCompletionHandler completionHandler: (UNNotificationPresentationOptions) -> Void)
{
print("userNotificationCenter : Forground")
completionHandler([.Alert,.Sound,.Badge])
}
@available(iOS 10.0, *)
func userNotificationCenter(center: UNUserNotificationCenter, didReceiveNotificationResponse response: UNNotificationResponse, withCompletionHandler completionHandler: () -> Void)
{
//Code Todo After User presess notification
}
PHP 服务器负载代码:
$payloadFeild = array(
'registration_ids' => $gotoFcmUidVar,
'data' => array('MsgKey'=>json_encode($fcmMsgVar)),
'content_available' => true,
'priority' => 'high'
);
经过 2 个月的努力,我终于通过添加 2 个东西解决了这个问题:
这是所有文档中都缺少的,旨在帮助所有我不希望像我一样挣扎的人
|*|尝试 1) :对于 Ios 10 后台通知,在 AppDeligate 中添加以下委托方法:
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
{
application.registerForRemoteNotifications()
}
Got this solution from : https://codentrick.com/firebase-cloud-messaging-ios/
|*|尝试 2):如果使用 Firebase:在 "info.plist"
中设置一个值
属性 列表视图:
FirebaseAppDelegateProxyEnabled -> NO
源代码查看:
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
我只提到了 FirebaseAppDelegateProxyEnable。所以也要注意拼写。