Parse.com推送通知给朋友

时间:2014-08-23 16:43:38

标签: ios push-notification parse-platform

在我的应用中,我使用的是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];
    }
}

1 个答案:

答案 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!"];

如果您的安装表中没有所有者列,则解析文档中有关于向安装添加用户指针的内容。