awesome-cordova-plugins/src/@ionic-native/plugins/firebase-dynamic-links/index.ts

73 lines
2.4 KiB
TypeScript
Raw Normal View History

import { Injectable } from '@angular/core';
2018-09-18 00:23:18 +08:00
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable } from 'rxjs';
export interface IDynamicLink {
matchType: 'Weak' | 'Strong';
deepLink: string;
}
/**
* @beta
* @name Firebase Dynamic Links
* @description
* Cordova plugin for Firebase Dynamic Links
*
* Variables APP_DOMAIN and APP_PATH specify web URL where your app will start an activity to handle the link. They also used to setup support for App Indexing.
* Go to firebase console and export google-services.json and GoogleService-Info.plist. Put those files into the root of your cordova app folder.
*
* Preferences:
*
* Preferences GoogleIOSClientId and GoogleAndroidClientId are used to setup dynamic links when you have an app for several platforms.
* You can find values at your GoogleService-Info.plist (key ANDROID_CLIENT_ID) and google-services.json (key client[0].oauth_client[0].client_id).
*
2018-03-23 17:42:10 +08:00
* config.xml:
* ```xml
2018-06-23 00:13:47 +08:00
* <platform name="ios">
* <preference name="GoogleIOSClientId" value="..." />
* </platform>
2018-06-23 00:13:47 +08:00
* <platform name="android">
* <preference name="GoogleAndroidClientId" value="..." />
* </platform>
* ```
* @usage
* ```typescript
2018-10-11 05:13:45 +08:00
* import { FirebaseDynamicLinks } from '@ionic-native/firebase-dynamic-links/ngx';
*
*
* constructor(private firebaseDynamicLinks: FirebaseDynamicLinks) { }
*
* ...
2018-08-17 04:43:50 +08:00
* // Handle the logic here after opening the app with the Dynamic link
* this.firebaseDynamicLinks.onDynamicLink()
2018-08-17 04:43:50 +08:00
* .subscribe((res: any) => console.log(res), (error:any) => console.log(error));
* ```
*
* @interfaces
* DynamicLinksOptions
*/
@Plugin({
pluginName: 'FirebaseDynamicLinks',
plugin: ' cordova-plugin-firebase-dynamiclinks',
pluginRef: 'cordova.plugins.firebase.dynamiclinks',
repo: 'https://github.com/chemerisuk/cordova-plugin-firebase-dynamiclinks',
install:
'ionic cordova plugin add cordova-plugin-firebase-dynamiclinks --save --variable APP_DOMAIN="example.com" --variable APP_PATH="/"',
installVariables: ['APP_DOMAIN', 'APP_PATH'],
platforms: ['Android', 'iOS']
})
@Injectable()
export class FirebaseDynamicLinks extends IonicNativePlugin {
/**
* Registers callback that is triggered on each dynamic link click.
* @return {Observable<IDynamicLink>} Returns an observable
*/
@Cordova({
callbackOrder: 'reverse',
observable: true
})
onDynamicLink(): Observable<IDynamicLink> {
return;
}
}