快速入门 编辑文档

你可以通过一个简单的 示例 来快速了解 WilddogVideoCall SDK 的用法。


环境准备



  • 支持 Xcode 7.0 及以上版本

  • 支持 iOS 8.0 及以上版本


1. 创建应用

1.1 创建野狗应用

在控制面板中创建野狗应用。

video_quickstart_create

1.2 配置应用

  • 身份认证 标签页中,选择 登录方式 标签,开启 匿名登录 功能(或者选择其他登录方式,例如:QQ登录邮箱登录 等);

video_quickstart_openanonymous

  • 实时视频通话 标签页中,点击 开启视频通话 按钮。

video_quickstart_openVideo

2. 使用 CocoaPods 安装 SDK

通过 Cocoapods 安装 WilddogVideoCall SDK 以及其依赖的 WilddogAuth SDK。

  • 在 Xcode 中创建一个工程,并在 Terminal 中用 cd 命令进入到工程所在文件夹内,执行 pod init 命令;
  • 打开生成的 Podfile 文件,在第一行声明开发平台和版本(如 iOS 8.0),并在随后写入要引入的库:
platform :ios, '8.0'
target 'your-target-name' do
pod 'WilddogVideoCall'
end
  • 保存 Podfile,并执行 pod install 命令,将上述依赖安装到你的工程。
  • 双击生成的 your-project-name.xcworkspace 文件打开工程。

3. 配置 iOS 权限

info.plist 文件中添加两个字段以获取相机和麦克风的访问权限:

Key Type Value
Privacy - Camera Usage Description String Your Description
Privacy - Microphone Usage Description String Your Description

4. 初始化 SDK

4.1 初始化 WilddogAuth SDK

//初始化 Auth SDK
NSString *appID = @"your-appid";
WDGOptions *options = [[WDGOptions alloc] initWithSyncURL:[NSString stringWithFormat:@"https://%@.wilddogio.com", appID]];
[WDGApp configureWithOptions:options];

4.2 初始化 WilddogVideoCall SDK

使用 WilddogAuth SDK 进行身份认证,身份认证成功后,初始化 WilddogVideoCall SDK。

[[WDGAuth auth] signOut:nil];
[[WDGAuth auth] signInAnonymouslyWithCompletion:^(WDGUser *user, NSError *error) {
if (!error) {
// 获取 token
[user getTokenWithCompletion:^(NSString * _Nullable idToken, NSError * _Nullable error) {
// 配置 Video Initializer
[[WDGVideoInitializer sharedInstance] configureWithVideoAppId:appID token:idToken];
}];
}
}];

提示:


VideoAppId 为应用 实时视频通话-配置 标签页中的 VideoAppID 字段值,请勿与应用的 AppID 混淆。
VideoAppID 为 wd 开头的随机字符串,例如:wd1234567890abcdef。

5. 配置一对一视频通话

使用 +[WDGVideoCall sharedInstance] 方法获取 WDGVideoCall 单例,设置代理 <WDGVideoCallDelegate> 用于监听通话请求:

[[WDGVideoCall sharedInstance].delegate = self;

开始一对一视频通话之前,使用 +[WDGLocalStream localStreamWithOptions:] 方法创建本地媒体流。

WDGLocalStreamOptions *localStreamOptions = [[WDGLocalStreamOptions alloc] init];
localStreamOptions.shouldCaptureAudio = YES;
localStreamOptions.dimension = WDGVideoDimensions360p;
self.localStream = [WDGLocalStream localStreamWithOptions:localStreamOptions];

6. 开始一对一视频通话

使用 WilddogAuth 登录成功后,用户会获得唯一的 uid,在 WilddogVideoCall SDK 中,使用 uid 作为用户的身份标识。

6.1 邀请一对一视频通话

使用 -[WDGVideoCall callWithUid:localStream:data:] 来发起通话请求:

self.conversation = [self.video callWithUid:@"remote-uid" localStream:self.localStream data:@"custom-data";
self.conversation.delegate = self;

6.2 接受一对一视频通话

被邀请的用户通过 WDGVideoCall 代理的 -[WDGVideoCallDelegate wilddogVideoCall:didReceiveCallWithConversation:data:] 方法收到 WDGConversation 实例,使用 -[WDGConversation acceptWithLocalStream:] 接收一对一视频通话:

- (void)wilddogVideoCall:(WDGVideoCall *)videoCall didReceiveCallWithConversation:(WDGConversation *)conversation data:(NSString *)data {
[conversation acceptWithLocalStream:self.localStream];
conversation.delegate = self;
}

6.3 播放媒体流

一对一视频通话链接成功后,通话双方会通过 Conversation 代理的 -[WDGConversation conversation:didReceiveStream:] 方法收到 WDGRemoteStream 实例,使用 -[WDGRemoteStream attach:] 方法播放远端媒体流:

- (void)conversation:(WDGConversation *)conversation didReceiveStream:(WDGRemoteStream *)remoteStream {
[remoteStream attach:self.remoteVideoView];
}

7. 更多应用

野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题