更新记录

1.0(2019-09-19)

修改插件id

1.0.0(2019-09-18)

首次开发


平台兼容性

Android Android CPU类型 iOS
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


使用说明: 本插件为简易版的乐播投屏功能,目前只支持安卓版,功能也很简单,目前只有 初始化:leboScreen.init(); 扫描设备:leboScreen.startBrowse(); 停止扫描:leboScreen.stopBrowse(); 投屏:leboScreen.playVideo(); 这几个接口;

1、首先需要在乐播官网(http://www.hpplay.com.cn/)注册申请移动应用,获得appid和appsecret; 2、在需要的页面上获取插件 const leboScreen = uni.requireNativePlugin("lyzml-LeboScreen");

3、初始化乐播插件,请至乐播官网申请appid和appsecret,本例中为测试说明参数 leboScreen.init({ appId: "11111", appSecret: "23rdfsfsdfsdfsdfsdgfdvc" });

4、开启扫描 leboScreen.startBrowse();

5、监听扫描返回结果: _this.myEventManager = plus.android.importClass("com.coolanimals.listener.MyEventManager"); _this.eventManager = _this.myEventManager.getInstance(); _this.myListener = plus.android.implements("com.coolanimals.listener.MyListener", { onDataReceived: function(browseResult) { console.log("=========browseResult=========", typeof(browseResult), browseResult); if ("string" === typeof(browseResult)) { browseResult = JSON.parse(browseResult); }

      if (1 == browseResult.code) {
          if (browseResult.linkList && browseResult.linkList.length > 0) {
              for(let i=0;i<browseResult.linkList.length;i++){
                  let br = browseResult.linkList[i];
                  //br为json对象,包含ip和name两个属性,作者是通过这两个属性来判断是否为同一设备的,之前用的uuid,但是有的设备没有这个属性
                  //这个扫描结果会多次返回同一个设备,所以前台页面接收显示的时候需要判断是否已经存在

              }
          }
      } else {
            uni.showToast({
                icon: "none",
                title: "扫描失败"
            });
      }
  }

});

_this.eventManager.addListener("onLeboMsgReceived", _this.myListener);

注:com.coolanimals.listener.MyEventManager和com.coolanimals.listener.MyListener这两个类是自定义的,用来返回数据给前台;

6、停止扫描接口:leboScreen.stopBrowse();

7、投屏接口,目前只支持投屏视频 leboScreen.playVideo({ "videoUrl": _this.onloadParams.videoUrl, //投屏的视频地址 "ip": _this.tvip, //扫描返回的设备ip "name": _this.tvname //扫描返回的设备名称 });

隐私、权限声明

1. 本插件需要申请的系统权限列表:

如果Android系统为6.0以上,则需要动态申请一些权限: android.permission.READ_PHONE_STATE 必须要有以上权限,否则会导致SDK功能异常 以下为投屏SDK需要的权限,aar包自带有,无需再次配置 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- mirror --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" /> <uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" /> <uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问