0

我有一个工作应用程序女巫发送我的推送通知没有任何问题。点击Push的“查看”按钮后——App打开了,但是看到的是一个黑屏,没有任何内容。

我将如何让它工作,点击查看按钮后,我会在应用程序中看到“内容”?

我的想法是(例如):我收到包含以下内容的推送通知:今天您在我们的商店获得 30% 的折扣

单击查看后,我将进入应用程序并可以阅读包含所有内容的完整消息。我的意思是像博客一样工作。推送通知是前文,“查看”按钮是“阅读更多”标签。在我的应用程序中,我可以阅读几篇文章。就像这里:http ://www.myfitapp.de/fitnessstudio-app/push-nachrichten/

可能吗?如何?

4

2 回答 2

3

是的,这当然是可能的。但是您不能通过推送通知发送大量内容。v 推送通知总共最多可以是 256 字节。

您可以做的是向通知的 userInfo 添加一些数据,链接一个 ID。然后在用户打开您的应用程序后,通过解析通知中的 ID 从服务器获取内容。

如果用户单击通知时您的应用程序未运行

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


   NSDictionary *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
   if (remoteNotif) {
      ///Handle the notification
   } 

   /* Your regular init  */

   return YES; 
}

如果您的应用程序正在运行,则调用此方法:

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
  ///Handle the notification
}

在其中,NSDictionary您可以获得通知消息和您添加到通知中的任何其他数据。

--

推送通知的 Userinfo 部分只是 JSON,即 Notification Payload

{
    "aps" : {
        "alert" : "You got your emails.",
        "badge" : 9,
        "sound" : "bingbong.aiff"
    },
    "acme1" : "bar",
    "acme2" : 42
}

这个来自 Apple 的示例,apsJSON 的一部分告诉应用程序在徽章图标中显示 9 和“你收到了你的电子邮件”。作为消息文本。收到此通知后,系统会在应用程序包中查找bingbong.aiff声音,如果找到则播放。

其他键amce1amce2通知一起发送,您可以从作为推送通知的字典中访问。

于 2012-06-13T13:32:46.577 回答
0

当您的应用程序将收到通知时,您可以将您的应用程序重定向到任何特定视图。为此的委托方法是:

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

您还可以根据您的要求从服务器端在 userInfo 字典中传递额外的参数,例如:在您的情况下为 blog_id 并将该 id 传递给您想要在“查看”或“阅读更多”按钮上加载的视图。

于 2012-06-13T13:34:24.900 回答