1. android studio集成融雲sdk的時候安裝IMKit出現警告
你先導入進來會發現你的IMkit的build.gradle多了一個依賴 compile project (':IMlib'),去掉這一句就好了。
2. android 融雲token怎麼獲取
唯一可以直接獲取User Token的方法是將用戶導向eBay的登錄界面,並提供Runame和SessionID之類的參數。如果您開發中的移動應用程序無法提供此功能,可以考慮使用別的方法。例如,提供一個server應用將用戶導向登錄界面,生成Token後再發送給移動
3. Android studio 導入融雲 IMlIB IDE 報錯
在您集成融雲 SDK 前環境要求如下:
Android SDK Build-tools 請升級到 21 及以上版本。
使用 IMKit 需要 Android Support V4 21 及以上版本。
Android SDK 最低支持 Android API 15: Android 4.0.3。
官網上到是沒要求Android studio版本。感覺java版本問題可能性多點。可能多版本沖突。
其他要求也一個個對一下。
4. 融雲在android7.0為什麼連不上伺服器
可以用華為手機助手回退。回退過程會清除數據,建議在回退前將所有重要數據備份至SD卡、PC或雲端,確認下備份內容是有效的哦。 回退步驟: 點桌面實用工具里的備份,新建備份,然後把重要數據備份到SD卡。 手機連接電腦USB。打開華為手機助手,點設置>應用>華為手機助手>許可權,授予相應許可權,然後點已授權。 在彈出框里點擊同意按鈕。點擊系統更新。在彈出的系統更新界面點擊切換到其他版本。點擊恢復。等待進度條完成。 點擊桌面備份圖標,進入備份界面,找到備份記錄,然後根據提示,恢復備份的重要數據。
5. 怎麼使用融雲IM的推送功能,融雲推送API
為了接收推送消息,您需要自定義一個繼承自 PushMessageReceiver 類的 BroadcastReceiver (必須實現,否則會收不到推送消息),實現其中的 onNotificationMessageArrived,onNotificationMessageClicked 然後把該 receiver 注冊到 AndroidManifest.xml 文件中。
自定義的 BroadcastReceiver:
public class DemoNotificationReceiver extends PushMessageReceiver {
@Override
public boolean onNotificationMessageArrived(Context context, PushNotificationMessage message) {
return false;
}
@Override
public boolean onNotificationMessageClicked(Context context, PushNotificationMessage message) {
return false;
}
}
注冊到應用的 AndroidManifest.xml 裡面:
<receiver
android:exported="true"
android:name="您自定義的 broadcastReceiver 類名">
<intent-filter>
<action android:name="io.rong.push.intent.MESSAGE_ARRIVED" />
<action android:name="io.rong.push.intent.MI_MESSAGE_ARRIVED" />
<action android:name="io.rong.push.intent.MESSAGE_CLICKED" />
<action android:name="io.rong.push.intent.MI_MESSAGE_CLICKED" />
</intent-filter>
</receiver>
onNotificationMessageArrived 用來接收伺服器發來的通知欄消息(消息到達客戶端時觸發),默認return false,通知消息會以融雲 SDK 的默認形式展現。如果需要自定義通知欄的展示,在這里實現自己的通知欄展現代碼,同時 return true 即可。
onNotificationMessageClicked 是在用戶點擊通知欄消息時觸發 (注意:如果自定義了通知欄的展現,則不會觸發),默認 return false 。如果需要自定義點擊通知時的跳轉,return true 即可。融雲 SDK 默認跳轉規則如下
只有一個聯系人發來一條或者多條消息時,會通過 intent 隱式啟動會話 activity,intent 的 uri 如下:
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri.Builder builder = Uri.parse("rong://" + this.getPackageName()).buildUpon();
builder.appendPath("conversation").appendPath(type.getName())
.appendQueryParameter("targetId", targetId)
.appendQueryParameter("title", targetName);
uri = builder.build();
intent.setData(uri);
startActivity(intent);
如果你的 AndroidManifest.xml 裡面配置 A activity 攔截了這個 intent ,那在點擊這條通知欄消息 時就會啟動 activity A 。
<activity
android:name="A"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="你的包名"
android:pathPrefix="/conversation/"
android:scheme="rong" />
</intent-filter>
</activity>
多個聯系人發來多條消息時,通過 intent 隱式啟動會話列表 activity,intent 的 uri 配置如下:
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri.Builder builder = Uri.parse("rong://" + this.getPackageName()).buildUpon();
builder.appendPath("conversationlist");
Uri uri = builder.build();
intent.setData(uri);
startActivity(intent);
如果你的 AndroidManifest.xml 裡面配置 B activity 攔截了這個 intent,那在點擊這條通知欄消息 時就會啟動 activity B。
<activity
android:name="B"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="你的包名"
android:path="/conversationlist"
android:scheme="rong" />
</intent-filter>
</activity>
可以在融雲開發者後台廣播推送-廣播消息-推送中,發起遠程推送。
點擊推送消息時會觸發出如下 action 事件:
Intent intent = new Intent();
intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);
Uri.Builder uriBuilder = Uri.parse("rong://" + this.getPackageName()).buildUpon();
uriBuilder.appendPath("push_message")
.appendQueryParameter("targetId", targetId)
.appendQueryParameter("pushData", pushData)
.appendQueryParameter("pushId", pushId)
.appendQueryParameter("extra", extra);
startActivity(intent);
如果你的 AndroidManifest.xml 裡面配置了 C activity 攔截這個 action, 那麼點擊時就會跳轉到 activity C。
<activity
android:name="C"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="你的包名"
android:pathPrefix="/push_message"
android:scheme="rong" />
</intent-filter>
</activity>
通過以上步驟,您已完成了融雲推送服務的集成。
6. Android開發,對接融雲客服時,點擊發送表情崩潰,報錯信息如下
你沒有添加v4 包,如果v4包加了,那你找一個更新的包