因此,假设我的应用程序有两个用户,它有一个消息传递组件。使用解析,有没有办法可以从一个用户向另一个用户发送推送通知?
编辑:假设我有办法唯一识别用户,例如电子邮件地址
答案 0 :(得分:4)
是的,可能。
首先在您的解析管理控制台中启用客户端推送
使用ParsePush类,我们可以选择设置ParseInstallation查询,其中通知将定位到特定的一组用户,
https://parse.com/docs/push_guide#options-data/iOS
但是你可能无法发送给特定用户,因为ParseInstallation表没有这样的列可以在查询约束中使用它。
所以我添加了新字段'用户名'在ParseInstallation表中,并在用户登录时更新用户名。
然后在发送推送时,根据此用户名创建ParseInstallation查询,下面的示例适用于android,它与其他操作系统类似
JSONObject data = new JSONObject();
try {
data.put("action", "com.bt.yana.GOT_MESSAGE");
data.put("from", ParseUser.getCurrentUser().getUsername());
}catch (Exception e){
e.printStackTrace();
return;
}
ParsePush parsePush = new ParsePush();
parsePush.setData(data);
ParseQuery<ParseInstallation> parseQuery = ParseQuery.getQuery(ParseInstallation.class);
if(toUser!=null) {
parseQuery.whereEqualTo("username", toUser);
parsePush.setQuery(parseQuery);
parsePush.sendInBackground();
}