我有一段时间试图做一些似乎最简单的事情:我想向特定用户发送推送通知,并且我已经拥有该用户的PFUser对象。
我尝试了以下内容:
// 'recipient' is the PFUser
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"owner" equalTo:recipient];
我也试过更换"所有者"与"用户"。在这两种情况下,推送似乎都成功(没有报告错误)但设备永远不会收到通知。
我知道设备已正确注册并登录,因为我可以从Parse Web控制台发送pushe通知。
正确的方法是什么?
谢谢, 弗兰克
答案 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服务器应该知道的事情而言,这似乎是很多手动工作而不需要设置它。