iOS 推送通知消息 - 单击查看按钮后的操作

Posted

技术标签:

【中文标题】iOS 推送通知消息 - 单击查看按钮后的操作【英文标题】:iOS push notification message - action after clicking VIEW button 【发布时间】:2012-06-15 08:30:35 【问题描述】:

我对推送通知有一些问题。我可以很好地将它们发送到我注册的设备。一切正常。

我的问题是: 单击 VIEW 按钮后,应用程序正在启动。暂时没有任何内容。

如何在此处添加内容?这个内容应该取决于我发出的推送通知。

例如: 我的推送通知是关于 1 号新闻的 - 然后点击查看后,我应该会得到更多关于 1 号新闻的信息

等等……

当从 1 号新闻返回时,还应该可以在列表中读取应用程序中所有以前收到的新闻。

你明白我的意思吗?

我没有任何真正的想法...如果您能向我展示有关示例的代码,那就太好了。

谢谢。

【问题讨论】:

Push Notification - View Button action的可能重复 请参考我的***帖子:***.com/questions/6475043/… 【参考方案1】:

只需实现以下代码即可:

// will be called if the app was not active
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    [self applicationDidFinishLaunching:application];

    if (launchOptions != nil)
    
        NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
        if (dictionary != nil)
        
            // get the necessary information out of the dictionary 
            // (the data you sent with your push message)
            // and load your data
        
    
    return YES;


// will be called when in foreground
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo     
    // get the necessary information out of the dictionary 
    // (the data you sent with your push message)
    // and load your data
  

您可以在此处找到关于 APNS 的知名教程:http://www.raywenderlich.com/3525/apple-push-notification-services-tutorial-part-2

【讨论】:

好的,谢谢你的帖子。但对我来说,在你的代码中了解更多关于这一点很重要: // 从字典中获取必要的信息 // (你与推送消息一起发送的数据) // 并加载你的数据 你能给我一个例子吗?我想将它与 Wordpress Post 一起使用。所以我想使用的帖子 ID。但我不知道如何在应用程序中实现它 看看你收到的NSDictionary(谁在发送这条推送消息?不是你?) 我正在发送推送。您好,我查看了 NSDictionary。我想做以下事情:发送带有一些信息的推送通知。在同一页面上,我还填写了另一条消息(包含所有信息、一些图像等)。在我的 iPhone 上收到推送通知后,我点击查看按钮并可以阅读包含所有信息的消息。你现在是什么意思?在一个网站 (html) 上,我同时发出 2 条消息。一条消息是真正的推送,另一条是消息,我点击查看按钮后阅读的消息。 您说的是哪个“页面”?我不知道你真正想做什么。如果您想在收到推送通知后加载其他内容:只需使用特定 ID 从您的服务器获取。 我创建了一个界面,一个 html 站点,我在其中发送了我的推送通知。看看这里。 www.webdesign-rothe.de/iphoneapp/。但最大的问题是,我收到了消息,点击查看按钮后,应用程序以空白内容打开。我只想发送推送,点击后我想阅读“真正的”更长的消息/新闻。所以我的问题是,我该怎么办?我阅读了有关 NSDisctionary 的信息,但实际上我并没有真正的胶水如何实现它。此外,对于每条新消息,消息/新闻的 ID 都不同。如何在App中实现?【参考方案2】:

如果用户点击查看按钮时您的应用不在后台,则调用application:didFinishLaunchingWithOptions:。该方法的第二个参数中的字典包含有关启动原因(直接、来自推送或本地通知等)以及有关通知内容的信息。

如果您的应用已在后台运行,则在唤醒时会调用 application:didReceiveRemoteNotification:。同样,第二个参数是一个包含通知内容的字典。

【讨论】:

好的,谢谢你的帖子。但对我来说,在你的代码中了解更多关于这一点很重要: // 从字典中获取必要的信息 // (你与推送消息一起发送的数据) // 并加载你的数据 你能给我一个例子吗?我想将它与 Wordpress Post 一起使用。所以我想使用的帖子 ID。但我不知道如何在应用程序中实现它 你有没有试过自己查字典?这真的很简单。而且我无法向您提供任何具体信息,因为我对通知的内容或您的应用程序的结构一无所知。 您好,我查看了 NSDictionary。我想做以下事情:发送带有一些信息的推送通知。在同一页面上,我还填写了另一条消息(包含所有信息、一些图像等)。在我的 iPhone 上收到推送通知后,我单击查看按钮并可以阅读包含所有信息的消息。你现在是什么意思?在一个网站 (html) 上,我同时发出 2 条消息。一条消息是真正的推送,另一条是消息,我点击查看按钮后阅读的消息。【参考方案3】:

生成通知的 UUID 时出错。必须使用 __bridge_transfer 或 CFBridgingRelease,而不是使用 __bridge;否则 CFStringRef 将永远不会被释放。

【讨论】:

以上是关于iOS 推送通知消息 - 单击查看按钮后的操作的主要内容,如果未能解决你的问题,请参考以下文章

重定向以查看 IOS 通知栏中的点击推送消息

如何从 WatchOs 中的推送通知中获取数据并处理推送通知操作按钮单击事件

无法对推送通知自定义按钮执行操作

iOS极光推送设置别名

IOS 7 通过单击推送通知查看特定视图控制器

单击推送通知的操作按钮时,如何转到最新的 DetailView?