diff --git a/src/index.ts b/src/index.ts index 7697b5519..38781d5b7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -120,6 +120,7 @@ import { TouchID } from './plugins/touchid'; import { TextToSpeech } from './plugins/text-to-speech'; import { ThemeableBrowser } from './plugins/themeable-browser'; import { TwitterConnect } from './plugins/twitter-connect'; +import { UniqueDeviceID } from './plugins/unique-device-id'; import { Vibration } from './plugins/vibration'; import { VideoEditor } from './plugins/video-editor'; import { VideoPlayer } from './plugins/video-player'; @@ -245,6 +246,7 @@ export * from './plugins/themeable-browser'; export * from './plugins/toast'; export * from './plugins/touchid'; export * from './plugins/twitter-connect'; +export * from './plugins/unique-device-id'; export * from './plugins/vibration'; export * from './plugins/video-editor'; export * from './plugins/video-player'; @@ -372,6 +374,7 @@ window['IonicNative'] = { TextToSpeech, ThemeableBrowser, TwitterConnect, + UniqueDeviceID, VideoEditor, VideoPlayer, Vibration, diff --git a/src/plugins/unique-device-id.ts b/src/plugins/unique-device-id.ts new file mode 100644 index 000000000..5f4d2e017 --- /dev/null +++ b/src/plugins/unique-device-id.ts @@ -0,0 +1,35 @@ +import { Plugin, Cordova } from './plugin'; + +/** + * @name UniqueDeviceID + * @description + * This plugin produces a unique, cross-install, app-specific device id. + * + * @usage + * ``` + * import { UniqueDeviceID } from 'ionic-native'; + * + * UniqueDeviceID.get() + * .then((uuid: any) => doSomething(uuid)) + * .catch((error: any) => console.log(error)); + * + * ``` + */ +@Plugin({ + pluginName: 'UniqueDeviceID', + plugin: 'cordova-plugin-uniquedeviceid', // npm package name, example: cordova-plugin-camera + pluginRef: 'window.plugins.uniqueDeviceID', // the variable reference to call the plugin, example: navigator.geolocation + repo: 'https://github.com/Paldom/UniqueDeviceID' // the github repository URL for the plugin +}) +export class UniqueDeviceID { + + /** + * Gets a unique, cross-install, app-specific device id. + * @return {Promise} Returns a promise that resolves when something happens + */ + @Cordova() + static get(): Promise { + return; // We add return; here to avoid any IDE / Compiler errors + } + +}