Android studio集成云视讯SDK 遇到的问题及解决办法

Android Studio集成云视讯SDK在云视讯的开发者中心内有集成开发文档,但有一些问题我是在自己集成的过程中发现的,还询问了云视讯相关的工作人员得以解决。
我集成的是云视讯的多媒体业务,提交的是 《测试环境证书-SDKAPI联调管理》,在sdk测试过程(APP运行过程)中,InitActivity需要选中"测试环境"的checkbox。企业开发应该是有相应的《生产环境证书-SDKAPI联调管理》。

先说一下让SDK正常运行的操作步骤(要直接集成SDK的请直接在下边找集成SDK过程):
官网:https://uc.ipower.10086.cn/
1、注册登录后,点击开发者中心,客户端集成,Android , SDK下载,然后下载最新版本的SDK即可

2、点击开发者中心,融合视频语音会议,申请指南,就会看到如下这段话,照做就行,一般需要等待几天就会有回复。
“下载《SDKAPI联调管理模板.xlsx》并按要求填写。填写项目基本信息及功能需求。将填写好的《SDKAPI联调管理模板.xlsx》邮件发送至云视讯开发者公共邮箱 YSX-develop@chinamobile.com 。”

3、点击开发者中心,客户端会议,API文档,虚拟账号接入指引,可以看到下方有虚拟账号接入指引的pdf文档,按照pdf文档操作,获取到token。

注:
1、在sdk测试过程(APP运行过程)中,InitActivity点击”下一步“之后,会进入到LoginActivity,这个页面需要输入账号密码,因为我是测试环境,所以没有账号密码,测试环境只能通token登录。

2、需在《SDKAPI联调管理》内加入白名单的公网IP下进行操作,在公网IP下通过POST请求获取虚拟手机号、通过GET请求获取token,先通过POST请求获取虚拟手机号,再使用虚拟手机号获取token,token有时效,失效后重新获取一下token就行了。

3、POST请求,请求URI中的host,也就是域名,根据你是测试环境证书还是生产环境证书来添加:
在这里插入图片描述
请求的参数是JSON串,其中JSON串中的sign按照pdf文档生成,
其中生成虚拟手机号的sign需要的参数有如下:
在这里插入图片描述
待生成虚拟手机号成功后,须通过虚拟手机号生成token,生成token的sign所需要的参数有mobile(虚拟手机号),timestamp和identity三个,如下(也就是你获取token需要请求的参数是什么,你就用你请求的参数来生成获取token的sign):
在这里插入图片描述
到现在,你应该拿到了你的token,然后将APP_KEY和APP_SECRET填入到下载好的sdk中就能运行了

好了现在能运行了,下边我来讲下集成SDK过程

集成SDK过程

1、将提供的三个so文件、ysxcommonlib.aar、ysxmobilertc.aar和ysxsdk.aar,放到工程的lib目录下

2、在app的build.gradle文件中配置文件:
(1)

	//官方标注的四个:
	implementation(name: 'ysxcommonlib', ext: 'aar')
    implementation(name: 'ysxmobilertc', ext: 'aar')
    implementation(name: 'ysxsdk', ext: 'aar')
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    
    //下边是我对比sdk添加的:
    implementation 'io.jsonwebtoken:jjwt:0.9.0'
    implementation 'com.android.support:multidex:1.0.3'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation project(':imlibrary')  //用于IM集成,需要在IM集成完再添加

(2)
在这里插入图片描述

repositories {
    google()
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

我在gradle中差不多只加了上边这些,官方sdk中还有一句,如下图,各位根据情况自行添加
在这里插入图片描述

ndk { abiFilters "armeabi-v7a","arm64-v8a","x86" }

3、将imlibrary 即IM通讯集成到自己的项目中,操作步骤请跳转
IM集成

4、Mainifest.xml文件权限(只是提醒一下):

<!-- sdk所需权限 -->
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

    <permission
        android:name="${applicationId}.permission.MIPUSH_RECEIVE"
        android:protectionLevel="signature" />

    <uses-feature android:glEsVersion="0x00020000" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- Mi推送配置 start -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" />

5、这个也要注意一下
在这里插入图片描述

注:
1、三个so文件所在目录:
在这里插入图片描述
2、build.gradle文件配置(按照sdk来):
(1)recyclerview 的版本我是按照sdk来的

implementation 'androidx.recyclerview:recyclerview:1.0.0'  

(2)androidx的版本要设置为1.0.0(按照sdk来),因为1.1.0把localbroadcast给废了,我运行会报错,没有加“implementation ‘androidx.legacy:legacy-support-v4:1.0.0’ ”我运行也是报错,报错截图如下
在这里插入图片描述
报错截图如下:
在这里插入图片描述
3、如果报以下错误,说明没有集成IM(即 imlibrary 未导入)
在这里插入图片描述

下边来讲下如何集成IM

IM集成过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
IM集成完成啦~
到此,集成到自己项目里的sdk应该可以运行了,希望本篇文章可以帮助到大家(✪ω✪)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值