微信观看小程序SDK

DEMO地址

demo下载地址

产品介绍

概述

POLYV微信观看小程序SDK以组件的方式提供了直播播放、点播播放、文档绘制等功能,供用户灵活组合自己的业务逻辑。

功能特性

功能表述

视频

支持直播视频和点播视频观看,暂不支持点播加密视频

文档

PPT、白板以及画笔展示,暂不支持动效PPT

连麦

支持1V4语音和视频连麦功能(连麦需要开通live-player和live-pusher组件)

聊天

支持在线文本表情聊天

### 阅读对象

本文档为技术文档,需要阅读者:

  • 拥有基本的小程序开发能力

  • 准备接入polyv视频云或已接入的客户

  • 对polyv视频云使用方法有基础的了解

使用步骤

开发准备

获取Access Key

登录保利威直播后台 - 云直播 - 开发设置 - 身份认证

微信接口白名单配置

request合法域名
https://miniapp.agoraio.cn
https://uni-webcollector.agora.io
https://router.polyv.net
https://api.polyv.net
https://prtas.videocc.net
https://rtas.videocc.net
https://hls.videocc.net
https://player.polyv.net
使用连麦功能需加上以下域名:
https://miniapp-1.agoraio.cn
https://miniapp-2.agoraio.cn
https://miniapp-3.agoraio.cn
https://miniapp-4.agoraio.cn

socket合法域名
wss://chat.polyv.net
wss://miniapp.agoraio.cn

配置微信直播权限

sdk播放直播使用了微信live-player,需要先通过类目审核,再在小程序管理后台,「开发」-「接口设置」中自助开通该组件权限。

SDK使用方法

sdk提供了自定义组件polyv提供一套完整的业务逻辑,供用户开箱即用。也提供了player播放组件、ppt文档组件、chatroom聊天室组件等供用户灵活组合自己的业务逻辑。

在使用之前需要在app.js的onLaunch中调用setApp方法

方法一(推荐):传入verifyUrl验证接口

import plv from '*/polyv-sdk/index';
onLaunch() {
    plv.setApp({
        apiId: '',
        verifyUrl: ''
    });
}

verifyUrl校验接口详情参考 demo 中的 doc/polyv-mp-live-sdk.md

方法二:传入polyv云直播的access key

由于在小程序代码中apiSecret是明文显示,存在小程序被反编译风险。故建议使用方法一

import plv from '*/polyv-sdk/index';
onLaunch() {
    plv.setApp({
        apiId: '',
        apiSecret: ''
    });
}

组件的使用

一、使用polyv组件。可参考demo的watch

  1. 拷贝sdk代码到自己的项目中,在使用到sdk的page的json文件中引入组件

    {
      "usingComponents": {
        "polyv": "*/polyv-sdk/components/polyv/polyv"
      }
    }
  2. 在wxml中使用polyv组件

    <view>
    	<polyv />
    </view>
  3. 在页面的onload中调用init方法,在onUnload中调用destroy方法

    init方法初始化观看,获取频道详情、初始化socket事件等。

    import plv from '*/polyv-sdk/index';
    // onLoad
    onLoad() {
        const options = {
          channelId: '', // 频道ID
          openId: '', // 用户openId
          userName: '', // 用户名
          avatarUrl: '', // 用户头像
     	  userId: '' // 2.0.0及以上版本的demo需要使用 userId 设置学员唯一id
        };
        plv.init(options);
    }
    // onUnload
    onUnload() {
       plv.destroy();
     }

二、灵活组合组件。可参考demo的watch2

  1. 在使用到sdk的page的json文件中引入组件

    {
      "usingComponents": {
        "player": "*/polyv-sdk/components/player/player",
      	"ppt": "*/polyv-sdk/components/ppt/ppt",
         ...
      }
    }
  2. 在wxml中使用组件,传入必要的参数。

    <view>
    	<player
        	videoOption="{{ videoOption }}"
            bind:onLiveStatusChange="playerLiveStatusChange"
        />
    	<ppt />
    </view>
  3. 在页面的onload方法中调用init方法。

    import plv from '*/polyv-sdk/index';
    Page({ 
        onLoad() {
            const options = { ... };
            plv.init(options)
                .then(data => {
                	const { detail, chat } = data;
                    // 处理业务逻辑
                })
                .catch(err => {
    				// 异常处理
                });
        },
        onUnload() {
            plv.destroy();
        }
    });

组件详解请参考 demo 中的 doc/polyv-mp-live-sdk.md

FAQ

  • 使用Polyv组件需要注意什么? (1)不要在自定义组件中执行wx.navigateTo等跳转到pages页面。因为该情况下polyv下的player自定义组件attached/detached触发异常,导致观看日志数据异常。

change log

2.5.0

更新时间: 20211125

  • 修复连麦时看不到讲师画面的bug。

2.2.1

更新时间: 20211011

  • 更新player组件demo,即pages/player-demo。

  • 修复若干bug。

2.2.0

更新时间: 20210804

  • 支持横竖屏TRTC 1v1连麦。

2.1.5

更新时间: 20210719

  • 修复进入开播普通直播间,需要点击切换文档按钮才显示画面的问题。

2.1.4

更新时间: 20210630

  • 修复切换 tab,聊天记录显示不全的问题。

2.1.3

更新时间: 20210602

  • 修复点赞次数不更新的问题。

2.1.1

更新时间: 20201204

  • 支持显示问卷结果。

  • 其他问题修复。

2.1.0

更新时间: 20201118

Features

  • 完善sdk单独集成互动功能组件文档、增加demo(watch2)。

2.0.7.1

更新时间: 20201009

bugfix

  • 修复video组件下ppt画笔不显示问题。

2.0.7

更新时间: 20200929

bugfix

  • 修复ppt画笔不显示问题。

2.0.6

更新时间: 2020.09.11

Features

  • 互动数据增加param4和param5。

2.0.5

更新时间:2020.08.11

Features

  • 修复全屏观看直播,直播结束后观看端显示异常。

2.0.4

更新时间:2020.07

Features

  • 聊天室角色登录增加token鉴权。

  • 增加是否显示播放器弹幕和播放器皮肤组件参数(详情和示例请参考项目内部文档)。

  • 项目内部文档更新。

  • 其他问题修复。

2.0.0

更新时间: 2020.06

Features

  • 支持1V4连麦。

  • 增加播放器皮肤(暂停、刷新、多线路、全屏)。

  • 增加弹幕功能。

  • 增加回放倍速播放。

  • 增加问卷功能。

1.2.0

Features

  • 兼容云课堂客户端激光笔、箭头功能。

  • 修改翻页按钮和页面显示ui。

  • 增加ppt文档和播放器位置切换按钮。

  • 增加ppt全屏和横屏功能。

  • 小程序支持聊天室多房间。

1.1.0

Features

  • 增加video组件直播选项。

  • 增加答题卡、公告、签到、限制播放、白天皮肤功能。

  • 新增回放列表&点播列表。

  • 新增SDK初始化参数选项 verifyUrl。

Performance Improvements

  • 优化PPT动态时延处理。

  • 修改聊天室禁言及踢人操作。

1.0.0

  • 初始版本。

Last updated