gpt4 book ai didi

ios - 当应用程序在后台运行时,Google Firebase 远程通知不会弹出

转载 作者:行者123 更新时间:2023-11-28 21:24:48 26 4
gpt4 key购买 nike

我正在使用 Google Firebase 向用户发送通知。当时我正在尝试向单个设备(我的)发送通知。

接收通知时出现问题 - 当我的应用程序在后台运行时,横幅未出现。但是如果我打开我的应用程序,方法 didReceiveRemoteNotification: 会触发我的警报 View :

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:userInfo[@"notification"][@"body"]
message:@"More info..."
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Open",nil];
[alert show];

}

但正如 Google Firebase 文档中所写,此方法会在应用程序打开后触发,因此它是有道理的。

所以消息已发送到我的设备,如果应用程序在后台,我无法触发通知横幅。

我读到有关将消息优先级设置为高并将自定义数据 key 内容可用设置为 1,但没有成功。

我的代码中是否遗漏了其他内容来触发通知?我已经使用 Google Firebase Guide 完成了此操作以实现通知。

最佳答案

我解决了我的问题。我再次开始阅读 Google Firebase 上的文档,并在 Cloud Messaging 下阅读我发现了这个:

在 setAPNSToken:type: 中提供您的 APNs token 和 token 类型。确保类型的值设置正确:沙盒环境为 FIRInstanceIDAPNSTokenTypeSandbox,生产环境为 FIRInstanceIDAPNSTokenTypeProd。如果您没有设置正确的类型,则消息不会传送到您的应用。

所以我错过了将这个声明放在方法中:didRegisterForRemoteNotificationsWithDeviceToken:

 - (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

[FIRInstanceID instanceID] setAPNSToken:deviceToken type:FIRInstanceIDAPNSTokenTypeSandbox];

}

不要忘记为生产输入类型:“FIRInstanceIDAPNSTokenTypeProd”。

关于ios - 当应用程序在后台运行时,Google Firebase 远程通知不会弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38520645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com