安装和初始化 编辑文档

本篇文档介绍如何安装 SDK 并初始化 WilddogVideoCall。

安装 SDK

  • 使用 Maven 安装 WilddogVideoCall SDK
<dependency>
<groupId>com.wilddog.client</groupId>
<artifactId>wilddog-video-call-android</artifactId>
<version>1.0.0-beta</version>
<type>aar</type>
</dependency>
  • 使用 Gradle 安装 WilddogVideoCall SDK
dependencies {
compile 'com.wilddog.client:wilddog-video-call-android:1.0.0-beta'
}

如果出现由于文件重复导致的编译错误,可以在 build.gradle 中添加 packingOptions:

android {
...
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
}

初始化 Video SDK

WilddogVideoCall 是 WilddogVideoCall SDK 功能的主入口。用户在使用 SDK 之前,要初始化 WilddogVideoCall 实例,以连接野狗服务器。

初始化之前,打开控制面板 - 应用 - 实时视频通话 - 配置,获取 VideoAppID。

初始化 WilddogVideoCall 之前,要先经过 野狗身份认证。开发者可以根据需要选择匿名登录、邮箱密码、第三方或自定义认证等方式进行身份认证。

参考以下代码可以安装WilddogAuth SDK。

  • 使用 Maven
<dependency>
<groupId>com.wilddog.client</groupId>
<artifactId>wilddog-auth-android</artifactId>
<version>2.0.5</version>
</dependency>
  • 使用 Gradle

在build.gradle中添加:

dependencies {
compile 'com.wilddog.client:wilddog-auth-android:2.0.5'
}

成功通过身份认证后,用户将获得 uid 以及 token。以匿名方式登录后初始化 WilddogVideoCall 为例:

@Override
public void onCreate() {

super.onCreate();

//初始化WilddogApp实例,初始化WilddogApp后,即可在项目任意位置获取数据库地址引用
//mAppId即野狗应用ID
WilddogOptions.Builder builder = new WilddogOptions.Builder().setSyncUrl("http://"+ mAppId +".wilddogio.com");

WilddogOptions options = builder.build();

WilddogApp.initializeApp(getApplicationContext(), options);

//获取Auth对象
WilddogAuth auth = WilddogAuth.getInstance();

//匿名登录系统
auth.signInAnonymously().addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(Task<AuthResult> task) {
if (task.isSuccessful()) {
//...
//完成身份认证后初始化 Video SDK,如身份认证失败则会引起初始化失败或应用崩溃
WilddogUser user = task.getResult().getCurrentUser();
initVideoSDK();

}else {
throw new RuntimeException("auth 失败"+task.getException().getMessage());
}
}
});


//....
}

private void initVideoSDK(){
String token = WilddogAuth.getInstance().getCurrentUser().getToken(false).getResult().getToken();
//初始化 WilddogVideoCall SDK
WilddogVideoInitializer.initialize(context,videoAppId,token);
//获取 WilddogVideo对象
WilddogVideoCall video=WilddogVideoCall.getInstance();
}

代码混淆

在生成 apk 进行代码混淆时进行如下配置:

-keep class com.wilddog.client.**{*;} 
-keep class com.wilddog.**{*;}

-keep class com.fasterxml.jackson.**{*;}
-keep class com.fasterxml.jackson.databind.**{*;}
-keep class com.fasterxml.jackson.core.**{*;}

其余问题

在 Android Studio 进行 Sync Project 时会提示如下警告:

Warning:WARNING: Dependency org.json:json:20090211 is ignored for debug as it may be conflicting with the internal version provided by Android.

消除警告请进行如下配置,在模块级 build.gradle 文件的 android {} 中添加:

configurations {
compile.exclude group: "org.json", module: "json"
}

设置代理

设置 WilddogVideoCall 的代理WilddogVideoCall.Listener 用于监听通话请求:

video.setListener(new WilddogVideoCall.Listener() {
@Override
public void onCalled(Conversation conversation, String s) {

}

@Override
public void onTokenError(WilddogVideoError wilddogVideoError) {

}
});

实现代理方法 onCalled(Conversation conversation, String s),当收到远端通话请求时,会触发该方法:

public void onCalled(Conversation conversation, String s) {
// 处理通话请求。
}

实现代理方法 onTokenError(WilddogVideoError wilddogVideoError),当 token 错误或过期时,会触发该方法:

public void onTokenError(WilddogVideoError wilddogVideoError) {
// 处理 token 错误。
}
野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题