IONIC 4+ Capacitor:如何在没有 ionic native 的情况下从 github 安装 cordova 插件(Stepcounter)?

IONIC 4+ Capacitor: How to install a cordova plugin (Stepcounter) from github without ionic native?

我想将 GitHub 上可用的 Cordova 插件添加到我的 IONIC 5+ Capacitor (Angular) 项目中。

另外,我不知道如何安装和集成这个插件,因为official manual说在步骤之后 npm install https://github.com/DigitalsunrayMedia/cordova-plugin-stepcounternpm install ionic-native/???????

我的问题就在这里! npm install ionic-native/????????enter 应该怎么办?所需的插件不作为 Ionic Native 插件存在。

是否足够,如果我简单地执行以下命令:

npm install https://github.com/DigitalsunrayMedia/cordova-plugin-stepcounter.git npx cap sync

没有npm install ionic-native/????

的步骤

我还想知道我是否可以轻松地在离子电容器中添加和使用它,或者我是否必须在文件中进行更改。

如何在 Typescript 中处理这个插件?我必须向 module.app 添加任何内容吗?

如果我按照 Capacitor 规定的方式进行操作是否足够: import { Plugins } from '@capacitor/core'; const { Stepcounter } = Plugins;

非常感谢任何建议!谢谢你 :) 最好的祝福, 程序员

是的,你可以安装插件并在没有 ionic-native 的情况下使用它,基本上 ionic-native 只是库的类型化包装器。

最简单的方法是实施服务

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();
                }
            );
        });
    }
}

现在你将它注入到你需要的地方,这样你就可以使用它了

PS。我假设你使用的是 angular 和打字稿,如果你使用的是 vanilla ionic 和 javascript 你可以安装插件并使用它