解析:推送通知中的动态数据

时间:2014-12-03 10:11:10

标签: ruby-on-rails parse-platform

使用Parse from Server的通知。 我必须为一组用户发送不同的消息

you got 1st rank   - to User A
you got 2nd rank   - to User B
you got 3rd rank   - to User C

在Parse中,我保存了每个用户的等级详细信息,例如

device_id  userA    rank1
device_id  userB    rank2
device_id  userc    rank3

在推送消息时,我发送了具有等级值

的消息
url = 'https://api.parse.com/1/push'
message = 'you got Xth rank'
data = {:data => message}.to_json
HTTParty.post(url,:body => data)

我可以使用上面的代码发送静态消息。 但是如何从相应记录的解析数据库发送带有动态值的消息。

1 个答案:

答案 0 :(得分:1)

通过用户循环并逐个发送它们可能是您问题的解决方案,这是JS中的示例代码



var installationQuery = new Parse.Query(Parse.Installation);
installationQuery.each(
  function(result) {
  var tempQuery = new Parse.Query(Parse.Installation);
  tempQuery.equalTo("username", result.get('username'));
  // Send push notification to query
		Parse.Push.send({
		  where: tempQuery,
		  //
		  data: {
			alert: "Hey "+result.get('name')+" your Rank ."+ result.get('rank')
		  }
		}, {
		  success: function() {
			response.success("Pushed to "+result.get('name'));
		  },
		  error: function(error) {
			// Handle error
			response.success("Error in push to"+result.get('name'));
		  }
		});
   
  }, 
  {
  success: function(result) {
  console.log("push sent to all users.");
  response.success();
  },
  error: function() {
  
  
  } }
  );





如果您的排名数据不在安装中,例如在用户表中,然后您的第一个查询将在用户表上,并且在每个用于发送推送的功能中,您的第二个查询将保留在安装表中。
有疑问吗?