更新记录

1.0.2(2024-03-23)

1.修复isSupport返回错误问题

1.0.1(2024-01-24)

1.更新文档说明


平台兼容性

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

原生插件通用使用流程:

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


[init](#init) [isSupport](#isSupport) [getPermission](#getPermission) [requestPermission](#requestPermission) [quantityQuerys](#quantityQuerys) [categoryQuerys](#categoryQuerys) [stopQuery](#stopQuery) [quantityWrites](#quantityWrites) [categoryWrites](#categoryWrites)

概述

health简介

健康应用程序是为了帮助组织您的重要健康信息,并使其易于在中心和安全的地方访问。随着iOS 15的发布,我们将添加更多功能来增强您的能力。有新的方法可以与你所爱的人共享数据,有一种评估你走路稳定性和跌倒风险的指标,还有趋势分析可以帮助你了解健康状况的变化。

health 插件概述

本插件封装了健康数据的原生 SDK,集成quantity与category 的权限申请、读取、写入功能。

插件使用攻略

ios证书勾选: HealthKit + HealthKit Estimate Recalibration

权限

NSHealthUpdateUsageDescription 
NSHealthShareUsageDescription

模块接口

init

初始化

init()

params

callback(ret, err)

示例代码

var health = uni.requireNativePlugin('saner-Health');
health.init();

可用性

iOS系统

可提供的1.0.0及更高版本

isSupport

是否支持

isSupport()

params

callback(ret, err)

示例代码

var health = uni.requireNativePlugin('saner-Health');
var status = health.isSupport();

可用性

iOS系统

可提供的1.0.0及更高版本

getPermission

获取权限状态

getPermission({params}, callback(ret, err))

params

writeTypes

  • 类型:数组
  • 描述:写入权限类型

readTypes

  • 类型:数组
  • 描述:读取权限类型

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var health = uni.requireNativePlugin('saner-Health');
health.getPermission({
    writeTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ],
    readTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ]
}, function(ret, err){
    console.log(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

requestPermission

请求权限

requestPermission({params}, callback(ret, err))

params

writeTypes

  • 类型:数组
  • 描述:写入权限类型

readTypes

  • 类型:数组
  • 描述:读取权限类型

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var health = uni.requireNativePlugin('saner-Health');
health.requestPermission({
    writeTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ],
    readTypes:[
        "HKQuantityTypeIdentifierStepCount", //步数
        "HKQuantityTypeIdentifierHeartRate", //心率
        "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
        "HKQuantityTypeIdentifierDietaryWater", //饮水
        "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
        "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
        "HKCategoryTypeIdentifierMoodChanges", //心理状态
        "HKCategoryTypeIdentifierMindfulSession" //正念
    ]
}, function(ret, err){
    console.log(JSON.stringify(ret));
});

可用性

iOS系统

可提供的1.0.0及更高版本

quantityQuerys

quantity(HKQuantityTypeIdentifier)类型数据查询

quantityQuerys({params}, callback(ret, err))

params

startTime:

  • 类型:整型
  • 描述:查询开始时间戳

endTime:

  • 类型:整型
  • 描述:查询截至时间戳

types

  • 类型:数组
  • 描述:数据类型

units

  • 类型:对象
  • 描述:查询单位 (默认count占位)

limit:

  • 类型:整型
  • 描述:查询条数

sorts:

  • 类型:数组
  • 描述:查询排序

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var health = uni.requireNativePlugin('saner-Health');
    health.quantityQuerys({
        startTime:"1705420800",
        endTime:"1705507199",
        types:[
            // "HKQuantityTypeIdentifierStepCount", //步数
            // "HKQuantityTypeIdentifierHeartRate", //心率
            // "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
            // "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
            "HKQuantityTypeIdentifierDietaryWater", //饮水
        ],
        units:{
            // HKQuantityTypeIdentifierStepCount:"count",
            // HKQuantityTypeIdentifierHeartRate:"count/s",
            // HKQuantityTypeIdentifierDistanceWalkingRunning:"m",
            // HKQuantityTypeIdentifierHeartRateVariabilitySDNN:"ms",
            HKQuantityTypeIdentifierDietaryWater:"mL",
        },
        limit:10,
        sorts:[
            "startDate ASC",
            // "endDate ASC",
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

categoryQuerys

category(HKCategoryTypeIdentifier)类型数据查询

categoryQuerys({params}, callback(ret, err))

params

startTime:

  • 类型:整型
  • 描述:查询开始时间戳

endTime:

  • 类型:整型
  • 描述:查询截至时间戳

types

  • 类型:数组
  • 描述:数据类型

limit:

  • 类型:整型
  • 描述:查询条数

sorts:

  • 类型:数组
  • 描述:查询排序

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var health = uni.requireNativePlugin('saner-Health');
    health.categoryQuerys({
        startTime:"1705420800",
        endTime:"1705507199",
        types:[
            // "HKQuantityTypeIdentifierStepCount", //步数
            // "HKQuantityTypeIdentifierHeartRate", //心率
            // "HKQuantityTypeIdentifierDistanceWalkingRunning", //步数+跑步
            // "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", //心率变异性
            // "HKQuantityTypeIdentifierDietaryWater", //饮水
            // "HKCategoryTypeIdentifierSleepAnalysis", //睡眠
            "HKCategoryTypeIdentifierMindfulSession" //正念
        ],
        limit:10,
        sorts:[
            "startDate ASC",
            // "endDate ASC",
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

stopQuery

关闭查询

stopQuery({params})

params

type:

  • 类型:字符串
  • 描述: quantity/category

callback(ret, err)

示例代码

var health = uni.requireNativePlugin('saner-Health');
health.stopQuery({type:"quantity"});

可用性

iOS系统

可提供的1.0.0及更高版本

quantityWrites

quantity(HKQuantityTypeIdentifier)类型数据查询

quantityWrites({params}, callback(ret, err))

params

type

  • 类型:字符串
  • 描述:数据类型

params:

  • 类型:数组
  • 描述:写入数据

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var health = uni.requireNativePlugin('saner-Health');
    health.quantityWrites({
        type:"HKQuantityTypeIdentifierDietaryWater",
        params:[
            {
                startTime:"1705420800",
                endTime:"1705507199",
                unit:"mL",
                value:1,
            },
            {
                startTime:"1705420800",
                endTime:"1705507199",
                unit:"mL",
                value:3,
            }
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

categoryWrites

category(HKCategoryTypeIdentifier)类型数据查询

categoryWrites({params}, callback(ret, err))

params

type

  • 类型:字符串
  • 描述:数据类型

params:

  • 类型:数组
  • 描述:写入数据

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onSuccess', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var health = uni.requireNativePlugin('saner-Health');
    health.categoryWrites({
        type:"HKCategoryTypeIdentifierMindfulSession",
        params:[
            {
                startTime:"1705420800",
                endTime:"1705507199",
                value:0, // 暂时测试HKCategoryTypeIdentifierMindfulSession 必须是0 否则闪退
            },
            {
                startTime:"1705420800",
                endTime:"1705507199",
                value:0,
            }
        ]
    },function(ret, err) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统

可提供的1.0.0及更高版本

隐私、权限声明

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

健康分享 健康更新

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

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

暂无用户评论。

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