MonacaでAndoridのGoogleFitを使って歩数を取得する方法について記事を創ったのですが、iOSではHealthKitを使って歩数の取得が可能です。Androidと同じCordvaプラグインを使用して出来ましたので、iOSバージョンもこちらにまとめておきます。
〜Monacaで GoogleFit連携して歩数を取得する方法 はこちら〜
■dariosalvi78/cordova-plugin-health を読み込む
https://github.com/dariosalvi78/cordova-plugin-health
Monacaの「設定」>「Cordova Pluginの管理」>「Cordvaプラグインのインポート」を使って、URLに「https://github.com/dariosalvi78/cordova-plugin-health」を入力して「OK」を押してください、プラグインがプロジェクトに読み込まれます。
■config.xmlに記述を追加します。
<!-- Health plugin -->
<plugin name="cordova-plugin-health" source="npm">
<variable name="HEALTH_READ_PERMISSION" value="App needs read access"/>
<variable name="HEALTH_WRITE_PERMISSION" value="App needs write access"/>
<variable name="GMS_VERSION" value="16.0.1"/>
</plugin>
<!-- Only if iOS -->
<platform name="ios">
<!-- Read access -->
<config-file platform="ios" parent="NSHealthShareUsageDescription">
<string>App needs read access</string>
</config-file>
<!-- Write access -->
<config-file platform="ios" parent="NSHealthUpdateUsageDescription">
<string>App needs write access</string>
</config-file>
</platform>
■歩数を取得するプログラムコードを記述(呼び出し部)
navigator.health.queryAggregated({
startDate: new Date(new Date().getTime() - 27 * 24 * 60 * 60 * 1000),
endDate: new Date(),
dataType: 'steps',
bucket: 'day'
}, query1monthSuccessCallback, errorCallback);
■歩数を取得するプログラムコードを記述(コールバック関数)
var query1monthSuccessCallback = function (msg3) {
//alert("1ヶ月:" + JSON.stringify(msg3))
var total = 0;
for (var i = msg3.length - 1; i >= 0; i--) {
//alert(i)
if (msg3[i]) {
if (msg3[i].value) {
total = total + msg3[i].value;
}
}
// 繰り返し処理
if (i == (msg3.length - 1)) {
$('#stepToday').text(total.toFixed(1));
} else if (i == (msg3.length - 14)) {
$('#step2week').text((total / 14).toFixed(1));
}
}
$('#step1month').text((total / (msg3.length)).toFixed(1));
updateStepCount(false);
}
var errorCallback = function (msg) {
//何もしない
};
それぞれ何をどこに入れればいいんでしょうか?