forked from NativeScript/firebase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon.ts
79 lines (64 loc) · 2.11 KB
/
common.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import { FirebaseApp, FirebaseError } from '@nativescript/firebase-core';
export enum ShortLinkType {
DEFAULT = 'default',
SHORT = 'short',
UNGUESSABLE = 'unguessable',
}
export interface IDynamicLinkSocialParameters {
descriptionText: undefined | string;
imageUrl: undefined | string;
title: undefined | string;
}
export interface IDynamicLinkNavigationParameters {
forcedRedirectEnabled: undefined | false | true;
}
export interface IDynamicLinkITunesParameters {
affiliateToken: undefined | string;
campaignToken: undefined | string;
providerToken: undefined | string;
}
export interface IDynamicLinkIOSParameters {
appStoreId: undefined | string;
bundleId: string;
customScheme: undefined | string;
fallbackUrl: undefined | string;
iPadBundleId: undefined | string;
iPadFallbackUrl: undefined | string;
minimumVersion: undefined | string;
}
export interface IDynamicLinkAndroidParameters {
fallbackUrl: undefined | string;
minimumVersion: undefined | number;
packageName: string;
}
export interface IDynamicLinkAnalyticsParameters {
campaign: undefined | string;
content: undefined | string;
medium: undefined | string;
source: undefined | string;
term: undefined | string;
}
export interface IDynamicLinkParameters {
analytics: IDynamicLinkAnalyticsParameters;
android: IDynamicLinkAndroidParameters;
domainUriPrefix: string;
ios: IDynamicLinkIOSParameters;
itunes: IDynamicLinkITunesParameters;
link: string;
navigation: IDynamicLinkNavigationParameters;
social: IDynamicLinkSocialParameters;
}
export interface IDynamicLink {
minimumAppVersion: number | string | null;
url: string;
utmParameters: Record<string, string>;
}
export type OnLinkListener = (link: IDynamicLink | null, error: FirebaseError | null) => void;
export interface IDynamicLinks {
app: FirebaseApp;
createLink(link: string, domainUriPrefix: string): IDynamicLinkParameters;
createShortLink(link: string, domainUriPrefix: string, shortLinkType?: ShortLinkType): IDynamicLinkParameters;
buildLink(link: IDynamicLinkParameters): Promise<string>;
onLink(listener: OnLinkListener);
resolveLink(link: string): Promise<IDynamicLink>;
}