相关疑难解决方法(0)

FCM后台通知在iOS中无效

我在iOS上遇到FCM通知问题.

我收到成功通知时,我的应用程序是在前台(回调didReceiveRemoteNotificationappdelegate被解雇),但是当应用程序在后台我没有收到通知(我看不出在iOS中的通知栏,任何东西).

所以,我认为问题在于FCM发送的消息格式.我的服务器发送给FCM的json采用以下格式:

{  
   "data":{  
      "title":"mytitle",
      "body":"mybody",
      "url":"myurl"
   },
   "notification":{  
      "title":"mytitle",
      "body":"mybody"
   },
   "to":"/topics/topic"
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我的json中有两个块:一个通知块(用于接收后台通知)和一个数据块(用于接收前台通知).

我无法理解为什么没有收到后台通知.我的疑问是关于块的顺序(如果我在"通知"块之前放置"数据"块会有问题吗?).

编辑: 有关该问题的更多信息.

这是我的appdelegate.swift:

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
{
    var window: UIWindow?


    // Application started
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool
    {
        let pushNotificationSettings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
        application.registerUserNotificationSettings(pushNotificationSettings)
        application.registerForRemoteNotifications()

        FIRApp.configure()

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "tokenRefreshNotification:", name: kFIRInstanceIDTokenRefreshNotification, object: nil)

        return true
    }




    // Handle refresh notification token
    func tokenRefreshNotification(notification: NSNotification) {
        let …
Run Code Online (Sandbox Code Playgroud)

ios firebase google-cloud-messaging swift firebase-cloud-messaging

34
推荐指数
4
解决办法
3万
查看次数

是否可以直接从设备使用Firebase云消息传递(FCM)向特殊UDID发送PushNotifications?

我正在考虑在数据库中保留所有注册ID(推送令牌)并从iPhone发送通知给用户.我试过这样的事情,但没有得到任何通知.

func sendPNMessage() {
    FIRMessaging.messaging().sendMessage(
        ["body": "hey"], 
        to: TOKEN_ID, 
        withMessageID: "1", 
        timeToLive: 108)  
 } 
Run Code Online (Sandbox Code Playgroud)

我做错了什么或者根本不可能做到这一点?

ios firebase google-cloud-messaging firebase-cloud-messaging firebase-notifications

16
推荐指数
2
解决办法
4883
查看次数

使用Firebase实施推送通知的最佳方式

我是一个iPhone应用程序编码器,我使用Firebase作为我的后端服务器.Firebase不支持推送通知,所以我一直在试图弄清楚如何将它们包含在我的应用中.我已经读过这个问题:如何向一个使用firebase的特殊在线用户发送警报消息,但它看起来更像是一个解决方案,而不是一个实际的解决方案.

有关于如何做到这一点的答案吗?是否有第三方或API可能无法实现此功能?

我尝试过的一个解决方案是使用Zapier将Firebase连接到Pushover.

此时,我已经能够在应用程序中观察我正在编码的事件,然后在我的iphone上的pushover应用程序中收到通知.但是,理想情况下,我希望在我的应用中收到通知,而不是在pushover应用中,因为我不希望用户需要进行推送才能使用我的应用,因为我希望用户能够收到他们自己的通知,而不是每个人的通知.

有没有人对如何处理这个问题有任何建议?

谢谢您的帮助!

编辑 这不是这个问题的重复: firebase是否处理推送通知?因为我知道Firebase不会直接处理推送通知.我正在寻找使用Firebase处理推送通知的最佳间接方式.

push-notification ios firebase zapier pushover

12
推荐指数
2
解决办法
2万
查看次数

当 iOS 应用程序在后台运行时,您可以收听 Firestore 更新吗?

我对 Firestore 非常陌生,并试图了解实时更新的工作原理。我现在使用类似的方法从 Firestore 获取更新:

db
  .collection(Collections.session)
  .whereField("participants", arrayContains:userID)
  .addSnapshotListener { querySnapshot, error in
Run Code Online (Sandbox Code Playgroud)

我注意到,当应用程序位于后台时,侦听器块不会被触发,而只有当应用程序返回前台时才被触发。

有没有办法在应用程序也在后台运行时获取更新?也许以某种方式发送推送通知或其他什么?

非常感谢任何形式的帮助。

ios firebase swift google-cloud-firestore

3
推荐指数
1
解决办法
1149
查看次数