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包加了,那你找一个更新的包