如何使用解析为android中的特定组成员发送通知?

时间:2014-11-24 12:15:17

标签: android parse-platform push-notification

我在parse.com上创建了一个帐户。我在我的三个项目中使用这个单一帐户。

我需要发送通知。每个应用程序具有不同的应用程序名称和包名

我的内容正在解析中:

项目1

  • 应用程序名称:App1
  • 包名:com.example.app1
  • 频道:科学,数学,物理。

项目2

  • 应用程序名称:App2
  • 包名:com.example.app2
  • 渠道:经济学,化学。

项目3

  • 应用程序名称:App3
  • 包名:com.example.app3
  • 频道:engilsh,physics。

这里有一些渠道是这个帐户常见的。因此,通知将一次发送两个项目。现在我需要使用特定频道发送特定项目的通知。

例如,现在我需要在App1中发送物理通知。我该如何隔离那一个。

我的问题是:

  1. 有可能吗?如果是的话意味着怎么做?
  2. 如果不可能意味着什么是另一种方式?
  3. 我可以为每个应用程序创建一个单独的帐户吗?这是正确的方式吗?
  4. 任何人都可以告诉我?提前谢谢。

2 个答案:

答案 0 :(得分:2)

是的,您可以为多个应用使用相同的解析帐户,并针对某些特定应用发送推送。 在解析安装表中,有一个属性(列)appIdentifier,用于存储app的包名。 所以你可以写这样的查询:

var query = new Parse.Query(Parse.Installation);
query.equalTo('appIdentifies', "App Package name")
query.equalTo('channels', 'your channel');
Parse.Push.send({
  where: query, // Set our Installation query
  data: {
    alert: "Willie Hayes injured by own pop fly."
  }
}, {
  success: function() {
    // Push was successful
  },
  error: function(error) {
    // Handle error
  }
});

答案 1 :(得分:1)

是。试试这个。

ParseQuery<ParseInstallation> query = ParseInstallation.getQuery();
query.whereEqualTo("appIdentifier", "com.example.app1");
query.whereEqualTo("channels", "physics"); 
push.setQuery(query);
push.setMessage("Hello");
push.sendInBackground();