保利威文档中心

帮助中心

互动SDK UI组件加载不出来

更新时间:2023-03-28 11:45:32

问题详述

集成互动SDK的UI组件后,如:签到,问卷,抽奖,公告,答题卡等,在讲师端发起对应的功能操作后,观看端不能展示对应的互动UI组件

解决方案和排查思路

1、检查控制台的socket是否建立,并且能收到对应的事件通知,使用快捷键 F12 打开开发者工具 => network => 点击 ws => 查看 socket 链接。

image-20230328104418535

2、需要确保互动初始化配置**updateConfig**后,才能加载互动UI组件。

<template v-if="interactInit">
    <!-- 签到 -->
    <check-in />
</template>
<script>
    import { updateConfig } from '@polyv/interactions-receive-sdk' // 初始化加载互动模块
    import checkIn from '@polyv/interactions-receive-sdk-ui-default/lib/MobileCheckIn'// 签到UI组件
    export default {
        components: {
            checkIn
        },
        data () {
            return {
                ...
                interactInit: false // 用来加载互动SDK组件时机问题,因为互动组件加载前必须初始化互动SDK配置
            }
        },
        methods: {
            createPolyvLiveSdk () {
                // 创建直播
                this.liveSdk = new PolyvLiveSdk({
                    ...
                })
                this.liveSdk.on(PolyvLiveSdk.EVENTS.CHANNEL_DATA_INIT, (event, data) => {
                    ...
                    this.loadInteractionsReceive() // 初始化互动SDK配置
                   this.interactInit = true // 加载互动UI组件
                })
            },
            loadInteractionsReceive () {
                const appSecret = '';// 账号 appSecret
                const appId = '';// 账号 appId
                const userInfo = {
                  nick: '观众昵称',// 昵称
                  pic: '',// 头像
                  userId: '123456',// 观众id
                };
                const channelInfo = {
                  channelId: '',// 频道号
                  roomId: '',// 房间号
                  sessionId: '', // 频道场次id
                };
                updateConfig({
                  userInfo: userInfo, // 观众信息
                  channelInfo: channelInfo, // 频道信息
                  socket: socket,// 此处传入 socketio 实例
                  getViewerApiToken: (callback) => {// viewerApiToken 更新函数
                      ...
                  },
                })
            }
        }
    }
</script>
联系客服,在线咨询