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 推送通知消息 - 单击查看按钮后的操作的主要内容,如果未能解决你的问题,请参考以下文章