【问题标题】:Handling Push Notification on Lock Screen ios处理锁屏ios上的推送通知
【发布时间】:2015-08-04 08:44:17
【问题描述】:

在我的应用程序中推送通知以json 格式接收数据

这是什么

    aps =     {

        alert = "{\"messsage\":\"what to do when boarded \",\"chatBox\":\"130701.130693\",\"sender_id\":\"130701\",\"sender_name\":\"reg41\",\"sender_image_url\":\"http:\\/\\/www.playmit.com\\/images\\/user_profile_images\\/\",\"receiver_id\":\"130693\",\"type\":\"chat\"}";

    };

}

但在应用程序未运行或应用程序在后台收到推送通知时,它也会在锁定屏幕上显示相同的 json 内容在推送通知中 那么我该如何处理呢。

谢谢。

在图片中 Quizmatch 收到json 格式的推送通知

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    您不能将自定义标签放在 aps 标签内。以下是相关文档的说明:

    提供者可以在 Apple 保留的 aps 命名空间之外指定自定义负载值。自定义值必须使用 JSON 结构化和原始类型:字典(对象)、数组、字符串、数字和布尔值。 因此,在您的情况下,您应该执行以下操作:

    {
        "aps": {
            "alert": "Hello World",
            "sound": "default"
        },
        "Person": {
            "Address": "this is a test address",
            "Name": "First Name",
            "Number": "023232323233"
        }
    }
    

    因此,您可以通过在主 JSON 中而不是在“aps”中查找自定义有效负载来读取它:

    NSLog(@"%@",notification['Person']['Address']); 以上将输出:

    这是一个测试地址 您可以在 Apple 文档中找到有关自定义负载的更多信息以及一些示例。

    参考:link

    【讨论】:

      【解决方案2】:

      如果不阻止用户进行设置,则始终显示 aps.alert

      {
          "aps": {
               "badge": 10,
               "alert": "Hello world!",
               "sound": "cat.caf"
          },
          "job_id": 1
      }
      

      像这样更新您的通知结构,在“job_id”等其他键下发送数据

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多