收藏
回答

小程序直播getLiveParams获取自定义参数逻辑是不是有点问题?

3. 【获取直播间相关参数及开发者自定义参数】接口

接口说明:在直播组件版本 1.0.2 及以上版本通过该接口获取以下参数,开发者可以根据这些参数建立用户、直播间、商品之间的映射关系。

  • 分享卡片进入直播间:分享者 share_openid + 进入者 openid + 房间号 room_id + 开发者自定义参数 customParams
  • 其他入口进入直播间:进入者 openid + 房间号 room_id + 开发者自定义参数 customParams

调用方法:若要调用【获取自定义参数】接口 getLiveParams,需在小程序页面顶部引用【直播组件】 live-player-plugin。

示例代码如下:

    let livePlayer = requirePlugin('live-player-plugin')
    
    App({
        onShow(options) {
            livePlayer.getLiveParams({ room_id: [直播房间id], scene: options.scene })
                .then(res => {
                    console.log('get share openid', res.share_openid) // 分享者openid,分享卡片进入场景才有
                    console.log('get openid', res.openid) // 用户openid
                    console.log('get room id', res.room_id) // 房间号
                    console.log('get custom params', res.customParams) // 开发者在跳转进入直播间页面时,页面路径上携带的自定义参数,这里传回给开发者
                }).catch(err => {
                    console.log('get live params', err)
                })
        }
    })
问题:livePlayer.getLiveParams({ room_id: [直播房间id], scene: options.scene })  ,
分享来到小程序。为什么要提供room_id: [直播房间id]参数?
如果有多个直播间,不知道哪个直播间?怎么提供呢?
同时返回的数据里又包含room_id 什么意思呢?
回答关注问题邀请回答
收藏

6 个回答

  • KEVEN
    KEVEN
    03-11

    目前这个问题很困扰呀,room_id不能通过query获取,但又必须带上room_id,当多场直播时,压根没法使用准确的room_id!

    03-11
    有用 2
    回复
  • 热心网民陈先生😄
    热心网民陈先生😄
    03-11

    搞明白了。room_id获取不到,只能先写死跑流程。如果开几个直播间,是没法玩自定义参数的。坑了2天人啊

    03-11
    有用 1
    回复 4
    • 匿
      03-11
      坑死了都。。。[欲哭无泪]
      03-11
      回复
    • 微视角®一行星技术服务
      微视角®一行星技术服务
      03-11
      这个功能冒烟测试都不过啊,怎么就上线了
      03-11
      回复
    • KEVEN
      KEVEN
      03-11
      目前发现写死roomID在真机会出现间歇性获取不到参数。凌乱了。
      03-11
      回复
    • 匿
      03-11回复KEVEN
      我也是,写死的room_id,自定义参数更新不了,换个id,自定义参数没了。。。。。凌乱。。。。。
      03-11
      回复
  • Jason Z.
    Jason Z.
    03-10
    我本以为在App onShow里通过options.query.room_id可以拿到room_id,但发现只有系统生成的直播码可以通过这种方式拿到,用户直接从直播间分享出去的小程序卡片query值是个空对象,并不能拿到room_id,希望官方给个答复。
    
    


    03-10
    有用 1
    回复 18
    • Paul
      Paul
      03-10
      由于数据安全策略,用户不能从直播间分享出去的小程序卡片query获取,只能从小程序直播组件提供的js接口获取。
      03-10
      回复
    • 徐邦挺
      徐邦挺
      03-10回复Paul
      听不懂你描述的意思?现在问题是如果分享出去,客户进入小程序,这时候不知道直播间room_id,有怎么给他传room_id呢?如果只有一个直播间,硬编码的方式勉强应付,但是有多个直播间,怎么知道是从哪个直播间分享出去的呢?
      03-10
      回复
    • 圈圈圆圆
      圈圈圆圆
      03-10回复Paul
      你好,为什么我在app.js中 使用上面这段代码let livePlayer = requirePlugin('live-player-plugin').....会报错呢?我的直播插件在分包中
      03-10
      回复
    • 圈圈圆圆
      圈圈圆圆
      03-10回复Paul
      不能从query获取吗?我发现是可以拿到room_id以及分享者openid的哎,只是拿不到进入者的openid
      03-10
      回复
    • Paul
      Paul
      03-11回复圈圈圆圆
      由于基础库数据安全策略,开发者不能从query获取分享链接上的参数。针对room_id的问题,下个版本优化该接口。
      03-11
      回复
    查看更多(13)
  • 微视角®一行星技术服务
    微视角®一行星技术服务
    03-09

    同问,分享小程序给别人,进入后需要获取自定义参数,获取的话需要传房间号

    如何获取到房间号呢

    03-09
    有用 1
    回复 4
    • Paul
      Paul
      03-10
      由于数据安全策略,用户不能从直播间分享出去的小程序卡片query获取,只能从小程序直播组件提供的js接口获取自定义参数。
      03-10
      回复
    • 子龙
      子龙
      03-10回复Paul
      room_id能从query获取吗
      03-10
      回复
    • Paul
      Paul
      03-11回复子龙
      由于基础库数据安全策略,开发者不能从query获取分享链接上的参数。针对room_id的问题,下个版本优化该接口。
      03-11
      回复
    • 騁爲
      騁爲
      03-11回复Paul
      还是希望能把分享链接给开放出来,或者能够禁用分享
      03-11
      1
      回复
  • HELLO WORLD 27TH
    HELLO WORLD 27TH
    03-10

    同问,分享出去怎么确定是哪一个直播间?

    03-10
    有用
    回复 3
    • Paul
      Paul
      03-11
      由于基础库数据安全策略,开发者不能从query获取分享链接上的参数。针对room_id的问题,下个版本优化该接口。
      03-11
      回复
    • 脉度(上海)电子商务有限公司
      脉度(上海)电子商务有限公司
      03-11回复Paul
      插件版本1.0.2能获取参数,但是通过地址跳转就报错了,配1.0.0版本没有问题,可以进直播间,但是livePlayer.getLiveParams不能用,请问怎么解决!
      03-11
      回复
    • 匿
      03-11回复脉度(上海)电子商务有限公司
      语法写错了,encodeURIComponent(JSON.stringify(customParams))
      03-11
      回复
  • 徐邦挺
    徐邦挺
    03-10

    没有官方的回复啊?

    03-10
    有用
    回复
登录 后发表内容
问题标签