gpt4 book ai didi

ios - Firebase 后台和非事件通知不显示 iOS

转载 作者:行者123 更新时间:2023-11-29 11:46:20 25 4
gpt4 key购买 nike

在 iOS 10 中使用 FCM 推送通知:

这是在通过我们自己的 API 推送通知后被调用的 snipper:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
// If you are receiving a notification message while your app is in the background,
// this callback will not be fired till the user taps on the notification launching the application.
// TODO: Handle data of notification

[[FIRMessaging messaging] appDidReceiveMessage:userInfo];
if (userInfo[kGCMMessageIDKey]) {
NSLog(@"Message ID: %@", userInfo[kGCMMessageIDKey]);
}

completionHandler(UIBackgroundFetchResultNewData);
if(application.applicationState == UIApplicationStateBackground){
[[TWMessageBarManager sharedInstance] showMessageWithTitle:@"Bacgkround"
description:@"Wassup"
type:TWMessageBarMessageTypeSuccess callback:^{


}];

}
else if(application.applicationState == UIApplicationStateActive){
[[TWMessageBarManager sharedInstance] showMessageWithTitle:@"Active"
description:@"Wassup"
type:TWMessageBarMessageTypeSuccess callback:^{


}];
}

else if(application.applicationState == UIApplicationStateInactive){
[[TWMessageBarManager sharedInstance] showMessageWithTitle:@"InActive"
description:@"Wassup"
type:TWMessageBarMessageTypeSuccess callback:^{


}];
}
}

当应用程序处于事件状态时,将调用上述方法并执行 UIApplicationStateActive 案例,我正在使用第 3 方库显示弹出窗口。当我按下主页按钮并推送通知时,将调用上述方法并执行 UIApplicationStateBackground 但我不确定如何以横幅形式显示通知?

这是我必须处理通知的方法吗?如果是,我如何处理背景和非事件状态?

最佳答案

你只需要将通知主体放在你从服务器接收到的有效载荷中,如果你不添加它,iOS 将其视为静默推送通知并且不会显示通知横幅。例如

{  
"data":{
"title":"mytitle",
"body":"mybody",
},
"notification":{
"title":"mytitle",
"body":"mybody",
},
}

无论应用处于何种状态,当用户点击通知横幅时,您将触发 firebase 提供的回调方法。例如

// [START receive_message]
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;

等等

注意:无需使用任何第三方库来显示通知横幅,因为所有这些都由 iOS 控制。

关于ios - Firebase 后台和非事件通知不显示 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648816/

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