gpt4 book ai didi

ios - 应用程序在后台 IOS 时获取推送通知数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:05:21 26 4
gpt4 key购买 nike

您好,我正在开发使用推送通知的小型 IOS 应用程序。因此,就我而言,我可以获得通知,也可以访问数据以进行通知。来自通知的数据意味着标题、描述等。所以在我的例子中,我没有在我的服务器端保存我的通知。我想在本地保存这些。为此,一旦收到通知我就想要在本地保存该数据。当 App 处于前台时,我可以访问我的数据,但当 App 处于后台时,我无法访问我的通知数据。我想访问通知数据以便保存它。为了通知我做了以下事情:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[application registerForRemoteNotificationTypes:
UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeSound];

[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];

return YES;
}

- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken {
}

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
for (NSString *key in [userInfo allKeys])
{
NSString *data = [userInfo objectForKey:key];
NSLog(@"inside did register for notification .... %@ ---- > %@",key,data);
}
}

我的要求很简单,我想在我的应用程序处于后台时访问通知。这里有人已经这样做了吗?需要帮忙。谢谢。

最佳答案

在 iOS 中,应用无法访问它的推送通知,直到用户点击通知中心的推送通知。
一旦推送通知被点击并且应用程序加载/变为事件状态,只有到那时您才能访问推送通知。

仅供引用:

  1. 当应用程序在后台并收到推送通知时。
    用户点击推送通知后:
    • 内容可以在 -didReceiveRemoteNotification: 方法中访问。
  2. 当应用未打开且收到推送通知时。
    用户点击推送通知后
    • 可以在 -didFinishLaunchingWithOptions: 方法的 launchOptions 参数中访问内容。

另外...推送通知并非 100% 可靠。它们可能会或可能不会被交付(尽管在我的观察中他们不被交付是非常罕见的,但仍然值得指出)

关于ios - 应用程序在后台 IOS 时获取推送通知数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591130/

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