當測試parse.com推送通知(從CloudCode發送到afterSave時)時,出現了一些奇怪現象。Parse.com推送通知延遲或僅在Android應用重新啓動後
有時Android應用程序會立即獲取通知(低於1秒),但其他時間會在多秒延遲之後發出。
重新啓動應用似乎會導致尚未收到的通知立即顯示。
可能是什麼原因?
這可能是一個錯誤,例如,parse.com服務?
有多少通知可以發送或接收(每單位時間)有限制嗎?
問題發生在自定義的BroadcastReceiver和默認的系統欄通知上。
服務器端JavaScript CloudCode:在科特林
Parse.Cloud.afterSave("Timer", function(request) {
// from https://www.parse.com/docs/js/guide#cloud-code
console.log("Before Parse.Push.send -- without alert");
var query = new Parse.Query(Parse.Installation);
// http://blog.parse.com/announcements/pushing-from-the-javascript-sdk-and-cloud-code/ :
Parse.Push.send({
where: query,
data: {
//alert: "afterSave on a Timer -- Parse.Push.send"
}
});
console.log("After Parse.Push.send -- without alert");
});
自定義廣播接收器(但問題也恰好沒有定製的BroadcastReceiver):
override fun onCreate(savedInstanceState: Bundle?) {
super<BaseActivity>.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
// ...
registerReceiver()
}
private fun registerReceiver() {
val intentFilter = IntentFilter()
intentFilter.addAction("com.parse.push.intent.RECEIVE")
registerReceiver(MyBroadcastReceiver(), intentFilter)
}
inner class MyBroadcastReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Toast.makeText(context, "MyBroadcastReceiver 2: onReceive: "
+ context + ";" + intent, Toast.LENGTH_SHORT).show()
loadTimers()
}
}
我們使用一個非付費解析。 com目前的帳戶。這可能會影響對推送通知的反應的及時性嗎?
編輯:如果您認爲使用推送通知來觸發近實時項目更新/同步不是一個好主意(無論是在一般還是在parse.com中),那也是一個有價值的答案,尤其是如果另一種方法是提出了...
我只得到了同樣的問題,當我測試小米手機的推動。 – iForests
我不認爲有即時傳送推送通知的任何保證。 – nasch
@nasch例如,如果你可以用某種文章來支持它,你可以在這裏把它作爲一個答案。 – KarolDepka