使用推送通知发送数据 - 不返回整个推送

时间:2014-10-31 10:01:25

标签: ios swift parse-platform

我已经尝试了大约2天,让这个聊天应用程序工作(非常基本)当一个用户发送消息时,它会在其他用户屏幕上弹出为远程通知,当他们打开它时,它必须将第二个用户带到特定聊天(与发送消息的用户,而不是其他人的聊天)。

我尝试通过展开通知,检查通知来自哪个,然后将它们带到相应的聊天来实现此目的。但我无法获取aps或发送的数据来获取数据来自谁。

我做了一些研究,其他人的通知看起来像这样:

{
"aps": {
     "badge": 10,
     "alert": "Test",
     "sound": "cat.caf"
},
"url": "http://www.google.com"
}

虽然我看起来像这样:

{
alert = asd;
}

1)有没有办法添加更多信息,例如sender idsender name等。

2)我怎样才能让这个停止弹出作为警报,而只是总是把它作为横幅?

3 个答案:

答案 0 :(得分:1)

试试这个:

// Set your alert message
$message = 'How are you???!';

// Set your custom data
$customData = '{"url":"www.google.com"}';


// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default',
'customData' => $customData
);

最后推动有效载荷。

如果需要,可以附加php文件:Push Custom Data

答案 1 :(得分:0)

Parse似乎有关于此... https://parse.com/docs/push_guide#top/iOS

的文档

也非常确定用户可以控制通知的显示方式,开发人员无法控制通知

答案 2 :(得分:0)

所以我设法通过.setData()方法完成了这项工作。所以这是代码:

var data: AnyObject = ["from" : "1", "message" : textView.text, "aps" : ["alert" : textView.text, "badge" : "1"]] as NSDictionary
push.setData(data as NSDictionary)

之前没有工作的原因是因为我试图使用.setMessage(),如果它被追加则会覆盖.setData(),反之亦然。