我正在製作一個應用程序,該應用程序將使用Parse.com推送通知,但它不像指南所示的那樣工作。在Android上解析推送通知
問題是,我已經設置好Parse推送活動,註冊了新安裝,並且能夠查看用戶訂閱了哪些渠道。我能夠接收來自解析的推送通知,但無法從我的應用程序發送。
在logcat中沒有錯誤,並解析記錄發送了一個推送,但顯示通道中沒有「無訂戶」。
在我的onCreate:
Parse.initialize(MainActivity.this, "***", "***");
PushService.setDefaultPushCallback(this, MainActivity.class);
PushService.subscribe(this, "Everyone", MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();
的推送代碼:
ParsePush push = new ParsePush();
push.setChannel("Everyone");
push.setMessage("Hey!");
push.sendInBackground();
清單:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application>
....
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
</application>
有在logcat中沒有錯誤,似乎一切順利送出,但在解析我收到以下消息:
我推
You sent this push notification to 0 recipients.
Targeting : channels includes "Everyone"
Sending date : November 28th, 2013 at 9:40 AM
Expiration : None
Full target : { "channels": { "$in": [ "Everyone" ] } }
Full data : {"alert"=>"Hey!"}
唯一的變化,我可以從我送VS那parse.com發送推則推看到的是「全數據」字段
解析推
Targeting : channels includes "Everyone"
deviceType is "android"
Sending date : November 28th, 2013 at 9:21 AM
Expiration : None
Full target : { "channels": { "$in": [ "Everyone" ] }, "deviceType": "android" }
**Full data : { "alert": "hi" }**
在此先感謝您的任何幫助/想法
確實需要訂閱頻道嗎?我的推送通知無需執行此步驟即可工作。 – portfoliobuilder