gpt4 book ai didi

iphone - 从主屏幕启动应用程序无法获取远程推送负载?但是从通知中心启动是有效的

转载 作者:可可西里 更新时间:2023-11-01 04:44:35 26 4
gpt4 key购买 nike

从主屏幕启动应用程序无法获取远程推送负载?但是从通知中心启动是可行的。

起初,应用未运行。收到远程推送通知后,用户不会立即启动带有通知的应用程序。然后用户点击通知中心的通知启动应用程序,我可以从 launchOptions 获取推送负载:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if(userInfo) {
//do some works with push payload.
}
}

但是,如果用户通过点击主屏幕上的应用程序图标启动应用程序,我无法从 launchOptions 获取推送负载,尽管调用了 application:didFinishLaunchingWithOptions:

再次:

  1. 应用程序未运行。
  2. 用户在收到推送通知时没有启动应用。
  3. 稍后,从通知中心启动应用程序并从 launchOptions 获取推送负载。
  4. 从主屏幕启动应用无法从 launchOptions 获取推送负载。

这是 SDK 中的错误吗?如何通过从主屏幕启动应用程序来获取推送负载?

谢谢!

最佳答案

你不能。

您只会在从通知中心启动时获得负载,因为这意味着用户对该通知感兴趣。

例如,如果我在 Tweetbot 上收到回复并且我想查看它,我会点击通知,但如果我只想查看我的推文,我会正常打开应用程序。

如果负载包含用户必须接收的信息,应用程序应联系您的服务器并检索它。

关于iphone - 从主屏幕启动应用程序无法获取远程推送负载?但是从通知中心启动是有效的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11142523/

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