【发布时间】:2017-05-05 16:54:39
【问题描述】:
我希望推送通知仅包含标题。当我从 Firebase 控制台发送消息时,它可以工作,但是当我尝试通过 API 执行相同操作时,它不适用于 iOS(在 Android 上可以正常工作)。
编辑:我想要完成的是仅在应用程序未打开时显示在通知抽屉中的通知中显示标题。如果添加了正文,则会显示在通知中的标题下方。
这是我要发送的推送通知:
{
"to": "/topics/breaking",
"priority":"high",
"notification": {
"title":"Dette er en test"
}
}
我什么也得不到
如果我在通知中添加正文:
{
"to": "/topics/breaking",
"priority":"high",
"notification": {
"title":"Dette er en test",
"body":"hello"
}
}
我得到这个作为回报
{
aps = {
alert = {
body = Hello;
title = "Dette er en test";
};
};
"gcm.message_id" = "xxxxxxx";
}
这是打印我收到的内容的代码:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
self.parseNotification(application, userInfo: userInfo as NSDictionary!)
}
func parseNotification(_ application: UIApplication, userInfo: NSDictionary!) {
print(userInfo)
}
如何在不向请求添加正文的情况下在 iOS 上获取通知?
【问题讨论】:
-
解析 userInfo 时为什么不直接忽略 body?
-
问题是应用未打开时通知抽屉中显示的通知。它应该只包含标题。
-
啊。所以您的意思是顶部横幅仅在应用未打开时显示?
-
如果这就是你的意思,这就是 iOS 的行为。当您的应用程序处于前台/活动状态时,您必须使用自定义视图来模拟横幅行为。对于 iOS 9,您可以使用 UNUserNotifications
-
@ZonilyJame 试过了。看起来有点奇怪。
标签: ios swift push-notification apple-push-notifications firebase-cloud-messaging