मुफ़्त APK बनाएँ

JavaScript ब्रिज API

Health Connect

Android के Health Connect के ज़रिए स्टेप्स, दूरी, कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ पढ़ना और लिखना, ठीक उन्हीं प्रकारों के लिए जिन पर बिल्ड में टिक किया गया था।

AppMint.health हेल्पर#

AppMint.health.isAvailable() / requestPermissions() / read() / write() / openHealthConnect()

उदाहरण

Health Connect के ज़रिए उपयोगकर्ता का स्वास्थ्य डेटा पढ़ता और लिखता है: स्टेप्स, दूरी, सक्रिय कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ सेशन। विज़ार्ड के Access चरण में Health data (Health Connect) चालू करें और प्रकारों पर टिक करें, साथ ही यह भी कि ऐप हर एक को पढ़ता है या लिखता है - सिर्फ़ वही माँगे जा सकते हैं।

लौटाता है: हर मेथड एक प्रॉमिस लौटाता है। isAvailable() → {ok: true, available, status, read, write} (status: available, not_installed, update_required, unsupported = Android 8.0 से पुराना, disabled = विकल्प बंद)। बाकी → {ok: true, …} या {ok: false, code, message}, जिसमें code disabled, unsupported, not_installed, update_required, not_declared (प्रकार विज़ार्ड में टिक नहीं किया गया), permission (उपयोगकर्ता ने अनुमति नहीं दी), bad-input, blocked (दूसरी साइट का पेज), failed हो सकता है। ज़रूरत: विज़ार्ड का विकल्प, Android 8.0+, और Health Connect (Android 14+ में पहले से शामिल, उससे पहले Play से मिलने वाला ऐप)।

प्रकार: steps, distance, calories, heartRate, sleep, weight, exercise। समय मिलीसेकंड (Date.now()), Date ऑब्जेक्ट या ISO स्ट्रिंग होते हैं; जवाब ISO स्ट्रिंग में आते हैं।

जाँचें, फिर माँगें:

async function connectHealth() {
  if (!(window.AppMint && AppMint.health)) return false;          // browser or option off
  var s = await AppMint.health.isAvailable();
  if (s.status === 'not_installed') { await AppMint.health.openHealthConnect(); return false; }
  if (!s.available) return false;
  var r = await AppMint.health.requestPermissions({ read: ['steps', 'heartRate'], write: ['weight'] });
  return r.ok && r.denied.read.length === 0;
}

आज के स्टेप्स (aggregate: true के साथ कुल योग, उसके बिना खुद रिकॉर्ड):

async function stepsToday() {
  var start = new Date(); start.setHours(0, 0, 0, 0);
  var r = await AppMint.health.read('steps', { start: start, end: new Date(), aggregate: true });
  if (!r.ok) { console.warn(r.code, r.message); return 0; }
  return r.aggregate.count;
}

async function lastNightHeartRate() {
  var end = Date.now(), start = end - 12 * 3600 * 1000;
  var r = await AppMint.health.read('heartRate', { start: start, end: end });
  // r.records = [{start, end, id, samples: [{time, bpm}]}]
  return r.ok ? r.records.flatMap(function (x) { return x.samples; }) : [];
}

लिखें - एक रिकॉर्ड या ऐरे:

await AppMint.health.write('weight', { time: Date.now(), kilograms: 72.4 });
await AppMint.health.write('exercise', [{
  start: Date.now() - 45 * 60000, end: Date.now(), exerciseType: 'running', title: 'Evening run'
}]);
await AppMint.health.write('steps', { start: Date.now() - 3600000, end: Date.now(), count: 4200 });

रिकॉर्ड फ़ील्ड: steps {start, end, count} · distance {start, end, meters} · calories {start, end, kilocalories} · heartRate {start, end, samples: [{time, bpm}]} · sleep {start, end, title?, stages?: [{start, end, stage}]} (awake, sleeping, out_of_bed, light, deep, rem) · weight {time, kilograms} · exercise {start, end, exerciseType, title?} (Health Connect के नाम जैसे running, walking, biking, swimming_pool, yoga, strength_training, other_workout)। एग्रीगेट: steps {count}, distance {meters}, calories {kilocalories}, heartRate {avg, min, max}, sleep / exercise {minutes}, weight {avg, min, max} (kg)।

नोट: Health Connect अपनी अनुमति स्क्रीन से आपकी प्राइवेसी पॉलिसी दिखाता है - Finish चरण वाला पता, या बनाई गई पॉलिसी। Google Play पर प्रकाशित करने से पहले, Play Console में App content → Health apps उन्हीं डेटा प्रकारों के साथ भरें और बताएँ कि ऐप को हर एक की ज़रूरत क्यों है; Play स्वास्थ्य अनुमतियों की समीक्षा करता है। Health Connect किसी ऐप को उसकी पहली अनुमति से पहले के पिछले 30 दिनों का इतिहास देता है। इसके पीछे के कच्चे ब्रिज मेथड (healthIsAvailable, healthRequestPermissions, healthRead, healthWrite, healthOpen) JSON टेक्स्ट और एक कॉलबैक आईडी लेते हैं - हेल्पर इस्तेमाल करें।

healthIsAvailable ब्रिज#

window.WebToApk.healthIsAvailable(callbackId: String)

इस ऐप के लिए Health Connect की स्थिति; `{available, status, read, write}` के साथ [callbackId] को पूरा करता है।

उदाहरण

AppMint.health के साथ दस्तावेज़ित - वहाँ का उदाहरण इसे भी दिखाता है।

Health Connect के ज़रिए उपयोगकर्ता का स्वास्थ्य डेटा पढ़ता और लिखता है: स्टेप्स, दूरी, सक्रिय कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ सेशन। विज़ार्ड के Access चरण में Health data (Health Connect) चालू करें और प्रकारों पर टिक करें, साथ ही यह भी कि ऐप हर एक को पढ़ता है या लिखता है - सिर्फ़ वही माँगे जा सकते हैं।

लौटाता है: हर मेथड एक प्रॉमिस लौटाता है। isAvailable() → {ok: true, available, status, read, write} (status: available, not_installed, update_required, unsupported = Android 8.0 से पुराना, disabled = विकल्प बंद)। बाकी → {ok: true, …} या {ok: false, code, message}, जिसमें code disabled, unsupported, not_installed, update_required, not_declared (प्रकार विज़ार्ड में टिक नहीं किया गया), permission (उपयोगकर्ता ने अनुमति नहीं दी), bad-input, blocked (दूसरी साइट का पेज), failed हो सकता है। ज़रूरत: विज़ार्ड का विकल्प, Android 8.0+, और Health Connect (Android 14+ में पहले से शामिल, उससे पहले Play से मिलने वाला ऐप)।

प्रकार: steps, distance, calories, heartRate, sleep, weight, exercise। समय मिलीसेकंड (Date.now()), Date ऑब्जेक्ट या ISO स्ट्रिंग होते हैं; जवाब ISO स्ट्रिंग में आते हैं।

जाँचें, फिर माँगें:

async function connectHealth() {
  if (!(window.AppMint && AppMint.health)) return false;          // browser or option off
  var s = await AppMint.health.isAvailable();
  if (s.status === 'not_installed') { await AppMint.health.openHealthConnect(); return false; }
  if (!s.available) return false;
  var r = await AppMint.health.requestPermissions({ read: ['steps', 'heartRate'], write: ['weight'] });
  return r.ok && r.denied.read.length === 0;
}

आज के स्टेप्स (aggregate: true के साथ कुल योग, उसके बिना खुद रिकॉर्ड):

async function stepsToday() {
  var start = new Date(); start.setHours(0, 0, 0, 0);
  var r = await AppMint.health.read('steps', { start: start, end: new Date(), aggregate: true });
  if (!r.ok) { console.warn(r.code, r.message); return 0; }
  return r.aggregate.count;
}

async function lastNightHeartRate() {
  var end = Date.now(), start = end - 12 * 3600 * 1000;
  var r = await AppMint.health.read('heartRate', { start: start, end: end });
  // r.records = [{start, end, id, samples: [{time, bpm}]}]
  return r.ok ? r.records.flatMap(function (x) { return x.samples; }) : [];
}

लिखें - एक रिकॉर्ड या ऐरे:

await AppMint.health.write('weight', { time: Date.now(), kilograms: 72.4 });
await AppMint.health.write('exercise', [{
  start: Date.now() - 45 * 60000, end: Date.now(), exerciseType: 'running', title: 'Evening run'
}]);
await AppMint.health.write('steps', { start: Date.now() - 3600000, end: Date.now(), count: 4200 });

रिकॉर्ड फ़ील्ड: steps {start, end, count} · distance {start, end, meters} · calories {start, end, kilocalories} · heartRate {start, end, samples: [{time, bpm}]} · sleep {start, end, title?, stages?: [{start, end, stage}]} (awake, sleeping, out_of_bed, light, deep, rem) · weight {time, kilograms} · exercise {start, end, exerciseType, title?} (Health Connect के नाम जैसे running, walking, biking, swimming_pool, yoga, strength_training, other_workout)। एग्रीगेट: steps {count}, distance {meters}, calories {kilocalories}, heartRate {avg, min, max}, sleep / exercise {minutes}, weight {avg, min, max} (kg)।

नोट: Health Connect अपनी अनुमति स्क्रीन से आपकी प्राइवेसी पॉलिसी दिखाता है - Finish चरण वाला पता, या बनाई गई पॉलिसी। Google Play पर प्रकाशित करने से पहले, Play Console में App content → Health apps उन्हीं डेटा प्रकारों के साथ भरें और बताएँ कि ऐप को हर एक की ज़रूरत क्यों है; Play स्वास्थ्य अनुमतियों की समीक्षा करता है। Health Connect किसी ऐप को उसकी पहली अनुमति से पहले के पिछले 30 दिनों का इतिहास देता है। इसके पीछे के कच्चे ब्रिज मेथड (healthIsAvailable, healthRequestPermissions, healthRead, healthWrite, healthOpen) JSON टेक्स्ट और एक कॉलबैक आईडी लेते हैं - हेल्पर इस्तेमाल करें।

healthOpen ब्रिज#

window.WebToApk.healthOpen(callbackId: String)

Health Connect खोलता है, या अगर वह इंस्टॉल नहीं है तो उसका Play Store पेज।

उदाहरण

AppMint.health के साथ दस्तावेज़ित - वहाँ का उदाहरण इसे भी दिखाता है।

Health Connect के ज़रिए उपयोगकर्ता का स्वास्थ्य डेटा पढ़ता और लिखता है: स्टेप्स, दूरी, सक्रिय कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ सेशन। विज़ार्ड के Access चरण में Health data (Health Connect) चालू करें और प्रकारों पर टिक करें, साथ ही यह भी कि ऐप हर एक को पढ़ता है या लिखता है - सिर्फ़ वही माँगे जा सकते हैं।

लौटाता है: हर मेथड एक प्रॉमिस लौटाता है। isAvailable() → {ok: true, available, status, read, write} (status: available, not_installed, update_required, unsupported = Android 8.0 से पुराना, disabled = विकल्प बंद)। बाकी → {ok: true, …} या {ok: false, code, message}, जिसमें code disabled, unsupported, not_installed, update_required, not_declared (प्रकार विज़ार्ड में टिक नहीं किया गया), permission (उपयोगकर्ता ने अनुमति नहीं दी), bad-input, blocked (दूसरी साइट का पेज), failed हो सकता है। ज़रूरत: विज़ार्ड का विकल्प, Android 8.0+, और Health Connect (Android 14+ में पहले से शामिल, उससे पहले Play से मिलने वाला ऐप)।

प्रकार: steps, distance, calories, heartRate, sleep, weight, exercise। समय मिलीसेकंड (Date.now()), Date ऑब्जेक्ट या ISO स्ट्रिंग होते हैं; जवाब ISO स्ट्रिंग में आते हैं।

जाँचें, फिर माँगें:

async function connectHealth() {
  if (!(window.AppMint && AppMint.health)) return false;          // browser or option off
  var s = await AppMint.health.isAvailable();
  if (s.status === 'not_installed') { await AppMint.health.openHealthConnect(); return false; }
  if (!s.available) return false;
  var r = await AppMint.health.requestPermissions({ read: ['steps', 'heartRate'], write: ['weight'] });
  return r.ok && r.denied.read.length === 0;
}

आज के स्टेप्स (aggregate: true के साथ कुल योग, उसके बिना खुद रिकॉर्ड):

async function stepsToday() {
  var start = new Date(); start.setHours(0, 0, 0, 0);
  var r = await AppMint.health.read('steps', { start: start, end: new Date(), aggregate: true });
  if (!r.ok) { console.warn(r.code, r.message); return 0; }
  return r.aggregate.count;
}

async function lastNightHeartRate() {
  var end = Date.now(), start = end - 12 * 3600 * 1000;
  var r = await AppMint.health.read('heartRate', { start: start, end: end });
  // r.records = [{start, end, id, samples: [{time, bpm}]}]
  return r.ok ? r.records.flatMap(function (x) { return x.samples; }) : [];
}

लिखें - एक रिकॉर्ड या ऐरे:

await AppMint.health.write('weight', { time: Date.now(), kilograms: 72.4 });
await AppMint.health.write('exercise', [{
  start: Date.now() - 45 * 60000, end: Date.now(), exerciseType: 'running', title: 'Evening run'
}]);
await AppMint.health.write('steps', { start: Date.now() - 3600000, end: Date.now(), count: 4200 });

रिकॉर्ड फ़ील्ड: steps {start, end, count} · distance {start, end, meters} · calories {start, end, kilocalories} · heartRate {start, end, samples: [{time, bpm}]} · sleep {start, end, title?, stages?: [{start, end, stage}]} (awake, sleeping, out_of_bed, light, deep, rem) · weight {time, kilograms} · exercise {start, end, exerciseType, title?} (Health Connect के नाम जैसे running, walking, biking, swimming_pool, yoga, strength_training, other_workout)। एग्रीगेट: steps {count}, distance {meters}, calories {kilocalories}, heartRate {avg, min, max}, sleep / exercise {minutes}, weight {avg, min, max} (kg)।

नोट: Health Connect अपनी अनुमति स्क्रीन से आपकी प्राइवेसी पॉलिसी दिखाता है - Finish चरण वाला पता, या बनाई गई पॉलिसी। Google Play पर प्रकाशित करने से पहले, Play Console में App content → Health apps उन्हीं डेटा प्रकारों के साथ भरें और बताएँ कि ऐप को हर एक की ज़रूरत क्यों है; Play स्वास्थ्य अनुमतियों की समीक्षा करता है। Health Connect किसी ऐप को उसकी पहली अनुमति से पहले के पिछले 30 दिनों का इतिहास देता है। इसके पीछे के कच्चे ब्रिज मेथड (healthIsAvailable, healthRequestPermissions, healthRead, healthWrite, healthOpen) JSON टेक्स्ट और एक कॉलबैक आईडी लेते हैं - हेल्पर इस्तेमाल करें।

healthRead ब्रिज#

window.WebToApk.healthRead(type: String, optionsJson: String, callbackId: String)

[optionsJson] के `start` और `end` के बीच [type] रिकॉर्ड पढ़ता है (या `aggregate:true` के साथ कुल योग)।

उदाहरण

AppMint.health के साथ दस्तावेज़ित - वहाँ का उदाहरण इसे भी दिखाता है।

Health Connect के ज़रिए उपयोगकर्ता का स्वास्थ्य डेटा पढ़ता और लिखता है: स्टेप्स, दूरी, सक्रिय कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ सेशन। विज़ार्ड के Access चरण में Health data (Health Connect) चालू करें और प्रकारों पर टिक करें, साथ ही यह भी कि ऐप हर एक को पढ़ता है या लिखता है - सिर्फ़ वही माँगे जा सकते हैं।

लौटाता है: हर मेथड एक प्रॉमिस लौटाता है। isAvailable() → {ok: true, available, status, read, write} (status: available, not_installed, update_required, unsupported = Android 8.0 से पुराना, disabled = विकल्प बंद)। बाकी → {ok: true, …} या {ok: false, code, message}, जिसमें code disabled, unsupported, not_installed, update_required, not_declared (प्रकार विज़ार्ड में टिक नहीं किया गया), permission (उपयोगकर्ता ने अनुमति नहीं दी), bad-input, blocked (दूसरी साइट का पेज), failed हो सकता है। ज़रूरत: विज़ार्ड का विकल्प, Android 8.0+, और Health Connect (Android 14+ में पहले से शामिल, उससे पहले Play से मिलने वाला ऐप)।

प्रकार: steps, distance, calories, heartRate, sleep, weight, exercise। समय मिलीसेकंड (Date.now()), Date ऑब्जेक्ट या ISO स्ट्रिंग होते हैं; जवाब ISO स्ट्रिंग में आते हैं।

जाँचें, फिर माँगें:

async function connectHealth() {
  if (!(window.AppMint && AppMint.health)) return false;          // browser or option off
  var s = await AppMint.health.isAvailable();
  if (s.status === 'not_installed') { await AppMint.health.openHealthConnect(); return false; }
  if (!s.available) return false;
  var r = await AppMint.health.requestPermissions({ read: ['steps', 'heartRate'], write: ['weight'] });
  return r.ok && r.denied.read.length === 0;
}

आज के स्टेप्स (aggregate: true के साथ कुल योग, उसके बिना खुद रिकॉर्ड):

async function stepsToday() {
  var start = new Date(); start.setHours(0, 0, 0, 0);
  var r = await AppMint.health.read('steps', { start: start, end: new Date(), aggregate: true });
  if (!r.ok) { console.warn(r.code, r.message); return 0; }
  return r.aggregate.count;
}

async function lastNightHeartRate() {
  var end = Date.now(), start = end - 12 * 3600 * 1000;
  var r = await AppMint.health.read('heartRate', { start: start, end: end });
  // r.records = [{start, end, id, samples: [{time, bpm}]}]
  return r.ok ? r.records.flatMap(function (x) { return x.samples; }) : [];
}

लिखें - एक रिकॉर्ड या ऐरे:

await AppMint.health.write('weight', { time: Date.now(), kilograms: 72.4 });
await AppMint.health.write('exercise', [{
  start: Date.now() - 45 * 60000, end: Date.now(), exerciseType: 'running', title: 'Evening run'
}]);
await AppMint.health.write('steps', { start: Date.now() - 3600000, end: Date.now(), count: 4200 });

रिकॉर्ड फ़ील्ड: steps {start, end, count} · distance {start, end, meters} · calories {start, end, kilocalories} · heartRate {start, end, samples: [{time, bpm}]} · sleep {start, end, title?, stages?: [{start, end, stage}]} (awake, sleeping, out_of_bed, light, deep, rem) · weight {time, kilograms} · exercise {start, end, exerciseType, title?} (Health Connect के नाम जैसे running, walking, biking, swimming_pool, yoga, strength_training, other_workout)। एग्रीगेट: steps {count}, distance {meters}, calories {kilocalories}, heartRate {avg, min, max}, sleep / exercise {minutes}, weight {avg, min, max} (kg)।

नोट: Health Connect अपनी अनुमति स्क्रीन से आपकी प्राइवेसी पॉलिसी दिखाता है - Finish चरण वाला पता, या बनाई गई पॉलिसी। Google Play पर प्रकाशित करने से पहले, Play Console में App content → Health apps उन्हीं डेटा प्रकारों के साथ भरें और बताएँ कि ऐप को हर एक की ज़रूरत क्यों है; Play स्वास्थ्य अनुमतियों की समीक्षा करता है। Health Connect किसी ऐप को उसकी पहली अनुमति से पहले के पिछले 30 दिनों का इतिहास देता है। इसके पीछे के कच्चे ब्रिज मेथड (healthIsAvailable, healthRequestPermissions, healthRead, healthWrite, healthOpen) JSON टेक्स्ट और एक कॉलबैक आईडी लेते हैं - हेल्पर इस्तेमाल करें।

healthRequestPermissions ब्रिज#

window.WebToApk.healthRequestPermissions(requestJson: String, callbackId: String)

[requestJson] `{read:[…], write:[…]}` के लिए Health Connect की अनुमति स्क्रीन खोलता है; `{granted, denied}` के साथ पूरा होता है।

उदाहरण

AppMint.health के साथ दस्तावेज़ित - वहाँ का उदाहरण इसे भी दिखाता है।

Health Connect के ज़रिए उपयोगकर्ता का स्वास्थ्य डेटा पढ़ता और लिखता है: स्टेप्स, दूरी, सक्रिय कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ सेशन। विज़ार्ड के Access चरण में Health data (Health Connect) चालू करें और प्रकारों पर टिक करें, साथ ही यह भी कि ऐप हर एक को पढ़ता है या लिखता है - सिर्फ़ वही माँगे जा सकते हैं।

लौटाता है: हर मेथड एक प्रॉमिस लौटाता है। isAvailable() → {ok: true, available, status, read, write} (status: available, not_installed, update_required, unsupported = Android 8.0 से पुराना, disabled = विकल्प बंद)। बाकी → {ok: true, …} या {ok: false, code, message}, जिसमें code disabled, unsupported, not_installed, update_required, not_declared (प्रकार विज़ार्ड में टिक नहीं किया गया), permission (उपयोगकर्ता ने अनुमति नहीं दी), bad-input, blocked (दूसरी साइट का पेज), failed हो सकता है। ज़रूरत: विज़ार्ड का विकल्प, Android 8.0+, और Health Connect (Android 14+ में पहले से शामिल, उससे पहले Play से मिलने वाला ऐप)।

प्रकार: steps, distance, calories, heartRate, sleep, weight, exercise। समय मिलीसेकंड (Date.now()), Date ऑब्जेक्ट या ISO स्ट्रिंग होते हैं; जवाब ISO स्ट्रिंग में आते हैं।

जाँचें, फिर माँगें:

async function connectHealth() {
  if (!(window.AppMint && AppMint.health)) return false;          // browser or option off
  var s = await AppMint.health.isAvailable();
  if (s.status === 'not_installed') { await AppMint.health.openHealthConnect(); return false; }
  if (!s.available) return false;
  var r = await AppMint.health.requestPermissions({ read: ['steps', 'heartRate'], write: ['weight'] });
  return r.ok && r.denied.read.length === 0;
}

आज के स्टेप्स (aggregate: true के साथ कुल योग, उसके बिना खुद रिकॉर्ड):

async function stepsToday() {
  var start = new Date(); start.setHours(0, 0, 0, 0);
  var r = await AppMint.health.read('steps', { start: start, end: new Date(), aggregate: true });
  if (!r.ok) { console.warn(r.code, r.message); return 0; }
  return r.aggregate.count;
}

async function lastNightHeartRate() {
  var end = Date.now(), start = end - 12 * 3600 * 1000;
  var r = await AppMint.health.read('heartRate', { start: start, end: end });
  // r.records = [{start, end, id, samples: [{time, bpm}]}]
  return r.ok ? r.records.flatMap(function (x) { return x.samples; }) : [];
}

लिखें - एक रिकॉर्ड या ऐरे:

await AppMint.health.write('weight', { time: Date.now(), kilograms: 72.4 });
await AppMint.health.write('exercise', [{
  start: Date.now() - 45 * 60000, end: Date.now(), exerciseType: 'running', title: 'Evening run'
}]);
await AppMint.health.write('steps', { start: Date.now() - 3600000, end: Date.now(), count: 4200 });

रिकॉर्ड फ़ील्ड: steps {start, end, count} · distance {start, end, meters} · calories {start, end, kilocalories} · heartRate {start, end, samples: [{time, bpm}]} · sleep {start, end, title?, stages?: [{start, end, stage}]} (awake, sleeping, out_of_bed, light, deep, rem) · weight {time, kilograms} · exercise {start, end, exerciseType, title?} (Health Connect के नाम जैसे running, walking, biking, swimming_pool, yoga, strength_training, other_workout)। एग्रीगेट: steps {count}, distance {meters}, calories {kilocalories}, heartRate {avg, min, max}, sleep / exercise {minutes}, weight {avg, min, max} (kg)।

नोट: Health Connect अपनी अनुमति स्क्रीन से आपकी प्राइवेसी पॉलिसी दिखाता है - Finish चरण वाला पता, या बनाई गई पॉलिसी। Google Play पर प्रकाशित करने से पहले, Play Console में App content → Health apps उन्हीं डेटा प्रकारों के साथ भरें और बताएँ कि ऐप को हर एक की ज़रूरत क्यों है; Play स्वास्थ्य अनुमतियों की समीक्षा करता है। Health Connect किसी ऐप को उसकी पहली अनुमति से पहले के पिछले 30 दिनों का इतिहास देता है। इसके पीछे के कच्चे ब्रिज मेथड (healthIsAvailable, healthRequestPermissions, healthRead, healthWrite, healthOpen) JSON टेक्स्ट और एक कॉलबैक आईडी लेते हैं - हेल्पर इस्तेमाल करें।

healthWrite ब्रिज#

window.WebToApk.healthWrite(type: String, recordsJson: String, callbackId: String)

[recordsJson] (एक ऐरे) के रिकॉर्ड [type] के रूप में लिखता है; उनकी आईडी के साथ पूरा होता है।

उदाहरण

AppMint.health के साथ दस्तावेज़ित - वहाँ का उदाहरण इसे भी दिखाता है।

Health Connect के ज़रिए उपयोगकर्ता का स्वास्थ्य डेटा पढ़ता और लिखता है: स्टेप्स, दूरी, सक्रिय कैलोरी, हार्ट रेट, नींद, वज़न और एक्सरसाइज़ सेशन। विज़ार्ड के Access चरण में Health data (Health Connect) चालू करें और प्रकारों पर टिक करें, साथ ही यह भी कि ऐप हर एक को पढ़ता है या लिखता है - सिर्फ़ वही माँगे जा सकते हैं।

लौटाता है: हर मेथड एक प्रॉमिस लौटाता है। isAvailable() → {ok: true, available, status, read, write} (status: available, not_installed, update_required, unsupported = Android 8.0 से पुराना, disabled = विकल्प बंद)। बाकी → {ok: true, …} या {ok: false, code, message}, जिसमें code disabled, unsupported, not_installed, update_required, not_declared (प्रकार विज़ार्ड में टिक नहीं किया गया), permission (उपयोगकर्ता ने अनुमति नहीं दी), bad-input, blocked (दूसरी साइट का पेज), failed हो सकता है। ज़रूरत: विज़ार्ड का विकल्प, Android 8.0+, और Health Connect (Android 14+ में पहले से शामिल, उससे पहले Play से मिलने वाला ऐप)।

प्रकार: steps, distance, calories, heartRate, sleep, weight, exercise। समय मिलीसेकंड (Date.now()), Date ऑब्जेक्ट या ISO स्ट्रिंग होते हैं; जवाब ISO स्ट्रिंग में आते हैं।

जाँचें, फिर माँगें:

async function connectHealth() {
  if (!(window.AppMint && AppMint.health)) return false;          // browser or option off
  var s = await AppMint.health.isAvailable();
  if (s.status === 'not_installed') { await AppMint.health.openHealthConnect(); return false; }
  if (!s.available) return false;
  var r = await AppMint.health.requestPermissions({ read: ['steps', 'heartRate'], write: ['weight'] });
  return r.ok && r.denied.read.length === 0;
}

आज के स्टेप्स (aggregate: true के साथ कुल योग, उसके बिना खुद रिकॉर्ड):

async function stepsToday() {
  var start = new Date(); start.setHours(0, 0, 0, 0);
  var r = await AppMint.health.read('steps', { start: start, end: new Date(), aggregate: true });
  if (!r.ok) { console.warn(r.code, r.message); return 0; }
  return r.aggregate.count;
}

async function lastNightHeartRate() {
  var end = Date.now(), start = end - 12 * 3600 * 1000;
  var r = await AppMint.health.read('heartRate', { start: start, end: end });
  // r.records = [{start, end, id, samples: [{time, bpm}]}]
  return r.ok ? r.records.flatMap(function (x) { return x.samples; }) : [];
}

लिखें - एक रिकॉर्ड या ऐरे:

await AppMint.health.write('weight', { time: Date.now(), kilograms: 72.4 });
await AppMint.health.write('exercise', [{
  start: Date.now() - 45 * 60000, end: Date.now(), exerciseType: 'running', title: 'Evening run'
}]);
await AppMint.health.write('steps', { start: Date.now() - 3600000, end: Date.now(), count: 4200 });

रिकॉर्ड फ़ील्ड: steps {start, end, count} · distance {start, end, meters} · calories {start, end, kilocalories} · heartRate {start, end, samples: [{time, bpm}]} · sleep {start, end, title?, stages?: [{start, end, stage}]} (awake, sleeping, out_of_bed, light, deep, rem) · weight {time, kilograms} · exercise {start, end, exerciseType, title?} (Health Connect के नाम जैसे running, walking, biking, swimming_pool, yoga, strength_training, other_workout)। एग्रीगेट: steps {count}, distance {meters}, calories {kilocalories}, heartRate {avg, min, max}, sleep / exercise {minutes}, weight {avg, min, max} (kg)।

नोट: Health Connect अपनी अनुमति स्क्रीन से आपकी प्राइवेसी पॉलिसी दिखाता है - Finish चरण वाला पता, या बनाई गई पॉलिसी। Google Play पर प्रकाशित करने से पहले, Play Console में App content → Health apps उन्हीं डेटा प्रकारों के साथ भरें और बताएँ कि ऐप को हर एक की ज़रूरत क्यों है; Play स्वास्थ्य अनुमतियों की समीक्षा करता है। Health Connect किसी ऐप को उसकी पहली अनुमति से पहले के पिछले 30 दिनों का इतिहास देता है। इसके पीछे के कच्चे ब्रिज मेथड (healthIsAvailable, healthRequestPermissions, healthRead, healthWrite, healthOpen) JSON टेक्स्ट और एक कॉलबैक आईडी लेते हैं - हेल्पर इस्तेमाल करें।

हर डॉक्स बिल्ड पर ऐप रनटाइम और उसकी उदाहरण फ़ाइलों से बनाया जाता है। Markdown में पढ़ें · सभी फ़ैमिली.

2026-10-03 को शिप किए गए ब्रिज से मिलाकर जाँचा गया।