使用 Parse for iOS 时将设备令牌与特定用户相关联
Associate device tokens with specific user when using Parse for iOS
我们将 Parse
用于 iOS APNS
,到目前为止效果很好。但是,我们现在需要将设备令牌与我们应用程序的特定用户相关联。
为此,我们决定将设备令牌保存到我们的服务器,以便它与该用户相关联。但是,这有一些问题:
- 如果他们有多个设备在使用我们的应用程序怎么办?
- 如果他们取消注册其中一台设备怎么办?
有没有办法让 Parse
API 用用户名标记设备令牌,而不是使用我们的服务器来处理上述情况,这样我们就可以为此提取所有设备令牌用户名并始终将 APNS
发送到该用户的最新设备令牌列表?
这是我想做的事情:
// Store the deviceToken in the current installation and save it to Parse.
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
[currentInstallation setDeviceTokenFromData:self.deviceTokenData];
[currentInstallation setObject:@YES forKey:user.userID];
[currentInstallation saveInBackground];
因此,我将从我们的应用程序中保存带有关联用户 ID 的设备令牌。
或者,Parse API
有没有其他方法可以处理这种情况?
编辑:
添加到下面的答案中,我们将在服务器端使用类似以下内容发送给该用户:
$user_id = // the user ID
$query = ParseInstallation::query();
$query->equalTo("user_id", $user_id);
ParsePush::send(array(
"where" => $query,
"data" => array(
"alert" => "Welcome to the our awesome app!",
"badge" => 1
)
));
您可以在安装对象中添加 userId
属性。
[currentInstallation setObject:user.userID forKey:@"userId"];
然后您可以获得安装查询并向该查询发送推送通知:
PFQuery *userQuery = [PFInstallation query];
[userQuery whereKey:@"userId" equalTo:user.userId];
// Send push using this query
我们将 Parse
用于 iOS APNS
,到目前为止效果很好。但是,我们现在需要将设备令牌与我们应用程序的特定用户相关联。
为此,我们决定将设备令牌保存到我们的服务器,以便它与该用户相关联。但是,这有一些问题:
- 如果他们有多个设备在使用我们的应用程序怎么办?
- 如果他们取消注册其中一台设备怎么办?
有没有办法让 Parse
API 用用户名标记设备令牌,而不是使用我们的服务器来处理上述情况,这样我们就可以为此提取所有设备令牌用户名并始终将 APNS
发送到该用户的最新设备令牌列表?
这是我想做的事情:
// Store the deviceToken in the current installation and save it to Parse.
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
[currentInstallation setDeviceTokenFromData:self.deviceTokenData];
[currentInstallation setObject:@YES forKey:user.userID];
[currentInstallation saveInBackground];
因此,我将从我们的应用程序中保存带有关联用户 ID 的设备令牌。
或者,Parse API
有没有其他方法可以处理这种情况?
编辑:
添加到下面的答案中,我们将在服务器端使用类似以下内容发送给该用户:
$user_id = // the user ID
$query = ParseInstallation::query();
$query->equalTo("user_id", $user_id);
ParsePush::send(array(
"where" => $query,
"data" => array(
"alert" => "Welcome to the our awesome app!",
"badge" => 1
)
));
您可以在安装对象中添加 userId
属性。
[currentInstallation setObject:user.userID forKey:@"userId"];
然后您可以获得安装查询并向该查询发送推送通知:
PFQuery *userQuery = [PFInstallation query];
[userQuery whereKey:@"userId" equalTo:user.userId];
// Send push using this query