2014-06-18 78 views
1

我正在使用解析來發送和處理android和ios的通知。我不想處理有關爲ios或android發送不同通知的部分,因爲確定用戶正在使用的設備或操作系統並不容易。用戶可以同時在這兩個生態系統上使用該應用程序,因此我想發送可在android和ios上運行的通知。當使用「alert」鍵時,有沒有辦法解析攔截我的通知?

到目前爲止,我已經成功,兩種設備類型都會收到通知。與Android和解析的東西,解析是非常固執的。當使用「alert」或「title」鍵時,解析會在我的BroadcastReceiver處理它之前顯示通知。

我做了一些研究,並根據我的理解,將密鑰從「提醒」更改爲其他提示。我的問題是,我不得不使用「alert」來保持它在iphones上的工作。有什麼我可以做,並保持我的BroadcastReceiver沒有解析攔截通知?

有沒有辦法改變「警報」鍵,仍然保持在iOS/iPhone手機的功能?

在此先感謝。

回答

0

我可以通過在iOS和Android的CloudCode中對Parse.Push.send()進行兩次不同的調用來解決此問題。

// iOS 
query.equals("deviceType", "ios"); 
data = {"alert":"some alert", "data":{other params here}}; 
Parse.Push.send({ 
    where: query, 
    data: data 
} 

// Android 
query.equals("deviceType", "android"); 
data = {"data":{"alert":"some alert", other params here}, "action":"com.mycompany.customBroadcastReceiver_actionId"}; 
Parse.Push.send({ 
    where: query, 
    data: data 
} 

對於Android,移動「警報」(和「稱號」,如果適用)從頂層參數數據PARAMS內將繼續解析的PushService截獲推送通知符,並創立了自己的狀態欄通知。

您現在可以禁用Parse的接收器,並通過自定義廣播接收器(由「action」參數標識)自己實現通知。一種黑客,但我需要自定義notifs,似乎沒有其他方式來規避Parse的PushService攔截他們,如果你有警報或標題設置。

+0

這就是我們現在正在做的,但我們正在做的PHP代碼(PHP代碼將解析)也許這樣做在CloudCode更好 –

相關問題