gpt4 book ai didi

ios - 仅当应用程序处于后台时隐藏 APN 通知?

转载 作者:行者123 更新时间:2023-11-28 06:36:08 25 4
gpt4 key购买 nike

我正在使用 Firebase Cloud Messaging 推送通知,它在后端使用 APN。

当应用程序在前台时,调用didReceiveRemoteNotification 并且不显示通知,这很完美。

当应用程序被杀死时,didReceiveRemoteNotification 不会被调用但会显示通知,这也是可以的。

但是,当应用程序处于后台时,将调用didReceiveRemoteNotification 并显示通知。我如何隐藏它并只保留 didReceiveRemoteNotification 被调用?

这是我的有效载荷的样子:

$fields = array(
'registration_ids' => $tokens,
'data' => $message,
'content_available' => true,
'priority' => 'high',
'notification' => array('body' => 'notifbody', 'title' => 'testtitle', 'sound' => 'default')
);

最佳答案

试试这个。

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
UIApplicationState state = [application applicationState];
// user tapped notification while app was in background
if (state == UIApplicationStateInactive || state == UIApplicationStateBackground) {
// go to screen relevant to Notification content
} else {
// App is in UIApplicationStateActive (running in foreground)
// perhaps show an UIAlertView
}
}

其次,当您调用方法 - (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types 时,您应该指明适当的参数类型。如果您想在系统收到您设备的推送通知时显示警报,那么您应该传递 UIRemoteNotificationTypeAlert

您还可以组合类型并将其传递到该参数中:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge。

如果您不想从顶部收到警报,请删除警报。

希望对您有所帮助。

谢谢。

关于ios - 仅当应用程序处于后台时隐藏 APN 通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39057585/

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