在Parse中向特定用户发送推送通知

时间:2014-10-28 19:17:40

标签: ios parse-platform push-notification apple-push-notifications

我有一段时间试图做一些似乎最简单的事情:我想向特定用户发送推送通知,并且我已经拥有该用户的PFUser对象。

我尝试了以下内容:

// 'recipient' is the PFUser
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"owner" equalTo:recipient];

我也试过更换"所有者"与"用户"。在这两种情况下,推送似乎都成功(没有报告错误)但设备永远不会收到通知。

我知道设备已正确注册并登录,因为我可以从Parse Web控制台发送pushe通知。

正确的方法是什么?

谢谢, 弗兰克

2 个答案:

答案 0 :(得分:0)

我最终使用嵌套查询来获取此信息。

var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo('objectId', recipient);

var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.matchesQuery('user', userQuery);

答案 1 :(得分:0)

好的,事实证明这是一个两步过程。

当用户登录或创建帐户时,您必须在PFInstallation中添加“user”属性:

    [[PFInstallation currentInstallation] setObject:[PFUser currentUser] forKey:@"user"];
    [[PFInstallation currentInstallation] saveEventually];

只有这样查询才能正常工作。

对于Parse服务器应该知道的事情而言,这似乎是很多手动工作而不需要设置它。