capacitor-branch-deep-links
Version:
Capacitor plugin for Branch.io deep links
108 lines (89 loc) • 3.29 kB
text/typescript
import { PluginListenerHandle } from '@capacitor/core';
export interface BranchReferringParams {
'+clicked_branch_link': boolean;
'+is_first_session': boolean;
[key: string]: any;
}
export interface BranchReferringParamsResponse {
referringParams: BranchReferringParams;
}
export interface BranchUrlParams {
branch: string;
}
export interface BranchShortUrlAnalytics {
alias?: string;
campaign?: string;
channel?: string;
duration?: number;
feature?: string;
stage?: string;
tags?: Array<string>;
}
export interface BranchShortUrlProperties {
$desktop_url?: string;
$android_url?: string;
$ios_url?: string;
$ipad_url?: string;
$match_duration?: number;
custom_string?: string;
custom_integer?: number;
custom_boolean?: boolean;
}
export interface BranchShortUrlParams {
analytics?: BranchShortUrlAnalytics;
properties?: BranchShortUrlProperties;
}
export interface BranchShowShareSheetParams extends BranchShortUrlParams {
shareText?: string;
}
export interface BranchShortUrlResponse {
url: string;
}
export interface BranchTrackingResponse {
is_enabled: boolean;
}
export interface BranchLoggedOutResponse {
logged_out: boolean;
}
export interface BranchQRCodeParams {
analytics?: BranchShortUrlAnalytics;
properties?: BranchShortUrlProperties;
settings?: BranchQRCodeSettings;
}
export interface BranchQRCodeSettings {
codeColor?: string;
backgroundColor?: string;
centerLogo?: string;
width?: number;
margin?: number;
imageFormat?: string;
}
export interface BranchQRCodeResponse {
qrCode: String;
}
export interface BranchDMAParams {
eeaRegion: boolean;
adPersonalizationConsent: boolean;
adUserDataUsageConsent: boolean;
}
export interface BranchInitEvent extends BranchReferringParamsResponse {}
export type BranchATTAuthorizationStatus = 0 | 1 | 2 | 3;
export type BranchConsumerProtectionAttributionLevel = 'FULL' | 'REDUCED' | 'MINIMAL' | 'NONE';
export interface BranchDeepLinksPlugin {
addListener(eventName: 'init', listenerFunc: (event: BranchInitEvent) => void): Promise<PluginListenerHandle>;
addListener(eventName: 'initError', listenerFunc: (error: any) => void): Promise<PluginListenerHandle>;
handleUrl(options: BranchUrlParams): Promise<void>;
generateShortUrl(options: BranchShortUrlParams): Promise<BranchShortUrlResponse>;
showShareSheet(options: BranchShowShareSheetParams): Promise<void>;
getStandardEvents(): Promise<{ [index: number]: string }>;
sendBranchEvent(options: { eventName: string; metaData: { [key: string]: any } }): Promise<void>;
handleATTAuthorizationStatus(options: { status: BranchATTAuthorizationStatus }): Promise<void>;
disableTracking(options: { isEnabled: false }): Promise<BranchTrackingResponse>;
setIdentity(options: { newIdentity: string }): Promise<BranchReferringParamsResponse>;
logout(): Promise<BranchLoggedOutResponse>;
getBranchQRCode(options: BranchQRCodeParams): Promise<BranchQRCodeResponse>;
getLatestReferringParams(): Promise<BranchReferringParamsResponse>;
getFirstReferringParams(): Promise<BranchReferringParamsResponse>;
setDMAParamsForEEA: (options: BranchDMAParams) => void;
setConsumerProtectionAttributionLevel(options: { level: BranchConsumerProtectionAttributionLevel }): Promise<void>;
}