gpt4 book ai didi

iphone - 在后台时的 didReceiveRemoteNotification

转载 作者:行者123 更新时间:2023-12-03 18:10:50 27 4
gpt4 key购买 nike

此类问题已被问过多次,但我遇到了一些具体情况。

当我的应用程序处于事件状态并且收到推送消息时,我能够成功解析自定义负载等。

但是,当我的应用程序在后台并且推送到达时,用户必须单击“查看/打开”按钮才能调用 didReceiveRemoteNotificationdidFinishLaunchingWithOptions code> 之后被调用。

我需要让我的应用程序决定是否必须在后台使用 UIAlert 提示用户,或者根据某些本地设置抑制推送消息。

如有任何帮助,我们将不胜感激,

最佳答案

您的应用需要处理所有可能的推送通知传递状态:

  • 您的应用刚刚启动

  • 您的应用刚刚从后台转到前台

  • 您的应用已在前台运行

您无法在交付时选择使用什么呈现方法来呈现推送通知,该呈现方法是在通知本身中编码的(可选警报、徽章编号、声音)。但由于您可能同时控制应用程序和推送通知的有效负载,因此您可以在有效负载中指定是否已向用户呈现警报 View 和消息。只有当应用程序已经在前台运行时,您才知道用户不仅仅是通过警报或定期从主屏幕启动您的应用程序。

您可以使用以下代码在 didReceiveRemoteNotification 中判断您的应用程序是否刚刚进入前台:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if ( application.applicationState == UIApplicationStateActive )
// app was already in the foreground
else
// app was just brought from background to foreground
...
}

关于iphone - 在后台时的 didReceiveRemoteNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5056689/

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