mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-01-31 18:49:43 +08:00
feat(webengage): add webengage plugin (#2604)
* feat(webengage): add webengage plugin * refactor
This commit is contained in:
parent
c6713862c5
commit
bd5bd7ea9d
201
src/@ionic-native/plugins/webengage/index.ts
Normal file
201
src/@ionic-native/plugins/webengage/index.ts
Normal file
@ -0,0 +1,201 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||
|
||||
/**
|
||||
* @name Webengage
|
||||
* @description
|
||||
* Ionic-Native wrapper that wraps Webengage Cordova plugin for Android and iOS
|
||||
*
|
||||
* @usage
|
||||
* ```typescript
|
||||
* import { Webengage, WebengageUser, WebengagePush, WebengageNotification } from '@ionic-native/webengage';
|
||||
*
|
||||
*
|
||||
* constructor(private webengage: Webengage, private webengageUser: WebengageUser, private webengagePush: WebengagePush, private webengageNotification: WebengageNotification ) { }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* this.webengage.engage();
|
||||
* ```
|
||||
*/
|
||||
@Plugin({
|
||||
pluginName: 'Webengage',
|
||||
plugin: 'cordova-plugin-webengage',
|
||||
pluginRef: 'webengage',
|
||||
repo: 'https://github.com/WebEngage/cordova-plugin',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class Webengage extends IonicNativePlugin {
|
||||
/**
|
||||
* Initializes WebEngage SDK
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
engage(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets WebEngage SDK configuration
|
||||
* @param {string} key
|
||||
* @param {any} value
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
options(key: string, value: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tracks event
|
||||
* @param {string} eventName
|
||||
* @param {any} attributes
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
track(eventName: string, attributes: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tracks screen
|
||||
* @param {string} eventName
|
||||
* @param {any} screenData
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
screen(screenName: string, screenData: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Plugin({
|
||||
pluginName: 'Webengage',
|
||||
plugin: 'cordova-plugin-webengage',
|
||||
pluginRef: 'webengage.user',
|
||||
repo: 'https://github.com/WebEngage/cordova-plugin',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class WebengageUser extends IonicNativePlugin {
|
||||
/**
|
||||
* Logs user in
|
||||
* @param {string} userId
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
login(userId: string): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs user out
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
logout(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets user attribute
|
||||
* @param {string} key
|
||||
* @param {any} value
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
setAttribute(key: string, value: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Plugin({
|
||||
pluginName: 'Webengage',
|
||||
plugin: 'cordova-plugin-webengage',
|
||||
pluginRef: 'webengage.push',
|
||||
repo: 'https://github.com/WebEngage/cordova-plugin',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class WebengagePush extends IonicNativePlugin {
|
||||
/**
|
||||
* Callback function is invoked when a push notification is clicked
|
||||
* @param {any} callback
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
onClick(callback: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets push notification configuration
|
||||
* @param {string} key
|
||||
* @param {any} value
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
options(key: string, value: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Plugin({
|
||||
pluginName: 'Webengage',
|
||||
plugin: 'cordova-plugin-webengage',
|
||||
pluginRef: 'webengage.notification',
|
||||
repo: 'https://github.com/WebEngage/cordova-plugin',
|
||||
install: '',
|
||||
installVariables: [],
|
||||
platforms: ['Android', 'iOS']
|
||||
})
|
||||
@Injectable()
|
||||
export class WebengageNotification extends IonicNativePlugin {
|
||||
/**
|
||||
* Callback function is invoked when a in-app notification is shown
|
||||
* @param {any} callback
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
onShown(callback: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback function is invoked when a in-app notification is clicked
|
||||
* @param {any} callback
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
onClick(callback: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback function is invoked when a in-app notification is dismissed
|
||||
* @param {any} callback
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
onDismiss(callback: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets in-app notification configuration
|
||||
* @param {string} key
|
||||
* @param {any} value
|
||||
* @return {Promise<any>}
|
||||
*/
|
||||
@Cordova()
|
||||
options(key: string, value: any): Promise<any> {
|
||||
return;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user