我需要唯一地标识每个设备。我认为获取IMEi编号的最佳方法。但是我该怎么做。
我已经阅读了文档https://ionicframework.com/docs/native/uid/,但不清楚。
如果还有其他步骤可以建议我。
答案 0 :(得分:1)
您可以关注文档:https://ionicframework.com/docs/native/unique-device-id/
首先将插件添加到您的应用中
ionic cordova plugin add cordova-plugin-uniquedeviceid
npm install --save @ionic-native/unique-device-id
then import that to your app module.ts file.
import { Device } from '@ionic-native/device';
将设备添加到您的提供商:
providers: [
StatusBar,
Device,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
在要获取uuid的文件中:
import { Device } from '@ionic-native/device';
将其添加到您的构造函数中:
private device: Device
获取UUID:
device_id = this.device.uuid
答案 1 :(得分:1)
我同样需要以独特的方式识别每个设备,我发现的解决方案如下。
获取IMEI
必须在指定的版本中安装它,一个插件和两个依赖项,并且该最新版本与我正在从事的项目(ionic 3)不兼容
ionic cordova plugin add cordova-plugin-uid
npm install --save @ionic-native/uid@^4.20.0
npm install --save @ionic-native/android-permissions@^4.20.0
cordova plugin add cordova-plugin-android-permissions
cordova plugin add cordova-plugin-permission
从属应用程序必须导入到app.module.ts文件中,并将同一文件的提供程序添加到对象中。
app.module.ts文件
import {Uid} from '@ionic-native/uid';
import {AndroidPermissions} from '@ionic-native/android-permissions';
providers: [
StatusBar,
Uid,
AndroidPermissions,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
]
在捕获图像的文件中,必须导入先前安装的依赖项,在本例中为home.ts。
我们构建函数getIMEI()并在构造函数中声明。
home.ts文件
import {Uid} from '@ionic-native/uid';
import {AndroidPermissions} from '@ionic-native/android-permissions';
device_id: any;
builder(
public uid: Uid,
public androidPermissions: AndroidPermissions
) {
this.getIMEI();
}
async getIMEI() {
const {hasPermission} = await this.androidPermissions.checkPermission(
this.androidPermissions.PERMISSION.READ_PHONE_STATE
);
if (!hasPermission) {
const result = await this.androidPermissions.requestPermission(
this.androidPermissions.PERMISSION.READ_PHONE_STATE
);
if (!result.hasPermission) {
throw new Error ('Permissions required');
}
// ok, a user gave us permission, we can get identifiers after
restart the application
return 0;
}
this.device_id = this.uid.IMEI
return this.uid.IMEI;
}
要在屏幕上显示图像,在这种情况下只需要编辑html。home.html
home.html文件
<ion-content padding>
<p> {{device_id}} </p>
</ion-content>
请记住,当使用这些本机依赖项时,如果仅从仿真器或物理设备运行应用程序,我们将只能在浏览器中看到结果。
就我而言,它奏效了,希望它能为某人服务