mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-01-31 18:49:43 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
cedd6df423
@ -53,7 +53,7 @@ export const pluginWarn = (
|
|||||||
): void => {
|
): void => {
|
||||||
if (method) {
|
if (method) {
|
||||||
console.warn(
|
console.warn(
|
||||||
'Native: tried calling ' +
|
'Ionic Native: tried calling ' +
|
||||||
pluginName +
|
pluginName +
|
||||||
'.' +
|
'.' +
|
||||||
method +
|
method +
|
||||||
@ -63,12 +63,12 @@ export const pluginWarn = (
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
console.warn(
|
console.warn(
|
||||||
`'Native: tried accessing the ${pluginName} plugin but it's not installed.`
|
`'Ionic Native: tried accessing the ${pluginName} plugin but it's not installed.`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (plugin) {
|
if (plugin) {
|
||||||
console.warn(
|
console.warn(
|
||||||
`Install the ${pluginName} plugin: 'ionic cordova plugin add ${plugin}'`
|
`Install the ${pluginName} plugin: 'ionic cordova plugin add ${plugin}'`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -81,17 +81,17 @@ export const pluginWarn = (
|
|||||||
export const cordovaWarn = (pluginName: string, method?: string): void => {
|
export const cordovaWarn = (pluginName: string, method?: string): void => {
|
||||||
if (method) {
|
if (method) {
|
||||||
console.warn(
|
console.warn(
|
||||||
'Native: tried calling ' +
|
'Ionic Native: tried calling ' +
|
||||||
pluginName +
|
pluginName +
|
||||||
'.' +
|
'.' +
|
||||||
method +
|
method +
|
||||||
', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'
|
', but Cordova is not available. Make sure to a) run in a real device or simulator and b) include cordova.js in your index.html'
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
console.warn(
|
console.warn(
|
||||||
'Native: tried accessing the ' +
|
'Native: tried accessing the ' +
|
||||||
pluginName +
|
pluginName +
|
||||||
' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'
|
' plugin but Cordova is not available. Make sure to a) run in a real device or simulator and b) include cordova.js in your index.html'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
592
src/@ionic-native/plugins/clevertap/index.ts
Normal file
592
src/@ionic-native/plugins/clevertap/index.ts
Normal file
@ -0,0 +1,592 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
||||||
|
|
||||||
|
declare var clevertap: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name CleverTap
|
||||||
|
* @description
|
||||||
|
* Cordova Plugin that wraps CleverTap SDK for Android and iOS
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* ```typescript
|
||||||
|
* import { CleverTap } from '@ionic-native/clevertap';
|
||||||
|
|
||||||
|
* constructor(private clevertap: CleverTap) { }
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
@Plugin({
|
||||||
|
pluginName: 'CleverTap',
|
||||||
|
plugin: 'clevertap-cordova',
|
||||||
|
pluginRef: 'CleverTap',
|
||||||
|
repo: 'https://github.com/CleverTap/clevertap-cordova',
|
||||||
|
platforms: ['Android', 'iOS']
|
||||||
|
})
|
||||||
|
@Injectable()
|
||||||
|
export class CleverTap extends IonicNativePlugin {
|
||||||
|
/**
|
||||||
|
* notify device ready
|
||||||
|
* NOTE: in iOS use to be notified of launch Push Notification or Deep Link
|
||||||
|
* in Android use only in android phonegap build projects
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
notifyDeviceReady(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Personalization
|
||||||
|
******************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Personalization
|
||||||
|
* Enables the Personalization API
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
enablePersonalization(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables tracking opt out for the currently active user.
|
||||||
|
* @param optOut {boolean}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
setOptOut(optOut: boolean): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the reporting of device network related information, including IP address. This reporting is disabled by default.
|
||||||
|
* @param enable {boolean}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
enableDeviceNetworkInfoReporting(enable: boolean): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Push
|
||||||
|
******************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers for push notifications
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
registerPush(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the device's push token
|
||||||
|
* @param token {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
setPushToken(token: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Notification Channel for Android O+
|
||||||
|
* @param channelID {string}
|
||||||
|
* @param channelName {string}
|
||||||
|
* @param channelDescription {string}
|
||||||
|
* @param importance {number}
|
||||||
|
* @param showBadge {boolean}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
createNotificationChannel(
|
||||||
|
channelID: string,
|
||||||
|
channelName: string,
|
||||||
|
channelDescription: string,
|
||||||
|
importance: number,
|
||||||
|
showBadge: boolean
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Notification Channel for Android O+
|
||||||
|
* @param channelID {string}
|
||||||
|
* @param channelName {string}
|
||||||
|
* @param channelDescription {string}
|
||||||
|
* @param importance {number}
|
||||||
|
* @param showBadge {boolean}
|
||||||
|
* @param sound {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
createNotificationChannelWithSound(
|
||||||
|
channelID: string,
|
||||||
|
channelName: string,
|
||||||
|
channelDescription: string,
|
||||||
|
importance: number,
|
||||||
|
showBadge: boolean,
|
||||||
|
sound: string
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Notification Channel with Group ID for Android O+
|
||||||
|
* @param channelID {string}
|
||||||
|
* @param channelName {string}
|
||||||
|
* @param channelDescription {string}
|
||||||
|
* @param importance {number}
|
||||||
|
* @param groupId {string}
|
||||||
|
* @param showBadge {boolean}
|
||||||
|
* @param sound {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
createNotificationChannelWithGroupId(
|
||||||
|
channelID: string,
|
||||||
|
channelName: string,
|
||||||
|
channelDescription: string,
|
||||||
|
importance: number,
|
||||||
|
groupId: string,
|
||||||
|
showBadge: boolean
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Notification Channel with Group ID for Android O+
|
||||||
|
* @param channelID {string}
|
||||||
|
* @param channelName {string}
|
||||||
|
* @param channelDescription {string}
|
||||||
|
* @param importance {number}
|
||||||
|
* @param groupId {string}
|
||||||
|
* @param showBadge {boolean}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
createNotificationChannelWithGroupIdAndSound(
|
||||||
|
channelID: string,
|
||||||
|
channelName: string,
|
||||||
|
channelDescription: string,
|
||||||
|
importance: number,
|
||||||
|
groupId: string,
|
||||||
|
showBadge: boolean,
|
||||||
|
sound: string
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Notification Channel Group for Android O+
|
||||||
|
* @param groupID {string}
|
||||||
|
* @param groupName {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
createNotificationChannelGroup(
|
||||||
|
groupID: string,
|
||||||
|
groupName: string
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Notification Channel for Android O+
|
||||||
|
* @param channelID {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
deleteNotificationChannel(channelID: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Notification Group for Android O+
|
||||||
|
* @param groupID {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
deleteNotificationChannelGroup(groupID: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Events
|
||||||
|
******************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record Screen View
|
||||||
|
* @param screenName {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
recordScreenView(screenName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record Event with Name
|
||||||
|
* @param eventName {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
recordEventWithName(eventName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record Event with Name and Event properties
|
||||||
|
* @param eventName {string}
|
||||||
|
* @param eventProps {any}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
recordEventWithNameAndProps(
|
||||||
|
eventName: string,
|
||||||
|
eventProps: any
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Record Charged Event with Details and Items
|
||||||
|
* @param details {any} object with transaction details
|
||||||
|
* @param items {any} array of items purchased
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
recordChargedEventWithDetailsAndItems(
|
||||||
|
details: any,
|
||||||
|
items: any
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Event First Time
|
||||||
|
* @param eventName {string}
|
||||||
|
* callback returns epoch seconds or -1
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
eventGetFirstTime(eventName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Event Last Time
|
||||||
|
* @param eventName {string}
|
||||||
|
* callback returns epoch seconds or -1
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
eventGetLastTime(eventName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Event Number of Occurrences
|
||||||
|
* @param eventName {string}
|
||||||
|
* calls back with int or -1
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
eventGetOccurrences(eventName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Event Details
|
||||||
|
* @param eventName {string}
|
||||||
|
* calls back with object {"eventName": <string>, "firstTime":<epoch seconds>, "lastTime": <epoch seconds>, "count": <int>} or empty object
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
eventGetDetails(eventName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Event History
|
||||||
|
* calls back with object {"eventName1":<event1 details object>, "eventName2":<event2 details object>}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
getEventHistory(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Profiles
|
||||||
|
******************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the device location if available.
|
||||||
|
* On iOS:
|
||||||
|
* Calling this will prompt the user location permissions dialog.
|
||||||
|
* Please be sure to include the NSLocationWhenInUseUsageDescription key in your Info.plist.
|
||||||
|
* Uses desired accuracy of kCLLocationAccuracyHundredMeters.
|
||||||
|
* If you need background location updates or finer accuracy please implement your own location handling.
|
||||||
|
* On Android:
|
||||||
|
* Requires Location Permission in AndroidManifest e.g. "android.permission.ACCESS_COARSE_LOCATION"
|
||||||
|
* You can use location to pass it to CleverTap via the setLocation API
|
||||||
|
* for, among other things, more fine-grained geo-targeting and segmentation purposes.
|
||||||
|
* Note: on iOS the call to CleverTapSDK must be made on the main thread due to LocationManager restrictions, but the CleverTapSDK method itself is non-blocking.
|
||||||
|
* calls back with {lat:lat, lon:lon} lat and lon are floats
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
getLocation(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set location
|
||||||
|
* @param lat {number}
|
||||||
|
* @param lon {number}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
setLocation(lat: number, lon: number): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a separate and distinct user profile identified by one or more of Identity, Email, FBID or GPID values,
|
||||||
|
* and populated with the key-values included in the profile dictionary.
|
||||||
|
* If your app is used by multiple users, you can use this method to assign them each a unique profile to track them separately.
|
||||||
|
* If instead you wish to assign multiple Identity, Email, FBID and/or GPID values to the same user profile,
|
||||||
|
* use profileSet rather than this method.
|
||||||
|
* If none of Identity, Email, FBID or GPID is included in the profile dictionary,
|
||||||
|
* all properties values will be associated with the current user profile.
|
||||||
|
* When initially installed on this device, your app is assigned an "anonymous" profile.
|
||||||
|
* The first time you identify a user on this device (whether via onUserLogin or profileSet),
|
||||||
|
* the "anonymous" history on the device will be associated with the newly identified user.
|
||||||
|
* Then, use this method to switch between subsequent separate identified users.
|
||||||
|
* Please note that switching from one identified user to another is a costly operation
|
||||||
|
* in that the current session for the previous user is automatically closed
|
||||||
|
* and data relating to the old user removed, and a new session is started
|
||||||
|
* for the new user and data for that user refreshed via a network call to CleverTap.
|
||||||
|
* In addition, any global frequency caps are reset as part of the switch.
|
||||||
|
* @param profile {any} object
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
onUserLogin(profile: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set profile attributes
|
||||||
|
* @param profile {any} object
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileSet(profile: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set profile attributes from facebook user
|
||||||
|
* @param profile {any} facebook graph user object
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileSetGraphUser(profile: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set profile attributes rom google plus user
|
||||||
|
* @param profile {any} google plus user object
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileGooglePlusUser(profile: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get User Profile Property
|
||||||
|
* @param propertyName {string}
|
||||||
|
* calls back with value of propertyName or false
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileGetProperty(propertyName: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a unique CleverTap identifier suitable for use with install attribution providers.
|
||||||
|
* calls back with unique CleverTap attribution identifier
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileGetCleverTapAttributionIdentifier(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get User Profile CleverTapID
|
||||||
|
* calls back with CleverTapID or false
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileGetCleverTapID(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the property specified by key from the user profile
|
||||||
|
* @param key {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileRemoveValueForKey(key: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method for setting a multi-value user profile property
|
||||||
|
* @param key {string}
|
||||||
|
* @param values {any} array of strings
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileSetMultiValues(key: string, values: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method for adding a value to a multi-value user profile property
|
||||||
|
* @param key {string}
|
||||||
|
* @param value {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileAddMultiValue(key: string, value: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method for adding values to a multi-value user profile property
|
||||||
|
* @param key {string}
|
||||||
|
* @param values {any} array of strings
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileAddMultiValues(key: string, values: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method for removing a value from a multi-value user profile property
|
||||||
|
* @param key {string}
|
||||||
|
* @param value {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileRemoveMultiValue(key: string, value: string): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method for removing a value from a multi-value user profile property
|
||||||
|
* @param key {string}
|
||||||
|
* @param values {any} array of strings
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
profileRemoveMultiValues(key: string, values: any): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Session
|
||||||
|
******************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Session Elapsed Time
|
||||||
|
* calls back with seconds
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
sessionGetTimeElapsed(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Session Total Visits
|
||||||
|
* calls back with with int or -1
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
sessionGetTotalVisits(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Session Screen Count
|
||||||
|
* calls back with with int
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
sessionGetScreenCount(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Session Previous Visit Time
|
||||||
|
* calls back with with epoch seconds or -1
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
sessionGetPreviousVisitTime(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Sesssion Referrer UTM details
|
||||||
|
* object {"source": <string>, "medium": <string>, "campaign": <string>} or empty object
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
sessionGetUTMDetails(): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Call this to manually track the utm details for an incoming install referrer
|
||||||
|
* @param source {string}
|
||||||
|
* @param medium {string}
|
||||||
|
* @param campaign {string}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
pushInstallReferrer(
|
||||||
|
source: string,
|
||||||
|
medium: string,
|
||||||
|
campaign: string
|
||||||
|
): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* Developer Options
|
||||||
|
******************/
|
||||||
|
/**
|
||||||
|
* 0 is off, 1 is info, 2 is debug, default is 1
|
||||||
|
* @param level {number}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
setDebugLevel(level: number): Promise<any> {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
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