1. 程式人生 > >融雲im callkit 會話遇到的坑融雲研究

融雲im callkit 會話遇到的坑融雲研究

1.應用收不到訊息
下面是來自融雲的官方解釋:
1.1首先,需要搞清楚兩個概念: push 訊息,後臺訊息。
收到這兩種訊息的時候,在終端上的表現形式是一樣的,都是在通知欄顯示一條通知。但實際上它們走的壓根就不是一條通道。它們的區別是: push 訊息是指呼叫 RongIM.disconnect() 斷開與融雲的連線以後收到的訊息。而後臺訊息則是指按 home 鍵,應用退到後臺後收到的訊息(此時和融雲仍然是連線狀態)。

搞清楚這兩者的區別並確認你的問題是 push 訊息的問題後,請繼續往下看。

1.2通常收不到 push 訊息,有以下幾個情況:

一. 退出應用的時候,必須呼叫我們的 disconnect() 方法,而不是 logout()。這樣退出後我們這邊才會啟動push程序。

二. push 程序的名字不能更改,必須是我們預設的名字,既 io.rong.push.

    (2.6.0dev之後的版本,此程序名字可以修改)

三. 通過 ddms 或者終端裡敲入 adb shell ps|grep rong 檢視終端裡是否存在 io.rong.push 這個程序。

     有些手機廠家做了特殊限制,不允許第三方後臺程序啟動,所以我們的後臺程序起不來,導致收不到 push 訊息。這種情況可以換個手機測試(如三星,大部分三星手機沒有做許可權限制)。另外大部分國產手機,有許可權設定的選單,比如小米,華為等,可以手動去安全中心,設定應用的自啟動許可權,後臺執行許可權等,就可以收到Push訊息了。

     不過 vivo 和 oppo 有些型號的手機,一旦應用退到後臺,系統會很快把它殺死,這種沒有辦法解決。目前市面上所有推送都存在這個問題,除非系統把該應用加入白名單。

四. push 程序存在,仍然收不到 push 訊息。

    如果你的應用有訊息免打擾功能,那麼請確認當前登入賬號之前是否設定過訊息免打擾。如果不太確定,那最好去你的應用設定裡重新設定下訊息免打擾時間。 這裡要注意的是: 如果這個賬號之前在別的手機上設定過訊息免打擾,換一臺手機登入或者解除安裝重灌的時候,融雲服務端記錄的仍然是之前設定的訊息免打擾狀態,所以這種情況下是收不到push訊息的。