-
Notifications
You must be signed in to change notification settings - Fork 16
6 设置学员唯一标识的意义
SHLURENJIA edited this page Aug 27, 2020
·
4 revisions
学员唯一标识 = viewerId = 观众id = 学员Id
学员唯一标识,viewerId,观众id,学员Id在文档和程序中表达的意思一致,正在逐渐统一名称。
另外,学员昵称,即viewerName,直播/回放的数据统计可以带上学员Id和学员昵称,也能用来作直播聊天室的登录信息,建议客户设置。
设置学员唯一标识,有以下这些优点:
- 有效定位学员反馈遇到的问题。
- 大大减少与学员的沟通成本。
- 有效提高SDK这边单方面排查问题的效率。
- 可以归总某个学员唯一标识的错误日志。
由于开发者后台有个userid的值,开发者容易将其与viewerid混淆。在此特别说明:
- 关于 userid 的传参,只在直播/回放观看页的入口中传入,如下代码,传入的就是后台的 userid。
PolyvCloudClassHomeActivity.startActivityForLiveWithParticipant(PolyvCloudClassLoginActivity.this,
getTrim(channelId), userId, isAlone, isParticipant, rtcType);
- 关于 viewerid 的传参,只在 PolyvCloudClassHomeActivity 的 initialStudentIdAndNickName 方法中进行赋值,开发者需要在此将 viewerid、viewerName 的值修改为自己用户系统的用户id,用户昵称。代码如下所示。
private void initialStudentIdAndNickName() {
//初始化观众id和观众昵称,用于统计数据
if (isParticipant) {
viewerId = PolyvVClassGlobalConfig.viewerId;
viewerName = PolyvVClassGlobalConfig.username;
} else {
//todo 这里仅为了展示使用,开发者应当将viewerid、viewerName设置为应用使用用户的ID和昵称,以保证直播SDK的统计数据映射相对的用户系统
//如:viewerId设置为手机号等唯一识别号ID,viewerName设置为用户昵称
viewerId = "" + Settings.System.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
viewerName = "学员" + viewerId;
}
PolyvVClassGlobalConfig.userId = userId;
}
二者赋值完毕后,程序代码会引用相关参数,开发者可以直接看参数的引用,避免混淆userid和viewerid的用法,导致报错。
播放器提供playByMode(PolyvBaseVideoParams params, int mode)
播放视频,其中params
提供添加viewerId
和viewerName
的方法。
直播:
PolyvCloudClassVideoParams cloudClassVideoParams = new PolyvCloudClassVideoParams(channelId, userId, viewerId);
cloudClassVideoParams.buildOptions(PolyvBaseVideoParams.PARAMS2,viewerName);
videoView.playByMode(cloudClassVideoParams, PolyvPlayOption.PLAYMODE_LIVE);
回放:
PolyvPlaybackVideoParams playbackVideoParams = new PolyvPlaybackVideoParams(videoId, channelId, userId, viewerId);
playbackVideoParams.buildOptions(PolyvBaseVideoParams.PARAMS2, viewerName)
videoView.playByMode(playbackVideoParams, PolyvPlayOption.PLAYMODE_VOD);
上述方法的用例在PolyvCloudClassHomeActivity
类的initialLiveVideo
和playPlaybackVideo
方法中可以找到。