检查用户是否已订阅频道列表

时间:2015-02-03 14:29:04

标签: android parsing push-notification

我使用Parse推送通知。我尝试做的是向订阅特定频道集的用户发送通知。通知应仅在用户拥有订阅的整个频道列表时发送。不是这些频道的子集。

我尝试使用查询然后

pushQuery.whereEqualTo("channels", audienceGender);
pushQuery.whereEqualTo("channels", audienceEducation);
pushQuery.whereEqualTo("channels", audienceCity);

但是它向订阅了这些频道中的任何一个频道的用户发送通知。像这样设置频道

channels.add("male");

产生相同的结果。无论如何要聚合一个字符串列表,然后将它们与用户订阅的所有频道进行比较?谢谢。

2 个答案:

答案 0 :(得分:2)

Parse获取频道列表的建议方法是:

List<String> channels = ParseInstallation.getCurrentInstallation().getList("channels");

答案 1 :(得分:1)

我正在浏览文档(https://parse.com/docs/android_guide#queries),我认为:

ArrayList<String> channels = new ArrayList<String>();
channels.add(audienceGender);
channels.add(audienceEducation);
channels.add(audienceCity);
pushQuery.whereContainsAll("channels", channels);

应该可以正常使用