@@ -12,9 +12,10 @@ let isOneSignalScriptFailed = false;
12
12
13
13
const VueApp : any = Vue ;
14
14
15
- window . OneSignalDeferred = window . OneSignalDeferred || [ ] ;
16
-
17
- addSDKScript ( ) ;
15
+ if ( window ) {
16
+ window . OneSignalDeferred = window . OneSignalDeferred || [ ] ;
17
+ addSDKScript ( ) ;
18
+ }
18
19
19
20
/* H E L P E R S */
20
21
@@ -201,6 +202,10 @@ interface IOneSignalUser {
201
202
removeEmail ( email : string ) : void ;
202
203
addSms ( smsNumber : string ) : void ;
203
204
removeSms ( smsNumber : string ) : void ;
205
+ addTag ( key : string , value : string ) : void ;
206
+ addTags ( tags : { [ key : string ] : string } ) : void ;
207
+ removeTag ( key : string ) : void ;
208
+ removeTags ( keys : string [ ] ) : void ;
204
209
}
205
210
interface IOneSignalPushSubscription {
206
211
id : string | null | undefined ;
@@ -562,6 +567,30 @@ function userRemoveSms(smsNumber: string): void {
562
567
} ) ;
563
568
}
564
569
570
+ function userAddTag ( key : string , value : string ) : void {
571
+ window . OneSignalDeferred ?. push ( ( OneSignal ) => {
572
+ OneSignal . User . addTag ( key , value )
573
+ } ) ;
574
+ }
575
+
576
+ function userAddTags ( tags : { [ key : string ] : string } ) : void {
577
+ window . OneSignalDeferred ?. push ( ( OneSignal ) => {
578
+ OneSignal . User . addTags ( tags )
579
+ } ) ;
580
+ }
581
+
582
+ function userRemoveTag ( key : string ) : void {
583
+ window . OneSignalDeferred ?. push ( ( OneSignal ) => {
584
+ OneSignal . User . removeTag ( key )
585
+ } ) ;
586
+ }
587
+
588
+ function userRemoveTags ( keys : string [ ] ) : void {
589
+ window . OneSignalDeferred ?. push ( ( OneSignal ) => {
590
+ OneSignal . User . removeTags ( keys )
591
+ } ) ;
592
+ }
593
+
565
594
function pushSubscriptionOptIn ( ) : Promise < void > {
566
595
return new Promise ( function ( resolve , reject ) {
567
596
if ( isOneSignalScriptFailed ) {
@@ -634,6 +663,10 @@ const UserNamespace: IOneSignalUser = {
634
663
removeEmail : userRemoveEmail ,
635
664
addSms : userAddSms ,
636
665
removeSms : userRemoveSms ,
666
+ addTag : userAddTag ,
667
+ addTags : userAddTags ,
668
+ removeTag : userRemoveTag ,
669
+ removeTags : userRemoveTags ,
637
670
PushSubscription : PushSubscriptionNamespace ,
638
671
} ;
639
672
0 commit comments