diff --git a/src/@ionic-native/plugins/google-nearby/index.ts b/src/@ionic-native/plugins/google-nearby/index.ts new file mode 100644 index 00000000..3e3fb6a3 --- /dev/null +++ b/src/@ionic-native/plugins/google-nearby/index.ts @@ -0,0 +1,69 @@ +import { Injectable } from '@angular/core'; +import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core'; +import { Observable } from 'rxjs/Observable'; + +/** + * @name google-nearby + * @description + * This plugin adds support for the Google Nearby Messages API. + * + * @usage + * ```typescript + * import { GoogleNearby } from '@ionic-native/google-nearby'; + * + * + * constructor(private googleNearby: GoogleNearby) { } + * + * this.googleNearby.publish('Hello') + * .then((res: any) => console.log(res)) + * .catch((error: any) => console.error(error)); + * + * this.googleNearby.subscribe() + * .then((res: any) => console.log(res)) + * .catch((error: any) => console.error(error)); + * ``` + */ +@Plugin({ + pluginName: 'GoogleNearby', + plugin: 'cordova-plugin-google-nearby', + pluginRef: 'window.nearby', + repo: 'https://github.com/hahahannes/googlenearby-cordova-plugin', + install: 'ionic cordova plugin add cordova-plugin-google-nearby --variable API_KEY="123456789"', + installVariables: ['API_KEY'], + platforms: ['Android'] +}) +@Injectable() +export class GoogleNearby extends IonicNativePlugin { + + /** + * Publish a message + * @param message {string} Message to publish + * @return {Promise} Returns a promise that resolves when the message got published + */ + @Cordova() + publish(message: string): Promise { + return; + } + +/** + * Subscribe to recieve messages + * @return {Observable} Returns an observable that emits recieved messages + */ + @Cordova({ + observable: true, + clearFunction: 'unsubscribe' + }) + subscribe(): Observable { + return; + } + +/** + * Unsubscribe from Messages + * @return {Promise} Returns a promise that resolves when you unsubscribed + */ + @Cordova() + unsubscribe(): Promise { + return; + } + +}