I want to add a Cordova plugin which is available on GitHub to my IONIC 5+ Capacitor (Angular) project.
Also, I don't know how to install and integrate this plugin, because the official manual says that after the step npm install https://github.com/DigitalsunrayMedia/cordova-plugin-stepcounter
also npm install ionic-native/???????
My problem is right here! What should I do with npm install ionic-native/????????
enter? The desired plugin does not exist as an Ionic Native plugin.
Is it sufficient, if I simply execute the following:
npm install https://github.com/DigitalsunrayMedia/cordova-plugin-stepcounter.git
npx cap sync
without the step of npm install ionic-native/????
I would also like to know if I can easily add and use it in Ionic Capacitor or if I have to make changes in a file.
How do I address this plugin in Typescript? Do I have to add anything to module.app?
Is it sufficient if I do it the way Capacitor prescribes: import { Plugins } from '@capacitor/core';
const { Stepcounter } = Plugins;
I am very grateful for any advice: Thank youu,) Best regards, programmerg
Yes you can install plugin and use it without ionic-native, basically ionic-native is just typed wrapper of library.
The easiest way would be to implement service
import { Injectable } from '@angular/core';
declare var stepcounter: any;
@Injectable({
providedIn: 'root'
})
export class StepCounterService {
constructor() {}
start(startingOffset) {
return new Promise((resolve, reject) => {
stepcounter.start(
startingOffset,
message => {
resolve(message);
},
() => {
reject();
}
);
});
}
stop() {
return new Promise((resolve, reject) => {
stepcounter.stop(
message => {
resolve(message);
},
() => {
reject();
}
);
});
}
getTodayStepCount() {
return new Promise((resolve, reject) => {
stepcounter.getTodayStepCount(
message => {
resolve(message);
},
() => {
reject();
}
);
});
}
getStepCount() {
return new Promise((resolve, reject) => {
stepcounter.getStepCount(
message => {
resolve(message);
},
() => {
reject();
}
);
});
}
deviceCanCountSteps() {
return new Promise((resolve, reject) => {
stepcounter.deviceCanCountSteps(
message => {
resolve(message);
},
() => {
reject();
}
);
});
}
getHistory() {
return new Promise((resolve, reject) => {
stepcounter.getHistory(
message => {
resolve(message);
},
() => {
reject();
}
);
});
}
}
Now you inject it where you need so you can use it
PS. I assume you are using angular and typescript if you are using vanilla ionic and javascript you can install plugin and use it
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.