更新记录

0.1.1(2024-02-28) 下载此版本

添加executeFunction函数可执行悬浮窗内js代码,具体看示例

0.1.0(2023-11-12) 下载此版本

首次发布


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 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原生插件配置”->”云端插件“列表中删除该插件重新选择


SuspendeWindow

简介

该Android悬浮窗插件是一款强大的工具, 它可以让开发者在他们的应用程序中添加自定义的悬浮窗, 并且能够与uni-app进行通信。通过使用这个插件,开发者可以创建各种形状和大小的悬浮窗,并在其中添加各种自定义内容,如按钮、文本框、图像等。 此外,该插件还支持与uni-app的集成,这意味着开发者可以通过uni-app发送消息或数据,以实现与悬浮窗的交互。 使用该插件可以帮助开发者提高应用程序的用户体验和交互性,让应用程序更加智能化和个性化。无论你是希望在应用程序中添加自定义悬浮窗,还是希望与uni-app进行通信

使用教程

  1. 首先,调用suspendedWindow.applyPermission()函数获取悬浮窗权限。
    suspendedWindow.applyPermission(()=>{
    //调用成功的方法
    })
  2. 对'window'进行初始化,并使用setHtml方法设置其HTML内容,使用setJavaScript设置其JavaScript行为,使用setCallback设置回调函数以处理来自悬浮窗的数据,使用setData设置悬浮窗内需要的数据。
    suspendedWindow.applyPermission(()=>{
    suspendedWindow.init('window1');
    suspendedWindow.setHtml('window1', '<h1>这是一个新窗口</h1>');
    })
  3. 使用end方法结束对'window'的设置。
    suspendedWindow.applyPermission(()=>{
    suspendedWindow.init('window1');
    suspendedWindow.setHtml('window1', '<h1>这是一个新窗口</h1>');
    suspendedWindow.end("window1");
    })
  4. 使用togglePopup可显示或隐藏悬浮窗
    suspendedWindow.togglePopup('window1');

    API文档

    uniapp方法

    init

    开始创建一个悬浮窗
    参数说明

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一

setHtml

设置悬浮窗的html
参数说明

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
html String 悬浮窗的html

setCss

设置悬浮窗css样式
参数名称

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
css String 悬浮窗的css

setJavaScript

设置悬浮窗的javaScirpt
参数名称

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
javaScirpt String 悬浮窗的javaScirpt

setData

设置悬浮窗需要用到的数据
参数名称

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
data Ojbect 悬浮窗用到的数据

setCallback

设置在悬浮窗内触发方法的回调
由于使用JSON序列化,data内的key和value都是字符传类型
参数名称

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
callback function callback(data) 悬浮窗内事件的回调方法,data为事件的参数

setPosition

设置悬浮窗的位置
参数名称

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
x Number 设置悬浮窗的x坐标
y Number 设置悬浮窗的y坐标

setSettings

设置悬浮窗的配置
参数名称

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
settings Ojbect 设置悬浮窗的配置

悬浮窗配置项

参数名 类型 必填 说明
x Number 设置悬浮窗的x坐标
y Number 设置悬浮窗的y坐标
width Number 设置悬浮窗宽度
height Number 设置悬浮窗高度
transparent Boolean 设置悬浮窗背景是否透明
toolbar Boolean 设置悬浮窗是否显示toolbar
debug Boolean 设置悬浮窗内webview是否是调试模式

applyPermission

当传入成功回调或失败回调任意一个函数时作用是获取应用的悬浮窗权限
当不传入任何参数时函数作用是获取应用悬浮窗权限是否开启
参数名称

参数名 类型 必填 说明
successCallback function 成功回调
failCallback function 失败回调
返回值 类型 说明
Boolean 应用悬浮窗权限是否开启当传入回调方法时永远为true

togglePopup

不传goggle时切换悬浮窗的显示与隐藏 传goggle时goggle为true时为先显示为false时隐藏

参数名 类型 必填 说明
key String 标识符每个悬浮窗唯一
goggle Boolean 设置悬浮窗的显示与隐藏

WebView方法

putCallback

向Callback发送一个事件
可通过setCallback内的data获取到

参数名 类型 必填 说明
key String 事件的key
value Object 事件的value

getData

获取setData函数设置的对象
返回值

类型 说明
Object setData函数设置的对象

隐私、权限声明

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

android.permission.SYSTEM_ALERT_WINDOW

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

插件不采集任何数据

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

许可协议

请参考开源项目地址的开源协议

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