融云每个应用提供开发与生产两套环境,两个环境之间数据隔离,分别提供不同的 App Key。
应用默认仅启用开发环境。如需使用生产环境的 App Key,必须在融云控制台购买服务上线。
生产环境的 App Key 可以用于应用正式发布以及上架应用市场。
请勿将开发环境的 App Key 用于应用正式发布以及上架应用市场。
如果您误将开发环境的 App Key 用于正式发布的应用,请尽快将客户端和服务端替换为生产环境的 App Key(服务端还需替换 App Secret),并通知已经下载的客户强制升级。
更换 App Key 后,所有客户必须重新获取 Token 才能与融云建立连接。
服务开通以 App Key 为准。成功上线后,您可以访问和配置生产环境。
初次开通 生产环境时,对应的 App Key 的服务开关均为默认状态。
因此,您需要记录已在开发环境中开通的服务,并为生产环境的 App Key 开通服务。
服务开通、关闭等设置完成,最长 15 分钟后生效。
在融云控制台完成应用上线
- 登录控制台,选择需要上线的应用。以下操作方式二选一即可:
-
快速操作:如果应用尚未上线,可从总览选择需要上线的应用点击 购买服务获取 上线。
-
从 IM 服务 - 服务购买 页面操作: ① 先从右上角 下拉选择应用 ,点击购买服务获取。
-
在 选择套餐 页面,选择需要的套餐,点击 “下一步” 按钮。
注:如遇到浏览器勾选框点选不了,或者申请上线按钮不能按下等情况,请先换一种浏览器尝试,如若还不生效或者不起作用,可以提交工单或直接拨打 400 919 9066 业务咨询。
-
在 ** 选择增值服务** 页面,进行增值服务的购买,页面右边会显示详细的金额,如果是套餐包含的免费增值服务,标注的金额为 0 ,选择购买后会开通服务。
如需增加 Server API 的请求频率,也是在此购买页面进行购买调频,付费后生效。
全部选择完后,点击右下角的 “立即购买” ,完成购买开通。
所有开通的项目最长15分钟生效。
购买成功后,此页面右边会展示已经购买的项目
后续如果想取消购买,在购买页面找到此服务后,点击取消购买,即可取消。
参考链接:
-
购买服务之后,在控制台 AppKey 栏目中,生产环境(线上环境)就被分配了新的 Appkey。
注意:开发环境(测试环境)和 生产环境(线上环境)是两套 独立 的环境,相同环境的 客户端 和 服务端 需要用同一套 Appkey 和 AppSecret,否则会 connect 异常。
注意事项
-
确保您的应用在开发环境都已经测试完成,可以正常使用。确认实现了在
Connect方法中重新获取 Token 的逻辑。Android 端仅以 IMLib SDK 为例, 其他 SDK 请参见开发者文档:
public connectIM(String token){ boolean isCachedLogin == getLoginStatusFromSP(context); //伪代码,从 sharedpreference 里读取该用户是否为免密登录 int timeLimit = 0; if(! isCachedLogin) { timeLimit = 5; } RongIMClient.connect("用户Token", timeLimit, new RongIMClient.ConnectCallback() { @Override public void onDatabaseOpened(RongIMClient.DatabaseOpenStatus code) { if(RongIMClient.DatabaseOpenStatus.DATABASE_OPEN_SUCCESS.equals(code)) { //本地数据库打开,跳转到会话列表页面 } else { //数据库打开失败,可以弹出 toast 提示。 } } @Override public void onSuccess(String s) { //连接成功,如果 onDatabaseOpened() 时没有页面跳转,也可在此时进行跳转。 } @Override public void onError(RongIMClient.ConnectionErrorCode errorCode) { if(errorCode.equals(RongIMClient.ConnectionErrorCode.RC_CONN_TOKEN_EXPIRE)) { //从 APP 服务请求新 token,获取到新 token 后重新 connect() } else if (errorCode.equals(RongIMClient.ConnectionErrorCode.RC_CONNECT_TIMEOUT)) { //连接超时,弹出提示,可以引导用户等待网络正常的时候再次点击进行连接 } else { //其它业务错误码,请根据相应的错误码作出对应处理。 } } }) }iOS 端以 IMLib SDK 为例, 其他 SDK 请参见开发者文档:
[[RCIMClient sharedRCIMClient] connectWithToken:@"开发者的 server 通过请求 server api 获取到的 token 值" timeLimit:5 dbOpened:^(RCDBErrorCode code) { //消息数据库打开,可以进入到主页面 } success:^(NSString *userId) { //连接成功 } error:^(RCConnectErrorCode status) { if (status == RC_CONN_TOKEN_INCORRECT) { //Token 错误,可检查客户端 SDK 初始化与 App 服务端获取 Token 时所使用的 App Key 是否一致 } else if(status == RC_CONNECT_TIMEOUT) { //连接超时,弹出提示,可以引导用户等待网络正常的时候再次点击进行连接 } else { //无法连接 IM 服务器,请根据相应的错误码作出对应处理 } }] -
在控制台购买服务成功后,获取生产环境的 App Key 和 App Secret。生产环境的 Token 有效期默认为永久。
-
将您在客户端和服务端用到的融云 App Key 和 App Secret,替换为生产环境的。
确认以上问题后,您的应用可以在生产环境正常运行了。
更多支持
如有疑问,欢迎提交工单。





