在我的应用中,我使用的是PFRelation
,因此用户可以添加好友。
我希望currentUser点按UIButton
并向其朋友发送推送通知。
现在我已经使用他们的示例设置了它,并且推送到每个用户。
是否有特定的查询搜索?或其他什么?
// Create our Installation query
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"deviceType" equalTo:@"ios"];
// Send push notification to query
[PFPush sendPushMessageToQueryInBackground:pushQuery
withMessage:@"Hello World!"];
编辑:
这是我试图获取对象的内容,但没有返回任何内容:
PFQuery * theQuery = [PFUser query];
[theQuery whereKeyExists:@"friendsRelation"];
[theQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error)
{
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
else
{
self.friends = objects;
}
}];
编辑二:
我知道可以提出当前用户的朋友列表。
下一步我无法弄清楚如何将推送通知发送给NSArray的朋友。
PFRelation *rel = [[PFUser currentUser] relationForKey:@"friendsRelation"];
[[rel query] findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error)
{
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
else
{
self.friends = objects;
NSLog(@"objects are: %@", [self.friends valueForKey:@"username"]);
}
}];
编辑三:
以下是我在App Delegate中设置的内容:
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
PFUser *currentUser = [PFUser currentUser];
if (currentUser)
{
// Store the deviceToken in the current Installation and save it to Parse.
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
[currentInstallation setDeviceTokenFromData:deviceToken];
[currentInstallation setObject:[PFUser currentUser].objectId forKey:@"owner"];
[currentInstallation saveInBackground];
}
}
答案 0 :(得分:0)
现在,您需要查询安装表,查看所有者是朋友数组中用户的所有安装。
这是一些代码,我在我的iphone上,所以它可能不完全正确:
// Create our Installation query
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"owner" containedIn:self.friends];
// Send push notification to query
[PFPush sendPushMessageToQueryInBackground:pushQuery
withMessage:@"Hello World!"];
如果您的安装表中没有所有者列,则解析文档中有关于向安装添加用户指针的内容。