# 小程序直播-其他能力

## 一、直播间小程序码

**小程序引入直播组件后必须进行一次小程序发布上线**，否则直播间的小程序码不生效，具体表现是用户扫码进入直播间会显示"页面不存在"。

**在 MP 小程序直播后台创建好直播间后，可以直接拿到直播间分享小程序码**，无需额外开发

**如果商家在后台自己生成的直播间小程序码，需要做以下配置**：

在跳转进入直播间的路径加上 type = 9 标识场景入口为小程序码： 

``` bash
plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=[直播房间id]&type=9
```

若需要带上自定义参数则还需要加上 custom_params： 

``` bash
plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=[直播房间id]&type=9&custom_params=encodeURIComponent(JSON.stringify(custom_params))
```

## 二、商家公众号文章添加小程序卡片

**商家在公众号文章中添加跳转进入直播间的小程序卡片时，需要做以下配置**：

在跳转进入直播间的路径加上 type = 10 标识场景入口为小程序卡片： 

``` bash
plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=[直播房间id]&type=10
```

若需要带上自定义参数则还需要加上 custom_params： 

``` bash
plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=[直播房间id]&type=10&custom_params=encodeURIComponent(JSON.stringify(custom_params))
```

## 三、商品详情页注意事项

1. 添加返回按钮: 点击直播组件页面里的货架商品跳转到商家小程序的商品详情页面后，**为了避免用户无法再返回直播间，商家需在小程序商品详情页面左上角加上返回按钮，通过wx.navigateBack返回到直播组件页面。**

2. 不建议使用wx.switchTab：若在商品详情页点击按钮（如购物车按钮等）通过wx.switchTab跳转到tabbar页，然后再点小窗回到直播间时会出现页面卡死问题（微信客户端7.0.15版本才修复）。此时可把页面改为非tabbar页并通过wx.navigateTo跳转，也可通过关闭小窗来解决该问题。

3. 不建议使用wx.reLaunch：若在商品详情页及之后的页面元素上使用wx.reLaunch跳转，不仅会关闭小窗，而且无法返回到上一页，体验不好。

## 四、快速更新直播组件版本的方法

商家小程序对应的管理员微信号**收到【公众平台安全助手】下发的直播组件版本更新的服务通知后，可点击通知进行快速发布**，移动端即可快速更新小程序内直播组件的新版本，无需修改代码或重新提交审核。

### 服务通知如下图所示：

![](https://res8.wxqcloud.qq.com.cn/wxdoc/69d50899-1332-443c-a68f-a495351c18a5.png)

## 五、直播小窗

**版本限制**：直播组件版本 1.3.0 及以上支持通过以下参数设置是否关闭小窗。

`close_picture_in_picture_mode`：默认支持直播小窗，可通过 `close_picture_in_picture_mode=1`关闭小窗功能，如 

``` bash
plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=直播房间号&close_picture_in_picture_mode=1
```

## 六、携带参数

**版本限制**：直播组件版本 1.3.0 及以上支持携带以下参数，开发者可以根据这些参数建立用户、直播间、商品之间的映射关系。

1. `shareTicket`：分享直播间卡片到微信群，点击此卡片后可以在 `App onShow` 里获取该参数（默认不可获取该参数，可在跳转直播间页面路径上配置 `open_share_ticket=1` 打开 `shareTicket`，但长按分享卡片时不能转发。
    ``` bash
    plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=直播房间号&open_share_ticket=1
    ```
4. `room_id + openid + share_openid + custom_params`：点击直播间里的货架商品跳转到商家小程序的商品详情页或点击直播间左上角首页icon跳转到商家小程序的首页时，可以在 `Page onLoad options` 里获取房间号、用户`openid`、分享者 `share_openid`（如果是从分享卡片进入直播间再跳转到商详页才有该参数）、开发者携带的自定义参数 `custom_params`
