onesignal-vue 1.0.1 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +43 -0
- package/.github/ISSUE_TEMPLATE/ask-question.yml +19 -0
- package/.github/ISSUE_TEMPLATE/bug-report.yml +70 -0
- package/.github/ISSUE_TEMPLATE/general-feedback.yml +19 -0
- package/.github/ISSUE_TEMPLATE/workflows/Zapier.yml +34 -0
- package/.github/ISSUE_TEMPLATE/workflows/release-drafter.yml +41 -0
- package/.github/release-drafter.yml +27 -0
- package/.github/workflows/Zapier.yml +34 -0
- package/.github/workflows/release-drafter.yml +41 -0
- package/MigrationGuide.md +251 -0
- package/README.md +50 -40
- package/dist/index.d.ts +140 -118
- package/dist/index.js +470 -9167
- package/dist/index.js.map +1 -1
- package/index.ts +553 -750
- package/package.json +16 -47
- package/tsconfig.json +3 -3
- package/dist/index.es.js +0 -9235
- package/dist/index.es.js.map +0 -1
package/index.ts
CHANGED
|
@@ -1,80 +1,136 @@
|
|
|
1
1
|
import Vue from 'vue';
|
|
2
2
|
|
|
3
3
|
const ONESIGNAL_SDK_ID = 'onesignal-sdk';
|
|
4
|
-
const ONE_SIGNAL_SCRIPT_SRC =
|
|
5
|
-
const ONESIGNAL_NOT_SETUP_ERROR = 'OneSignal is not setup correctly.';
|
|
6
|
-
const MAX_TIMEOUT = 30;
|
|
4
|
+
const ONE_SIGNAL_SCRIPT_SRC = "https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js";
|
|
7
5
|
|
|
8
|
-
|
|
6
|
+
// true if the script is successfully loaded from CDN.
|
|
9
7
|
let isOneSignalInitialized = false;
|
|
10
|
-
|
|
8
|
+
// true if the script fails to load from CDN. A separate flag is necessary
|
|
9
|
+
// to disambiguate between a CDN load failure and a delayed call to
|
|
10
|
+
// OneSignal#init.
|
|
11
|
+
let isOneSignalScriptFailed = false;
|
|
12
|
+
|
|
13
|
+
const VueApp: any = Vue;
|
|
14
|
+
|
|
15
|
+
window.OneSignalDeferred = window.OneSignalDeferred || [];
|
|
16
|
+
|
|
17
|
+
addSDKScript();
|
|
11
18
|
|
|
12
19
|
/* H E L P E R S */
|
|
13
20
|
|
|
14
|
-
|
|
21
|
+
function handleOnError() {
|
|
22
|
+
isOneSignalScriptFailed = true;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function addSDKScript() {
|
|
15
26
|
const script = document.createElement('script');
|
|
16
27
|
script.id = ONESIGNAL_SDK_ID;
|
|
28
|
+
script.defer = true;
|
|
17
29
|
script.src = ONE_SIGNAL_SCRIPT_SRC;
|
|
18
|
-
script.async = true;
|
|
19
|
-
document.head.appendChild(script);
|
|
20
|
-
}
|
|
21
30
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
// Always resolve whether or not the script is successfully initialized.
|
|
32
|
+
// This is important for users who may block cdn.onesignal.com w/ adblock.
|
|
33
|
+
script.onerror = () => {
|
|
34
|
+
handleOnError();
|
|
25
35
|
}
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const processQueuedOneSignalFunctions = () => {
|
|
30
|
-
vueOneSignalFunctionQueue.forEach(element => {
|
|
31
|
-
const { name, args, promiseResolver } = element;
|
|
32
|
-
|
|
33
|
-
if (!!promiseResolver) {
|
|
34
|
-
OneSignalVue[name](...args).then((result: any) => {
|
|
35
|
-
promiseResolver(result);
|
|
36
|
-
});
|
|
37
|
-
} else {
|
|
38
|
-
window.OneSignal[name](...args);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
if (!doesOneSignalExist()) {
|
|
45
|
-
window.OneSignal = window.OneSignal || [];
|
|
46
|
-
}
|
|
37
|
+
document.head.appendChild(script);
|
|
47
38
|
}
|
|
48
39
|
|
|
49
40
|
/* T Y P E D E C L A R A T I O N S */
|
|
50
41
|
|
|
51
42
|
declare module 'vue/types/vue' {
|
|
52
43
|
interface Vue {
|
|
53
|
-
$OneSignal:
|
|
44
|
+
$OneSignal: IOneSignalOneSignal;
|
|
54
45
|
}
|
|
55
46
|
}
|
|
56
47
|
|
|
57
48
|
declare global {
|
|
58
49
|
interface Window {
|
|
59
|
-
|
|
50
|
+
OneSignalDeferred?: OneSignalDeferredLoadedCallback[];
|
|
51
|
+
safari?: {
|
|
52
|
+
pushNotification: any;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* O N E S I G N A L A P I */
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @PublicApi
|
|
61
|
+
*/
|
|
62
|
+
const init = (options: IInitObject): Promise<void> => {
|
|
63
|
+
if (isOneSignalInitialized) {
|
|
64
|
+
return Promise.reject(`OneSignal is already initialized.`);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (!options || !options.appId) {
|
|
68
|
+
throw new Error('You need to provide your OneSignal appId.');
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (!document) {
|
|
72
|
+
return Promise.reject(`Document is not defined.`);
|
|
60
73
|
}
|
|
74
|
+
|
|
75
|
+
return new Promise<void>((resolve) => {
|
|
76
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
77
|
+
OneSignal.init(options).then(() => {
|
|
78
|
+
isOneSignalInitialized = true;
|
|
79
|
+
resolve();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The following code is copied directly from the native SDK source file BrowserSupportsPush.ts
|
|
87
|
+
* S T A R T
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
// Checks if the browser supports push notifications by checking if specific
|
|
91
|
+
// classes and properties on them exist
|
|
92
|
+
function isPushNotificationsSupported() {
|
|
93
|
+
return supportsVapidPush() || supportsSafariPush();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function isMacOSSafariInIframe(): boolean {
|
|
97
|
+
// Fallback detection for Safari on macOS in an iframe context
|
|
98
|
+
return window.top !== window && // isContextIframe
|
|
99
|
+
navigator.vendor === "Apple Computer, Inc." && // isSafari
|
|
100
|
+
navigator.platform === "MacIntel"; // isMacOS
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function supportsSafariPush(): boolean {
|
|
104
|
+
return (window.safari && typeof window.safari.pushNotification !== "undefined") ||
|
|
105
|
+
isMacOSSafariInIframe();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Does the browser support the standard Push API
|
|
109
|
+
function supportsVapidPush(): boolean {
|
|
110
|
+
return typeof PushSubscriptionOptions !== "undefined" &&
|
|
111
|
+
PushSubscriptionOptions.prototype.hasOwnProperty("applicationServerKey");
|
|
61
112
|
}
|
|
113
|
+
/* E N D */
|
|
62
114
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
115
|
+
/**
|
|
116
|
+
* @PublicApi
|
|
117
|
+
*/
|
|
118
|
+
const isPushSupported = (): boolean => {
|
|
119
|
+
return isPushNotificationsSupported();
|
|
67
120
|
}
|
|
68
121
|
|
|
69
122
|
type Action<T> = (item: T) => void;
|
|
70
123
|
interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }
|
|
71
|
-
interface RegisterOptions { modalPrompt?: boolean; httpPermissionRequest?: boolean; slidedown?: boolean; autoAccept?: boolean }
|
|
72
|
-
interface SetSMSOptions { identifierAuthHash?: string; }
|
|
73
|
-
interface SetEmailOptions { identifierAuthHash?: string; emailAuthHash?: string; }
|
|
74
|
-
interface TagsObject<T> { [key: string]: T; }
|
|
75
124
|
interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }
|
|
76
125
|
interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }
|
|
77
126
|
interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }
|
|
127
|
+
type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };
|
|
128
|
+
type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };
|
|
129
|
+
type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
|
|
130
|
+
interface NotificationButtonData { action?: string; title?: string; icon?: string; url?: string; }
|
|
131
|
+
interface StructuredNotification { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: string; buttons?: NotificationButtonData[]; }
|
|
132
|
+
type SlidedownEventName = 'slidedownShown';
|
|
133
|
+
type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
|
|
78
134
|
|
|
79
135
|
interface IInitObject {
|
|
80
136
|
appId: string;
|
|
@@ -97,789 +153,536 @@ interface IInitObject {
|
|
|
97
153
|
[key: string]: any;
|
|
98
154
|
}
|
|
99
155
|
|
|
100
|
-
interface
|
|
156
|
+
interface IOneSignalOneSignal {
|
|
157
|
+
login(externalId: string, jwtToken?: string): Promise<void>
|
|
158
|
+
logout(): Promise<void>
|
|
101
159
|
init(options: IInitObject): Promise<void>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
160
|
+
setConsentGiven(consent: boolean): Promise<void>
|
|
161
|
+
setConsentRequired(requiresConsent: boolean): Promise<void>
|
|
162
|
+
Slidedown: IOneSignalSlidedown;
|
|
163
|
+
Notifications: IOneSignalNotifications;
|
|
164
|
+
Session: IOneSignalSession;
|
|
165
|
+
User: IOneSignalUser;
|
|
166
|
+
Debug: IOneSignalDebug;
|
|
167
|
+
[index: string]: any;
|
|
168
|
+
}
|
|
169
|
+
interface IOneSignalNotifications {
|
|
170
|
+
setDefaultUrl(url: string): Promise<void>
|
|
109
171
|
setDefaultTitle(title: string): Promise<void>
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
[
|
|
172
|
+
isPushSupported(): boolean
|
|
173
|
+
getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>
|
|
174
|
+
requestPermission(): Promise<void>
|
|
175
|
+
addEventListener(event: NotificationEventName, listener: (obj: any) => void): void
|
|
176
|
+
removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void
|
|
177
|
+
[index: string]: any;
|
|
178
|
+
}
|
|
179
|
+
interface IOneSignalSlidedown {
|
|
180
|
+
promptPush(options?: AutoPromptOptions): Promise<void>
|
|
181
|
+
promptPushCategories(options?: AutoPromptOptions): Promise<void>
|
|
182
|
+
promptSms(options?: AutoPromptOptions): Promise<void>
|
|
183
|
+
promptEmail(options?: AutoPromptOptions): Promise<void>
|
|
184
|
+
promptSmsAndEmail(options?: AutoPromptOptions): Promise<void>
|
|
185
|
+
addEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void
|
|
186
|
+
removeEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void
|
|
187
|
+
[index: string]: any;
|
|
188
|
+
}
|
|
189
|
+
interface IOneSignalDebug {
|
|
190
|
+
setLogLevel(logLevel: string): void
|
|
191
|
+
[index: string]: any;
|
|
192
|
+
}
|
|
193
|
+
interface IOneSignalSession {
|
|
194
|
+
sendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void>
|
|
195
|
+
sendUniqueOutcome(outcomeName: string): Promise<void>
|
|
196
|
+
[index: string]: any;
|
|
197
|
+
}
|
|
198
|
+
interface IOneSignalUser {
|
|
199
|
+
addAlias(label: string, id: string): void
|
|
200
|
+
addAliases(aliases: { [key: string]: string }): void
|
|
201
|
+
removeAlias(label: string): void
|
|
202
|
+
removeAliases(labels: string[]): void
|
|
203
|
+
addEmail(email: string): void
|
|
204
|
+
removeEmail(email: string): void
|
|
205
|
+
addSms(smsNumber: string): void
|
|
206
|
+
removeSms(smsNumber: string): void
|
|
207
|
+
PushSubscription: IOneSignalPushSubscription;
|
|
208
|
+
[index: string]: any;
|
|
209
|
+
}
|
|
210
|
+
interface IOneSignalPushSubscription {
|
|
211
|
+
optIn(): Promise<void>
|
|
212
|
+
optOut(): Promise<void>
|
|
213
|
+
addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void
|
|
214
|
+
removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void
|
|
215
|
+
[index: string]: any;
|
|
139
216
|
}
|
|
140
217
|
|
|
218
|
+
function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
|
|
219
|
+
return new Promise(function (resolve, reject) {
|
|
220
|
+
if (isOneSignalScriptFailed) {
|
|
221
|
+
reject();
|
|
222
|
+
}
|
|
141
223
|
|
|
142
|
-
|
|
224
|
+
try {
|
|
225
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
226
|
+
OneSignal.login(externalId, jwtToken)
|
|
227
|
+
.then(value => resolve(value))
|
|
228
|
+
.catch(error => reject(error));
|
|
229
|
+
});
|
|
230
|
+
} catch (error) {
|
|
231
|
+
reject(error);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
143
235
|
|
|
144
|
-
function
|
|
145
|
-
return new Promise
|
|
146
|
-
if (
|
|
147
|
-
|
|
236
|
+
function oneSignalLogout(): Promise<void> {
|
|
237
|
+
return new Promise(function (resolve, reject) {
|
|
238
|
+
if (isOneSignalScriptFailed) {
|
|
239
|
+
reject();
|
|
148
240
|
}
|
|
149
241
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
242
|
+
try {
|
|
243
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
244
|
+
OneSignal.logout()
|
|
245
|
+
.then(value => resolve(value))
|
|
246
|
+
.catch(error => reject(error));
|
|
247
|
+
});
|
|
248
|
+
} catch (error) {
|
|
249
|
+
reject(error);
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
}
|
|
155
253
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
254
|
+
function oneSignalSetConsentGiven(consent: boolean): Promise<void> {
|
|
255
|
+
return new Promise(function (resolve, reject) {
|
|
256
|
+
if (isOneSignalScriptFailed) {
|
|
257
|
+
reject();
|
|
258
|
+
}
|
|
159
259
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
260
|
+
try {
|
|
261
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
262
|
+
OneSignal.setConsentGiven(consent)
|
|
263
|
+
.then(value => resolve(value))
|
|
264
|
+
.catch(error => reject(error));
|
|
265
|
+
});
|
|
266
|
+
} catch (error) {
|
|
267
|
+
reject(error);
|
|
268
|
+
}
|
|
166
269
|
});
|
|
167
270
|
}
|
|
168
271
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
272
|
+
function oneSignalSetConsentRequired(requiresConsent: boolean): Promise<void> {
|
|
273
|
+
return new Promise(function (resolve, reject) {
|
|
274
|
+
if (isOneSignalScriptFailed) {
|
|
275
|
+
reject();
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
try {
|
|
279
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
280
|
+
OneSignal.setConsentRequired(requiresConsent)
|
|
281
|
+
.then(value => resolve(value))
|
|
282
|
+
.catch(error => reject(error));
|
|
174
283
|
});
|
|
175
|
-
|
|
284
|
+
} catch (error) {
|
|
285
|
+
reject(error);
|
|
176
286
|
}
|
|
287
|
+
});
|
|
288
|
+
}
|
|
177
289
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
290
|
+
function slidedownPromptPush(options?: AutoPromptOptions): Promise<void> {
|
|
291
|
+
return new Promise(function (resolve, reject) {
|
|
292
|
+
if (isOneSignalScriptFailed) {
|
|
293
|
+
reject();
|
|
294
|
+
}
|
|
182
295
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
296
|
+
try {
|
|
297
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
298
|
+
OneSignal.Slidedown.promptPush(options)
|
|
299
|
+
.then(value => resolve(value))
|
|
300
|
+
.catch(error => reject(error));
|
|
188
301
|
});
|
|
189
|
-
|
|
302
|
+
} catch (error) {
|
|
303
|
+
reject(error);
|
|
190
304
|
}
|
|
305
|
+
});
|
|
306
|
+
}
|
|
191
307
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
308
|
+
function slidedownPromptPushCategories(options?: AutoPromptOptions): Promise<void> {
|
|
309
|
+
return new Promise(function (resolve, reject) {
|
|
310
|
+
if (isOneSignalScriptFailed) {
|
|
311
|
+
reject();
|
|
312
|
+
}
|
|
196
313
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
314
|
+
try {
|
|
315
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
316
|
+
OneSignal.Slidedown.promptPushCategories(options)
|
|
317
|
+
.then(value => resolve(value))
|
|
318
|
+
.catch(error => reject(error));
|
|
202
319
|
});
|
|
203
|
-
|
|
320
|
+
} catch (error) {
|
|
321
|
+
reject(error);
|
|
204
322
|
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
205
325
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
326
|
+
function slidedownPromptSms(options?: AutoPromptOptions): Promise<void> {
|
|
327
|
+
return new Promise(function (resolve, reject) {
|
|
328
|
+
if (isOneSignalScriptFailed) {
|
|
329
|
+
reject();
|
|
330
|
+
}
|
|
210
331
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
args: arguments,
|
|
217
|
-
promiseResolver: resolve,
|
|
218
|
-
});
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
window.OneSignal.push(() => {
|
|
223
|
-
window.OneSignal.isPushNotificationsEnabled(callback)
|
|
224
|
-
.then((value) => resolve(value))
|
|
225
|
-
.catch((error) => reject(error));
|
|
332
|
+
try {
|
|
333
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
334
|
+
OneSignal.Slidedown.promptSms(options)
|
|
335
|
+
.then(value => resolve(value))
|
|
336
|
+
.catch(error => reject(error));
|
|
226
337
|
});
|
|
227
|
-
})
|
|
228
|
-
|
|
338
|
+
} catch (error) {
|
|
339
|
+
reject(error);
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
}
|
|
229
343
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
args: arguments,
|
|
236
|
-
promiseResolver: resolve,
|
|
237
|
-
});
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
window.OneSignal.push(() => {
|
|
242
|
-
window.OneSignal.showHttpPrompt(options)
|
|
243
|
-
.then((value) => resolve(value))
|
|
244
|
-
.catch((error) => reject(error));
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
}
|
|
344
|
+
function slidedownPromptEmail(options?: AutoPromptOptions): Promise<void> {
|
|
345
|
+
return new Promise(function (resolve, reject) {
|
|
346
|
+
if (isOneSignalScriptFailed) {
|
|
347
|
+
reject();
|
|
348
|
+
}
|
|
248
349
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
args: arguments,
|
|
255
|
-
promiseResolver: resolve,
|
|
256
|
-
});
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
window.OneSignal.push(() => {
|
|
261
|
-
window.OneSignal.registerForPushNotifications(options)
|
|
262
|
-
.then((value) => resolve(value))
|
|
263
|
-
.catch((error) => reject(error));
|
|
350
|
+
try {
|
|
351
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
352
|
+
OneSignal.Slidedown.promptEmail(options)
|
|
353
|
+
.then(value => resolve(value))
|
|
354
|
+
.catch(error => reject(error));
|
|
264
355
|
});
|
|
265
|
-
})
|
|
266
|
-
|
|
356
|
+
} catch (error) {
|
|
357
|
+
reject(error);
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
}
|
|
267
361
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
args: arguments,
|
|
274
|
-
promiseResolver: resolve,
|
|
275
|
-
});
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
window.OneSignal.push(() => {
|
|
280
|
-
window.OneSignal.setDefaultNotificationUrl(url)
|
|
281
|
-
.then((value) => resolve(value))
|
|
282
|
-
.catch((error) => reject(error));
|
|
283
|
-
});
|
|
284
|
-
});
|
|
285
|
-
}
|
|
362
|
+
function slidedownPromptSmsAndEmail(options?: AutoPromptOptions): Promise<void> {
|
|
363
|
+
return new Promise(function (resolve, reject) {
|
|
364
|
+
if (isOneSignalScriptFailed) {
|
|
365
|
+
reject();
|
|
366
|
+
}
|
|
286
367
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
args: arguments,
|
|
293
|
-
promiseResolver: resolve,
|
|
294
|
-
});
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
window.OneSignal.push(() => {
|
|
299
|
-
window.OneSignal.setDefaultTitle(title)
|
|
300
|
-
.then((value) => resolve(value))
|
|
301
|
-
.catch((error) => reject(error));
|
|
368
|
+
try {
|
|
369
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
370
|
+
OneSignal.Slidedown.promptSmsAndEmail(options)
|
|
371
|
+
.then(value => resolve(value))
|
|
372
|
+
.catch(error => reject(error));
|
|
302
373
|
});
|
|
303
|
-
})
|
|
304
|
-
|
|
374
|
+
} catch (error) {
|
|
375
|
+
reject(error);
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
}
|
|
305
379
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
args: arguments,
|
|
312
|
-
promiseResolver: resolve,
|
|
313
|
-
});
|
|
314
|
-
return;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
window.OneSignal.push(() => {
|
|
318
|
-
window.OneSignal.getTags(callback)
|
|
319
|
-
.then((value) => resolve(value))
|
|
320
|
-
.catch((error) => reject(error));
|
|
321
|
-
});
|
|
322
|
-
});
|
|
323
|
-
}
|
|
380
|
+
function slidedownAddEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {
|
|
381
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
382
|
+
OneSignal.Slidedown.addEventListener(event, listener)
|
|
383
|
+
});
|
|
384
|
+
}
|
|
324
385
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
args: arguments,
|
|
331
|
-
promiseResolver: resolve,
|
|
332
|
-
});
|
|
333
|
-
return;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
window.OneSignal.push(() => {
|
|
337
|
-
window.OneSignal.sendTag(key, value, callback)
|
|
338
|
-
.then((value) => resolve(value))
|
|
339
|
-
.catch((error) => reject(error));
|
|
340
|
-
});
|
|
341
|
-
});
|
|
342
|
-
}
|
|
386
|
+
function slidedownRemoveEventListener(event: SlidedownEventName, listener: (wasShown: boolean) => void): void {
|
|
387
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
388
|
+
OneSignal.Slidedown.removeEventListener(event, listener)
|
|
389
|
+
});
|
|
390
|
+
}
|
|
343
391
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
args: arguments,
|
|
350
|
-
promiseResolver: resolve,
|
|
351
|
-
});
|
|
352
|
-
return;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
window.OneSignal.push(() => {
|
|
356
|
-
window.OneSignal.sendTags(tags, callback)
|
|
357
|
-
.then((value) => resolve(value))
|
|
358
|
-
.catch((error) => reject(error));
|
|
359
|
-
});
|
|
360
|
-
});
|
|
361
|
-
}
|
|
392
|
+
function notificationsSetDefaultUrl(url: string): Promise<void> {
|
|
393
|
+
return new Promise(function (resolve, reject) {
|
|
394
|
+
if (isOneSignalScriptFailed) {
|
|
395
|
+
reject();
|
|
396
|
+
}
|
|
362
397
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
args: arguments,
|
|
369
|
-
promiseResolver: resolve,
|
|
370
|
-
});
|
|
371
|
-
return;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
window.OneSignal.push(() => {
|
|
375
|
-
window.OneSignal.deleteTag(tag)
|
|
376
|
-
.then((value) => resolve(value))
|
|
377
|
-
.catch((error) => reject(error));
|
|
398
|
+
try {
|
|
399
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
400
|
+
OneSignal.Notifications.setDefaultUrl(url)
|
|
401
|
+
.then(value => resolve(value))
|
|
402
|
+
.catch(error => reject(error));
|
|
378
403
|
});
|
|
379
|
-
})
|
|
380
|
-
|
|
404
|
+
} catch (error) {
|
|
405
|
+
reject(error);
|
|
406
|
+
}
|
|
407
|
+
});
|
|
408
|
+
}
|
|
381
409
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
args: arguments,
|
|
388
|
-
promiseResolver: resolve,
|
|
389
|
-
});
|
|
390
|
-
return;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
window.OneSignal.push(() => {
|
|
394
|
-
window.OneSignal.deleteTags(tags, callback)
|
|
395
|
-
.then((value) => resolve(value))
|
|
396
|
-
.catch((error) => reject(error));
|
|
397
|
-
});
|
|
398
|
-
});
|
|
399
|
-
}
|
|
410
|
+
function notificationsSetDefaultTitle(title: string): Promise<void> {
|
|
411
|
+
return new Promise(function (resolve, reject) {
|
|
412
|
+
if (isOneSignalScriptFailed) {
|
|
413
|
+
reject();
|
|
414
|
+
}
|
|
400
415
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
args: arguments,
|
|
407
|
-
promiseResolver: resolve,
|
|
408
|
-
});
|
|
409
|
-
return;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
window.OneSignal.push(() => {
|
|
413
|
-
window.OneSignal.addListenerForNotificationOpened(callback)
|
|
414
|
-
.then((value) => resolve(value))
|
|
415
|
-
.catch((error) => reject(error));
|
|
416
|
+
try {
|
|
417
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
418
|
+
OneSignal.Notifications.setDefaultTitle(title)
|
|
419
|
+
.then(value => resolve(value))
|
|
420
|
+
.catch(error => reject(error));
|
|
416
421
|
});
|
|
417
|
-
})
|
|
418
|
-
|
|
422
|
+
} catch (error) {
|
|
423
|
+
reject(error);
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
}
|
|
419
427
|
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
args: arguments,
|
|
426
|
-
promiseResolver: resolve,
|
|
427
|
-
});
|
|
428
|
-
return;
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
window.OneSignal.push(() => {
|
|
432
|
-
window.OneSignal.setSubscription(newSubscription)
|
|
433
|
-
.then((value) => resolve(value))
|
|
434
|
-
.catch((error) => reject(error));
|
|
435
|
-
});
|
|
436
|
-
});
|
|
437
|
-
}
|
|
428
|
+
function notificationsGetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission> {
|
|
429
|
+
return new Promise(function (resolve, reject) {
|
|
430
|
+
if (isOneSignalScriptFailed) {
|
|
431
|
+
reject();
|
|
432
|
+
}
|
|
438
433
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
args: arguments,
|
|
445
|
-
promiseResolver: resolve,
|
|
446
|
-
});
|
|
447
|
-
return;
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
window.OneSignal.push(() => {
|
|
451
|
-
window.OneSignal.showHttpPermissionRequest(options)
|
|
452
|
-
.then((value) => resolve(value))
|
|
453
|
-
.catch((error) => reject(error));
|
|
434
|
+
try {
|
|
435
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
436
|
+
OneSignal.Notifications.getPermissionStatus(onComplete)
|
|
437
|
+
.then(value => resolve(value))
|
|
438
|
+
.catch(error => reject(error));
|
|
454
439
|
});
|
|
455
|
-
})
|
|
456
|
-
|
|
440
|
+
} catch (error) {
|
|
441
|
+
reject(error);
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
}
|
|
457
445
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
args: arguments,
|
|
464
|
-
promiseResolver: resolve,
|
|
465
|
-
});
|
|
466
|
-
return;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
window.OneSignal.push(() => {
|
|
470
|
-
window.OneSignal.showNativePrompt()
|
|
471
|
-
.then((value) => resolve(value))
|
|
472
|
-
.catch((error) => reject(error));
|
|
473
|
-
});
|
|
474
|
-
});
|
|
475
|
-
}
|
|
446
|
+
function notificationsRequestPermission(): Promise<void> {
|
|
447
|
+
return new Promise(function (resolve, reject) {
|
|
448
|
+
if (isOneSignalScriptFailed) {
|
|
449
|
+
reject();
|
|
450
|
+
}
|
|
476
451
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
args: arguments,
|
|
483
|
-
promiseResolver: resolve,
|
|
484
|
-
});
|
|
485
|
-
return;
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
window.OneSignal.push(() => {
|
|
489
|
-
window.OneSignal.showSlidedownPrompt(options)
|
|
490
|
-
.then((value) => resolve(value))
|
|
491
|
-
.catch((error) => reject(error));
|
|
452
|
+
try {
|
|
453
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
454
|
+
OneSignal.Notifications.requestPermission()
|
|
455
|
+
.then(value => resolve(value))
|
|
456
|
+
.catch(error => reject(error));
|
|
492
457
|
});
|
|
493
|
-
})
|
|
494
|
-
|
|
458
|
+
} catch (error) {
|
|
459
|
+
reject(error);
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
}
|
|
495
463
|
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
vueOneSignalFunctionQueue.push({
|
|
500
|
-
name: 'showCategorySlidedown',
|
|
501
|
-
args: arguments,
|
|
502
|
-
promiseResolver: resolve,
|
|
503
|
-
});
|
|
504
|
-
return;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
window.OneSignal.push(() => {
|
|
508
|
-
window.OneSignal.showCategorySlidedown(options)
|
|
509
|
-
.then((value) => resolve(value))
|
|
510
|
-
.catch((error) => reject(error));
|
|
511
|
-
});
|
|
512
|
-
});
|
|
513
|
-
}
|
|
464
|
+
function notificationsAddEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
|
|
465
|
+
function notificationsAddEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
|
|
466
|
+
function notificationsAddEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
|
|
514
467
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
args: arguments,
|
|
521
|
-
promiseResolver: resolve,
|
|
522
|
-
});
|
|
523
|
-
return;
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
window.OneSignal.push(() => {
|
|
527
|
-
window.OneSignal.showSmsSlidedown(options)
|
|
528
|
-
.then((value) => resolve(value))
|
|
529
|
-
.catch((error) => reject(error));
|
|
530
|
-
});
|
|
531
|
-
});
|
|
532
|
-
}
|
|
468
|
+
function notificationsAddEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
|
|
469
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
470
|
+
OneSignal.Notifications.addEventListener(event, listener)
|
|
471
|
+
});
|
|
472
|
+
}
|
|
533
473
|
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
vueOneSignalFunctionQueue.push({
|
|
538
|
-
name: 'showEmailSlidedown',
|
|
539
|
-
args: arguments,
|
|
540
|
-
promiseResolver: resolve,
|
|
541
|
-
});
|
|
542
|
-
return;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
window.OneSignal.push(() => {
|
|
546
|
-
window.OneSignal.showEmailSlidedown(options)
|
|
547
|
-
.then((value) => resolve(value))
|
|
548
|
-
.catch((error) => reject(error));
|
|
549
|
-
});
|
|
550
|
-
});
|
|
551
|
-
}
|
|
474
|
+
function notificationsRemoveEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
|
|
475
|
+
function notificationsRemoveEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
|
|
476
|
+
function notificationsRemoveEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
|
|
552
477
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
args: arguments,
|
|
559
|
-
promiseResolver: resolve,
|
|
560
|
-
});
|
|
561
|
-
return;
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
window.OneSignal.push(() => {
|
|
565
|
-
window.OneSignal.showSmsAndEmailSlidedown(options)
|
|
566
|
-
.then((value) => resolve(value))
|
|
567
|
-
.catch((error) => reject(error));
|
|
568
|
-
});
|
|
569
|
-
});
|
|
570
|
-
}
|
|
478
|
+
function notificationsRemoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
|
|
479
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
480
|
+
OneSignal.Notifications.removeEventListener(event, listener)
|
|
481
|
+
});
|
|
482
|
+
}
|
|
571
483
|
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
args: arguments,
|
|
578
|
-
promiseResolver: resolve,
|
|
579
|
-
});
|
|
580
|
-
return;
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
window.OneSignal.push(() => {
|
|
584
|
-
window.OneSignal.getNotificationPermission(onComplete)
|
|
585
|
-
.then((value) => resolve(value))
|
|
586
|
-
.catch((error) => reject(error));
|
|
587
|
-
});
|
|
588
|
-
});
|
|
589
|
-
}
|
|
484
|
+
function sessionSendOutcome(outcomeName: string, outcomeWeight?: number): Promise<void> {
|
|
485
|
+
return new Promise(function (resolve, reject) {
|
|
486
|
+
if (isOneSignalScriptFailed) {
|
|
487
|
+
reject();
|
|
488
|
+
}
|
|
590
489
|
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
args: arguments,
|
|
597
|
-
promiseResolver: resolve,
|
|
598
|
-
});
|
|
599
|
-
return;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
window.OneSignal.push(() => {
|
|
603
|
-
window.OneSignal.getUserId(callback)
|
|
604
|
-
.then((value) => resolve(value))
|
|
605
|
-
.catch((error) => reject(error));
|
|
490
|
+
try {
|
|
491
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
492
|
+
OneSignal.Session.sendOutcome(outcomeName, outcomeWeight)
|
|
493
|
+
.then(value => resolve(value))
|
|
494
|
+
.catch(error => reject(error));
|
|
606
495
|
});
|
|
607
|
-
})
|
|
608
|
-
|
|
496
|
+
} catch (error) {
|
|
497
|
+
reject(error);
|
|
498
|
+
}
|
|
499
|
+
});
|
|
500
|
+
}
|
|
609
501
|
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
args: arguments,
|
|
616
|
-
promiseResolver: resolve,
|
|
617
|
-
});
|
|
618
|
-
return;
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
window.OneSignal.push(() => {
|
|
622
|
-
window.OneSignal.getSubscription(callback)
|
|
623
|
-
.then((value) => resolve(value))
|
|
624
|
-
.catch((error) => reject(error));
|
|
625
|
-
});
|
|
626
|
-
});
|
|
627
|
-
}
|
|
502
|
+
function sessionSendUniqueOutcome(outcomeName: string): Promise<void> {
|
|
503
|
+
return new Promise(function (resolve, reject) {
|
|
504
|
+
if (isOneSignalScriptFailed) {
|
|
505
|
+
reject();
|
|
506
|
+
}
|
|
628
507
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
args: arguments,
|
|
635
|
-
promiseResolver: resolve,
|
|
636
|
-
});
|
|
637
|
-
return;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
window.OneSignal.push(() => {
|
|
641
|
-
window.OneSignal.setEmail(email, options)
|
|
642
|
-
.then((value) => resolve(value))
|
|
643
|
-
.catch((error) => reject(error));
|
|
508
|
+
try {
|
|
509
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
510
|
+
OneSignal.Session.sendUniqueOutcome(outcomeName)
|
|
511
|
+
.then(value => resolve(value))
|
|
512
|
+
.catch(error => reject(error));
|
|
644
513
|
});
|
|
645
|
-
})
|
|
646
|
-
|
|
514
|
+
} catch (error) {
|
|
515
|
+
reject(error);
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
}
|
|
647
519
|
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
args: arguments,
|
|
654
|
-
promiseResolver: resolve,
|
|
655
|
-
});
|
|
656
|
-
return;
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
window.OneSignal.push(() => {
|
|
660
|
-
window.OneSignal.setSMSNumber(smsNumber, options)
|
|
661
|
-
.then((value) => resolve(value))
|
|
662
|
-
.catch((error) => reject(error));
|
|
663
|
-
});
|
|
664
|
-
});
|
|
665
|
-
}
|
|
520
|
+
function userAddAlias(label: string, id: string): void {
|
|
521
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
522
|
+
OneSignal.User.addAlias(label, id)
|
|
523
|
+
});
|
|
524
|
+
}
|
|
666
525
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
args: arguments,
|
|
673
|
-
promiseResolver: resolve,
|
|
674
|
-
});
|
|
675
|
-
return;
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
window.OneSignal.push(() => {
|
|
679
|
-
window.OneSignal.logoutEmail()
|
|
680
|
-
.then((value) => resolve(value))
|
|
681
|
-
.catch((error) => reject(error));
|
|
682
|
-
});
|
|
683
|
-
});
|
|
684
|
-
}
|
|
526
|
+
function userAddAliases(aliases: { [key: string]: string }): void {
|
|
527
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
528
|
+
OneSignal.User.addAliases(aliases)
|
|
529
|
+
});
|
|
530
|
+
}
|
|
685
531
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
args: arguments,
|
|
692
|
-
promiseResolver: resolve,
|
|
693
|
-
});
|
|
694
|
-
return;
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
window.OneSignal.push(() => {
|
|
698
|
-
window.OneSignal.logoutSMS()
|
|
699
|
-
.then((value) => resolve(value))
|
|
700
|
-
.catch((error) => reject(error));
|
|
701
|
-
});
|
|
702
|
-
});
|
|
703
|
-
}
|
|
532
|
+
function userRemoveAlias(label: string): void {
|
|
533
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
534
|
+
OneSignal.User.removeAlias(label)
|
|
535
|
+
});
|
|
536
|
+
}
|
|
704
537
|
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
args: arguments,
|
|
711
|
-
promiseResolver: resolve,
|
|
712
|
-
});
|
|
713
|
-
return;
|
|
714
|
-
}
|
|
715
|
-
|
|
716
|
-
window.OneSignal.push(() => {
|
|
717
|
-
window.OneSignal.setExternalUserId(externalUserId, authHash)
|
|
718
|
-
.then((value) => resolve(value))
|
|
719
|
-
.catch((error) => reject(error));
|
|
720
|
-
});
|
|
721
|
-
});
|
|
722
|
-
}
|
|
538
|
+
function userRemoveAliases(labels: string[]): void {
|
|
539
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
540
|
+
OneSignal.User.removeAliases(labels)
|
|
541
|
+
});
|
|
542
|
+
}
|
|
723
543
|
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
args: arguments,
|
|
730
|
-
promiseResolver: resolve,
|
|
731
|
-
});
|
|
732
|
-
return;
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
window.OneSignal.push(() => {
|
|
736
|
-
window.OneSignal.removeExternalUserId()
|
|
737
|
-
.then((value) => resolve(value))
|
|
738
|
-
.catch((error) => reject(error));
|
|
739
|
-
});
|
|
740
|
-
});
|
|
741
|
-
}
|
|
544
|
+
function userAddEmail(email: string): void {
|
|
545
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
546
|
+
OneSignal.User.addEmail(email)
|
|
547
|
+
});
|
|
548
|
+
}
|
|
742
549
|
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
args: arguments,
|
|
749
|
-
promiseResolver: resolve,
|
|
750
|
-
});
|
|
751
|
-
return;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
window.OneSignal.push(() => {
|
|
755
|
-
window.OneSignal.getExternalUserId()
|
|
756
|
-
.then((value) => resolve(value))
|
|
757
|
-
.catch((error) => reject(error));
|
|
758
|
-
});
|
|
759
|
-
});
|
|
760
|
-
}
|
|
550
|
+
function userRemoveEmail(email: string): void {
|
|
551
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
552
|
+
OneSignal.User.removeEmail(email)
|
|
553
|
+
});
|
|
554
|
+
}
|
|
761
555
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
args: arguments,
|
|
768
|
-
promiseResolver: resolve,
|
|
769
|
-
});
|
|
770
|
-
return;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
window.OneSignal.push(() => {
|
|
774
|
-
window.OneSignal.provideUserConsent(consent)
|
|
775
|
-
.then((value) => resolve(value))
|
|
776
|
-
.catch((error) => reject(error));
|
|
777
|
-
});
|
|
778
|
-
});
|
|
779
|
-
}
|
|
556
|
+
function userAddSms(smsNumber: string): void {
|
|
557
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
558
|
+
OneSignal.User.addSms(smsNumber)
|
|
559
|
+
});
|
|
560
|
+
}
|
|
780
561
|
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
args: arguments,
|
|
787
|
-
promiseResolver: resolve,
|
|
788
|
-
});
|
|
789
|
-
return;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
window.OneSignal.push(() => {
|
|
793
|
-
window.OneSignal.getEmailId(callback)
|
|
794
|
-
.then((value) => resolve(value))
|
|
795
|
-
.catch((error) => reject(error));
|
|
796
|
-
});
|
|
797
|
-
});
|
|
798
|
-
}
|
|
562
|
+
function userRemoveSms(smsNumber: string): void {
|
|
563
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
564
|
+
OneSignal.User.removeSms(smsNumber)
|
|
565
|
+
});
|
|
566
|
+
}
|
|
799
567
|
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
window.OneSignal.push(() => {
|
|
812
|
-
window.OneSignal.getSMSId(callback)
|
|
813
|
-
.then((value) => resolve(value))
|
|
814
|
-
.catch((error) => reject(error));
|
|
568
|
+
function pushSubscriptionOptIn(): Promise<void> {
|
|
569
|
+
return new Promise(function (resolve, reject) {
|
|
570
|
+
if (isOneSignalScriptFailed) {
|
|
571
|
+
reject();
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
try {
|
|
575
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
576
|
+
OneSignal.User.PushSubscription.optIn()
|
|
577
|
+
.then(value => resolve(value))
|
|
578
|
+
.catch(error => reject(error));
|
|
815
579
|
});
|
|
816
|
-
})
|
|
817
|
-
|
|
580
|
+
} catch (error) {
|
|
581
|
+
reject(error);
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
function pushSubscriptionOptOut(): Promise<void> {
|
|
587
|
+
return new Promise(function (resolve, reject) {
|
|
588
|
+
if (isOneSignalScriptFailed) {
|
|
589
|
+
reject();
|
|
590
|
+
}
|
|
818
591
|
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
args: arguments,
|
|
825
|
-
promiseResolver: resolve,
|
|
826
|
-
});
|
|
827
|
-
return;
|
|
828
|
-
}
|
|
829
|
-
|
|
830
|
-
window.OneSignal.push(() => {
|
|
831
|
-
window.OneSignal.sendOutcome(outcomeName, outcomeWeight)
|
|
832
|
-
.then((value) => resolve(value))
|
|
833
|
-
.catch((error) => reject(error));
|
|
592
|
+
try {
|
|
593
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
594
|
+
OneSignal.User.PushSubscription.optOut()
|
|
595
|
+
.then(value => resolve(value))
|
|
596
|
+
.catch(error => reject(error));
|
|
834
597
|
});
|
|
835
|
-
})
|
|
836
|
-
|
|
598
|
+
} catch (error) {
|
|
599
|
+
reject(error);
|
|
600
|
+
}
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
function pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
|
|
605
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
606
|
+
OneSignal.User.PushSubscription.addEventListener(event, listener)
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
function pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
|
|
611
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
612
|
+
OneSignal.User.PushSubscription.removeEventListener(event, listener)
|
|
613
|
+
});
|
|
614
|
+
}
|
|
837
615
|
|
|
838
|
-
|
|
616
|
+
function debugSetLogLevel(logLevel: string): void {
|
|
617
|
+
window.OneSignalDeferred?.push((OneSignal) => {
|
|
618
|
+
OneSignal.Debug.setLogLevel(logLevel)
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
const PushSubscriptionNamespace: IOneSignalPushSubscription = {
|
|
622
|
+
optIn: pushSubscriptionOptIn,
|
|
623
|
+
optOut: pushSubscriptionOptOut,
|
|
624
|
+
addEventListener: pushSubscriptionAddEventListener,
|
|
625
|
+
removeEventListener: pushSubscriptionRemoveEventListener,
|
|
626
|
+
};
|
|
627
|
+
|
|
628
|
+
const UserNamespace: IOneSignalUser = {
|
|
629
|
+
addAlias: userAddAlias,
|
|
630
|
+
addAliases: userAddAliases,
|
|
631
|
+
removeAlias: userRemoveAlias,
|
|
632
|
+
removeAliases: userRemoveAliases,
|
|
633
|
+
addEmail: userAddEmail,
|
|
634
|
+
removeEmail: userRemoveEmail,
|
|
635
|
+
addSms: userAddSms,
|
|
636
|
+
removeSms: userRemoveSms,
|
|
637
|
+
PushSubscription: PushSubscriptionNamespace,
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
const SessionNamespace: IOneSignalSession = {
|
|
641
|
+
sendOutcome: sessionSendOutcome,
|
|
642
|
+
sendUniqueOutcome: sessionSendUniqueOutcome,
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
const DebugNamespace: IOneSignalDebug = {
|
|
646
|
+
setLogLevel: debugSetLogLevel,
|
|
647
|
+
};
|
|
648
|
+
|
|
649
|
+
const SlidedownNamespace: IOneSignalSlidedown = {
|
|
650
|
+
promptPush: slidedownPromptPush,
|
|
651
|
+
promptPushCategories: slidedownPromptPushCategories,
|
|
652
|
+
promptSms: slidedownPromptSms,
|
|
653
|
+
promptEmail: slidedownPromptEmail,
|
|
654
|
+
promptSmsAndEmail: slidedownPromptSmsAndEmail,
|
|
655
|
+
addEventListener: slidedownAddEventListener,
|
|
656
|
+
removeEventListener: slidedownRemoveEventListener,
|
|
657
|
+
};
|
|
658
|
+
|
|
659
|
+
const NotificationsNamespace: IOneSignalNotifications = {
|
|
660
|
+
setDefaultUrl: notificationsSetDefaultUrl,
|
|
661
|
+
setDefaultTitle: notificationsSetDefaultTitle,
|
|
662
|
+
isPushSupported,
|
|
663
|
+
getPermissionStatus: notificationsGetPermissionStatus,
|
|
664
|
+
requestPermission: notificationsRequestPermission,
|
|
665
|
+
addEventListener: notificationsAddEventListener,
|
|
666
|
+
removeEventListener: notificationsRemoveEventListener,
|
|
667
|
+
};
|
|
668
|
+
|
|
669
|
+
const OneSignalNamespace: IOneSignalOneSignal = {
|
|
670
|
+
login: oneSignalLogin,
|
|
671
|
+
logout: oneSignalLogout,
|
|
839
672
|
init,
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
setDefaultTitle,
|
|
848
|
-
getTags,
|
|
849
|
-
sendTag,
|
|
850
|
-
sendTags,
|
|
851
|
-
deleteTag,
|
|
852
|
-
deleteTags,
|
|
853
|
-
addListenerForNotificationOpened,
|
|
854
|
-
setSubscription,
|
|
855
|
-
showHttpPermissionRequest,
|
|
856
|
-
showNativePrompt,
|
|
857
|
-
showSlidedownPrompt,
|
|
858
|
-
showCategorySlidedown,
|
|
859
|
-
showSmsSlidedown,
|
|
860
|
-
showEmailSlidedown,
|
|
861
|
-
showSmsAndEmailSlidedown,
|
|
862
|
-
getNotificationPermission,
|
|
863
|
-
getUserId,
|
|
864
|
-
getSubscription,
|
|
865
|
-
setEmail,
|
|
866
|
-
setSMSNumber,
|
|
867
|
-
logoutEmail,
|
|
868
|
-
logoutSMS,
|
|
869
|
-
setExternalUserId,
|
|
870
|
-
removeExternalUserId,
|
|
871
|
-
getExternalUserId,
|
|
872
|
-
provideUserConsent,
|
|
873
|
-
getEmailId,
|
|
874
|
-
getSMSId,
|
|
875
|
-
sendOutcome,
|
|
673
|
+
setConsentGiven: oneSignalSetConsentGiven,
|
|
674
|
+
setConsentRequired: oneSignalSetConsentRequired,
|
|
675
|
+
Slidedown: SlidedownNamespace,
|
|
676
|
+
Notifications: NotificationsNamespace,
|
|
677
|
+
Session: SessionNamespace,
|
|
678
|
+
User: UserNamespace,
|
|
679
|
+
Debug: DebugNamespace,
|
|
876
680
|
};
|
|
877
681
|
|
|
878
682
|
const OneSignalVuePlugin = {
|
|
879
683
|
install(app: typeof VueApp) {
|
|
880
|
-
app.prototype.$OneSignal =
|
|
684
|
+
app.prototype.$OneSignal = OneSignalNamespace as IOneSignalOneSignal;
|
|
881
685
|
}
|
|
882
686
|
}
|
|
883
687
|
|
|
884
688
|
export default OneSignalVuePlugin;
|
|
885
|
-
|