什么功能从Firebase Messaging接收iOS中的推送通知?

时间:2017-03-31 06:14:06

标签: ios swift firebase apple-push-notifications firebase-cloud-messaging

前一天,我用来测试推送通知的iPhone正在接收推送通知,但由于某种原因,今天它们不是。

当它工作时,我会调用完成处理程序在此函数中显示通知:

@available(iOS 10, *)
extension AppDelegate : UNUserNotificationCenterDelegate {

    func userNotificationCenter(_ center: UNUserNotificationCenter,
                                willPresent notification: UNNotification,
                                withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        let userInfo = notification.request.content.userInfo
        print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
        completionHandler([.alert, .badge, .sound])
    }

但是,该功能似乎不再被调用。我看到任何印刷品的唯一功能就是这个:

extension AppDelegate : FIRMessagingDelegate {
    // Receive data message on iOS 10 devices while app is in the foreground.
    func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage) {
        print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
        print(remoteMessage.appData)
    }
}

我从Firebase Send a Notification to an iOS Device docs获得了所有这些功能。我真正想要的是能够从Apples APNs服务器接收推送通知。我在我的控制台APNs token retrieved: 32 bytes中收到此行,并且推送通知在昨天也正常工作,所以我不确定它为什么会停止。

我唯一怀疑让它停止工作的是我删除并重新安装了iPhone上的应用程序,除此之外我根本没有弄乱AppDelegate中的代码。任何人都可以帮我弄清楚为什么我的推送通知可能已经停止发送了?

注意我使用Firebase Messaging topics从我的云功能发送这些消息,我可以确认正确发送消息,因为我在上面的第二个功能中接收了它们,就像昨天收到的那样,不是第一个。我使用admin.messaging().sendToTopic(pet_Id, payload, options);发送通知。

这是我的full AppDelegate.swift file,如果有人能帮我解决这个问题,我会非常感激!

1 个答案:

答案 0 :(得分:0)

我有类似的东西,

以下是我的回答 - Firebase Push Notifs Problem

这可能是问题,

我转过身来,从apple开发中心删除了证书并重新创建了它们,这使得一切正常。

" 我也将这行代码设置为

FIRInstanceID.instanceID().setAPNSToken(deviceToken as Data, type: FIRInstanceIDAPNSTokenType.sandbox)

当我推送到应用商店时,我会将其更改为.prod。"