mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-04-02 21:02:57 +08:00
226 lines
4.8 KiB
TypeScript
226 lines
4.8 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
|
|
|
export interface BranchIoPromise {
|
|
$identity_id?: number;
|
|
$one_time_use?: boolean;
|
|
'+click_timestamp'?: number;
|
|
'+clicked_branch_link'?: boolean;
|
|
'+is_first_session'?: boolean;
|
|
'+match_guaranteed'?: boolean;
|
|
contentMetadata?: string;
|
|
source?: string;
|
|
'~campaign'?: string;
|
|
'~channel'?: string;
|
|
'~creation_source'?: string;
|
|
'~feature'?: string;
|
|
'~id'?: number;
|
|
'~referring_link:'?: string;
|
|
[x: string]: any;
|
|
}
|
|
|
|
export interface BranchIoAnalytics {
|
|
channel?: string;
|
|
feature?: string;
|
|
campaign?: string;
|
|
stage?: string;
|
|
tags?: string[];
|
|
[x: string]: any;
|
|
}
|
|
|
|
export interface BranchIoProperties {
|
|
contentMetadata?: {
|
|
[x: string]: any;
|
|
};
|
|
[x: string]: any;
|
|
}
|
|
|
|
export interface BranchUniversalObject {
|
|
generateShortUrl(analytics: BranchIoAnalytics, properties: BranchIoProperties): Promise<any>;
|
|
registerView(): Promise<any>;
|
|
showShareSheet(analytics: BranchIoAnalytics, properties: BranchIoProperties, shareText: string): Promise<any>;
|
|
onShareSheetLaunched(callback: any): void;
|
|
onShareSheetDismissed(callback: any): void;
|
|
onLinkShareResponse(callback: any): void;
|
|
onChannelSelected(callback: any): void;
|
|
listOnSpotlight(): Promise<any>;
|
|
}
|
|
|
|
/**
|
|
* @name BranchIo
|
|
* @description
|
|
* Branch.io is an attribution service for deeplinking and invitation links
|
|
*
|
|
* @usage
|
|
* ```
|
|
* import { BranchIo } from '@ionic-native/branch-io/ngx';
|
|
*
|
|
*
|
|
* constructor(private branch: BranchIo) { }
|
|
*
|
|
* ```
|
|
*
|
|
* @interfaces
|
|
* BranchIoPromise
|
|
* BranchIoAnalytics
|
|
* BranchIoProperties
|
|
* BranchUniversalObject
|
|
*
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'BranchIo',
|
|
plugin: 'branch-cordova-sdk',
|
|
pluginRef: 'Branch',
|
|
repo: 'https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking',
|
|
platforms: ['iOS', 'Android'],
|
|
})
|
|
@Injectable()
|
|
export class BranchIo extends IonicNativePlugin {
|
|
/**
|
|
* for development and debugging only
|
|
* @param {boolean} enable Enable debug
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
setDebug(enable: boolean): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Disable tracking
|
|
* @param {boolean} disable disable tracking
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
disableTracking(disable: boolean): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Initializes Branch
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
initSession(): Promise<BranchIoPromise> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Set Request Metadata
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
setRequestMetadata(): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* for better Android matching
|
|
* @param {string} linkDomain LinkDomain at branch
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
setCookieBasedMatching(linkDomain: string): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* First data
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
getFirstReferringParams(): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Latest data
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
getLatestReferringParams(): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Set identy of user
|
|
* @param {string} userId
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
setIdentity(userId: string): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Logout user
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
logout(): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Registers a custom event
|
|
* @param {string} eventName
|
|
* @param {any} metaData
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
userCompletedAction(eventName: string, metaData: any): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Send Commerce Event
|
|
* @param {string} event
|
|
* @param {any} metaData
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
sendCommerceEvent(event: string, metaData: any): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* create a branchUniversalObj variable to reference with other Branch methods
|
|
* @param {BranchIoProperties} properties
|
|
* @return {Promise<BranchUniversalObject>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
createBranchUniversalObject(properties: BranchIoProperties): Promise<BranchUniversalObject> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Load credits
|
|
* @param {any} bucket
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
loadRewards(bucket: any): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Redeem Rewards
|
|
* @param {string} value
|
|
* @param {any} bucket
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
redeemRewards(value: string, bucket: any): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Show credit history
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova({ otherPromise: true })
|
|
creditHistory(): Promise<any> {
|
|
return;
|
|
}
|
|
}
|