使用parse.com将设备发送到设备推送通知

时间:2015-04-16 05:38:33

标签: android parse-platform push-notification

我是新来解析的。我创建了一个Android应用程序,我必须通过单击发送按钮发送推送通知。我已成功将数据存储到其解析数据库,如对象ID,设备类型,设备令牌,推送类型(默认情况下在安装类下创建)。

我还在安装类下添加了一些自定义列,例如age,friend id,gender,并在编辑文本中检索对应的Object id。 但是当我尝试通过点击发送按钮发送推送通知时,我通常会收到此错误:

com.parse.Parse Exception: Clients aren't allowed to perform the find operation on the installation collection

我用来发送具有与给定Friend-id相对应的object-id的推送通知的查询是:



  sndpush.setOnClickListener(new OnClickListener() {
			
			
			@SuppressWarnings("unchecked")
			@Override
			public void onClick(View v) {
				
				JSONObject obj;
				try {
					obj =new JSONObject();
					obj.put("alert","erwerwe");
					obj.put("action","com.parse.pushnotifications.UPDATE_STATUS");
					obj.put("customdata","My string");
					
					ParsePush push = new ParsePush();
					ParseQuery query = ParseInstallation.getQuery();
					query.whereEqualTo("objectId",objectidEditText.getText().toString() );
					
					push.setQuery(query);
					push.setData(obj);
					push.sendInBackground(); 
				}
				catch (JSONException e) 
				{
					
					e.printStackTrace();
				}
				
			}
		});




我做google和R& D,我认为我们无权通过从安装类的默认类中获取对象ID来发送推送。

我在parse.com中创建了一个新类,我在其中插入了一些像age,friend-id这样的数据,并且还能够检索对应于friend id的object-id。但是,当我尝试通过提供Object-id来发送推送通知时,我收到错误:

java.lang.IllegalArgumentException: Can only push to a query for Installations

以下是代码:



// Get the user's Id from parse.com.
		@SuppressWarnings({ "rawtypes", "unchecked" })
		public void getObjectId() {

			@SuppressWarnings("rawtypes")
			ParseQuery query = new ParseQuery("_installation");
			query.whereEqualTo("FriendId", FrndTextString);
			query.getFirstInBackground(new GetCallback() {
				public void done(ParseObject object, ParseException e) {
					if (object == null) {
						Log.d("objectId", "The getFirst request failed.");
					} else {
						String objectid = object.getObjectId();
						objectidEditText.setText(objectid);
						sndpush.setEnabled(true);
						Log.d("objectId", "Retrieved the object.");
					}
				}
			});


		}




我已经跟踪了堆栈溢出的链接,以向特定用户发送推送通知。但是没有正确的结果。

send push notification with parse to single device

请告诉我哪里错了。我的主要问题是如何将推送通知从一个设备发送到另一个设备。

这是我的完整代码:

http://piratepad.net/ep/pad/view/ro.WwZ9v6FX1a6/latest

0 个答案:

没有答案