更新记录

0.0.7(2021-05-21)

1、格式化输出mac地址

0.0.6(2021-03-31)

1、添加ipv6判断

0.0.5(2021-02-23)

增加 deviceInfo appInfo isSimuLator canOpen: open: tel: 接口

查看更多

平台兼容性

Android iOS
× 适用版本区间:9 - 15

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


注意:

获取wifi信息、设备的mac地址

已经测试测试是 没有问题 的。

包含(iOS9~iOS15)

如果接入有问题,请先自行查下 接入流程权限配置

其它需要啥可以留言、或者联系我 1174762990@qq.com

使用:

需要位置权限 在info.plist中设置

获取wifi信息的mac地址 测试确保是没有问题的

注意下 iOS12 之后的

一定要在mobileprovision一定要包含 com.apple.developer.networking.wifi-info 为 true

Identifiers 之前没有选择 Access WiFi Information 的

需要重新生成 mobileprovision 文件 重新制作调试基座

const macInfo = uni.requireNativePlugin('JHF-MacInfoPlugin')

macAddress() {
    var ret = deviceInfoModule.macAddress()
    uni.showToast({
        title: 'SSID:' + ret,
        icon: "none"
    })
},

isIpv6() {
    var ret = deviceInfoModule.isIpv6()
    uni.showToast({
        title: 'ipv6 信息:' + ret,
        icon: "none"
    })
},

ipAddress() {
    var ret = deviceInfoModule.ipAddress()
    uni.showToast({
        title: 'ip 地址:' + ret,
        icon: "none"
    })
}

idfa 获取

standIdfa() { // 中线替换成下划线的idfa 中线有一些特殊条件下无法使用 例如极光推送什么的
    var ret = deviceInfoModule.standIDFA()
},

idfa() { // idfa 信息 获取失败的话 会获取uuid 返回 也可使用
    var ret = deviceInfoModule.idfa()
    uni.showToast({
        title: 'idfa:' + ret,
        icon: "none"
    })
},

钥匙串信息操作 即使卸载应用重新安装也会存在的用 一般用来存储是已登录账号或者 是否领取签到什么的

    keychainDeleteServiceKey() { // 钥匙串中删除key为saveKey的信息 
        var ret = deviceInfoModule.keychainDeleteServiceKey('saveKey')
    },

    keychainServiceKey() { // 在钥匙串中查找key为saveKey 的信息 
        var ret = deviceInfoModule.keychainServiceKey('saveKey')
    },

    keychainSaveServiceKey() { // 钥匙串中保存key为saveKey 值为saveValue_change 的信息 
        var ret = deviceInfoModule.keychainSaveServiceKey('saveKey', 'saveValue_change')
    },

    keychainDeleteIDFA() { // 删除钥匙串中保存的idfa  一般用不上 
        var ret = deviceInfoModule.keychainDeleteIDFA()
    },

高度监听返回 高度和大气压 返回 值为 -1 -1 表示设备不支持 返回 值为 0 0 表示监听失败 (测试中 没遇到过) 其它事正常值 hypsographCallback 打开监听 不用时候 关掉监听 hypsographStop 节约资源

    hypsographStart() {
        // 调用异步方法
        deviceInfoModule.hypsographCallback(
            (ret) => {
                uni.showToast({
                    title: 'relativeAltitude:' + ret.relativeAltitude +'pressure:' + ret.pressure,
                    icon: "none"
                })
            })
    },

    hypsographStop() {
        deviceInfoModule.hypsographStop();
    }

faceId(人脸) 和 touchId(指纹) 认证 返回数据说明 code - 1:设备不支持 -2:其它异常 (测试中 没遇到过) 1: 表示touchId 2: faceId result true: 验证通过 false: 验证失败(用户取消或者认证失败都会返回)

idVerify() {
        // 调用异步方法
        deviceInfoModule.idVerifyHint("测试一下", (ret) => {
            uni.showToast({
                title: 'code:' + ret.code +'result:' + ret.result,
                icon: "none"
            })
        })
    },

canOpen是否可以打开某个应用或者网址 open打开 成功失败 返回 true false

tel() {
    // 拨打电话
    var ret = deviceInfoModule.tel('186565xxx5')
    uni.showToast({
        title: 'tel:' + ret,
        icon: "none"
    })
},
open() {
    // 打开某个
    var ret = deviceInfoModule.open('weixin://')
    uni.showToast({
        title: 'open:' + ret,
        icon: "none"
    })
},
canOpen() {
    // 能否打开
    var ret = deviceInfoModule.canOpen('weixin://')
    uni.showToast({
        title: 'canOpen:' + ret,
        icon: "none"
    })
},

隐私、权限声明

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

1、位置权限 2、wifi信息获取权限(创建id的时候选择!!!) 3、faceId 需要 Privacy - Face ID Usage Description

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

插件不采集任何数据

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

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