新【应用配置】融云应用上线流程与注意事项

融云每个应用提供开发生产两套环境,两个环境之间数据隔离,分别提供不同的 App Key
应用默认仅启用开发环境。如需使用生产环境的 App Key,必须在融云控制台购买服务上线
生产环境的 App Key 可以用于应用正式发布以及上架应用市场。

:tipping_hand_man:请勿将开发环境的 App Key 用于应用正式发布以及上架应用市场。
如果您误将开发环境的 App Key 用于正式发布的应用,请尽快将客户端和服务端替换为生产环境的 App Key(服务端还需替换 App Secret),并通知已经下载的客户强制升级。
更换 App Key 后,所有客户必须重新获取 Token 才能与融云建立连接。

:warning: 服务开通以 App Key 为准。成功上线后,您可以访问和配置生产环境。
初次开通 生产环境时,对应的 App Key 的服务开关均为默认状态
因此,您需要记录已在开发环境中开通的服务,并为生产环境的 App Key 开通服务。
服务开通、关闭等设置完成,最长 15 分钟后生效。

在融云控制台完成应用上线

  1. 登录控制台,选择需要上线的应用。以下操作方式二选一即可:
  • 快速操作:如果应用尚未上线,可从总览选择需要上线的应用点击 购买服务获取 上线。

  • 从 IM 服务 - 服务购买 页面操作: ① 先从右上角 下拉选择应用 ,点击购买服务获取

  1. 选择套餐 页面,选择需要的套餐,点击 “下一步” 按钮。

    :如遇到浏览器勾选框点选不了,或者申请上线按钮不能按下等情况,请先换一种浏览器尝试,如若还不生效或者不起作用,可以提交工单或直接拨打 400 919 9066 业务咨询。

  2. 在 ** 选择增值服务** 页面,进行增值服务的购买,页面右边会显示详细的金额,如果是套餐包含的免费增值服务,标注的金额为 0 ,选择购买后会开通服务。
    如需增加 Server API 的请求频率,也是在此购买页面进行购买调频,付费后生效。
    全部选择完后,点击右下角的 “立即购买” ,完成购买开通。
    所有开通的项目最长15分钟生效。

    购买成功后,此页面右边会展示已经购买的项目

    后续如果想取消购买,在购买页面找到此服务后,点击取消购买,即可取消。

    参考链接:

  3. 购买服务之后,在控制台 AppKey 栏目中,生产环境(线上环境)就被分配了新的 Appkey。

    注意:开发环境(测试环境)和 生产环境(线上环境)是两套 独立 的环境,相同环境的 客户端 和 服务端 需要用同一套 Appkey 和 AppSecret,否则会 connect 异常。

注意事项

  1. 确保您的应用在开发环境都已经测试完成,可以正常使用。确认实现了在 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 服务器,请根据相应的错误码作出对应处理
            }
        }]
    
  2. 在控制台购买服务成功后,获取生产环境的 App Key 和 App Secret。生产环境的 Token 有效期默认为永久。

  3. 将您在客户端和服务端用到的融云 App Key 和 App Secret,替换为生产环境的。

确认以上问题后,您的应用可以在生产环境正常运行了。

更多支持

如有疑问,欢迎提交工单