Skip to content

Commit a944c52

Browse files
committed
Add iOS implementation
- new methods updateUserJwt and addUserJwtInvalidatedListener added to the bridge
1 parent eb4de36 commit a944c52

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

ios/RCTOneSignal/RCTOneSignal.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ - (void)onDidDismissInAppMessage:(OSInAppMessageDidDismissEvent * _Nonnull)event
150150
[self sendEvent:OSEventString(InAppMessageDidDismiss) withBody:[event jsonRepresentation]];
151151
}
152152

153+
- (void)onUserJwtInvalidated:(OSUserJwtInvalidatedEvent * _Nonnull)event {
154+
[self sendEvent:OSEventString(UserJwtInvalidated) withBody:[event jsonRepresentation]];
155+
}
156+
153157
- (void)dealloc {
154158
[[NSNotificationCenter defaultCenter] removeObserver:self];
155159
}

ios/RCTOneSignal/RCTOneSignalEventEmitter.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ typedef NS_ENUM(NSInteger, OSNotificationEventTypes) {
2323
InAppMessageDidDisplay,
2424
InAppMessageWillDismiss,
2525
InAppMessageDidDismiss,
26+
UserJwtInvalidated,
2627
};
2728

28-
#define OSNotificationEventTypesArray @[@"OneSignal-permissionChanged",@"OneSignal-subscriptionChanged",@"OneSignal-userStateChanged",@"OneSignal-notificationWillDisplayInForeground",@"OneSignal-notificationClicked",@"OneSignal-inAppMessageClicked", @"OneSignal-inAppMessageWillDisplay", @"OneSignal-inAppMessageDidDisplay", @"OneSignal-inAppMessageWillDismiss", @"OneSignal-inAppMessageDidDismiss"]
29+
#define OSNotificationEventTypesArray @[@"OneSignal-permissionChanged",@"OneSignal-subscriptionChanged",@"OneSignal-userStateChanged",@"OneSignal-notificationWillDisplayInForeground",@"OneSignal-notificationClicked",@"OneSignal-inAppMessageClicked", @"OneSignal-inAppMessageWillDisplay", @"OneSignal-inAppMessageDidDisplay", @"OneSignal-inAppMessageWillDismiss", @"OneSignal-inAppMessageDidDismiss", @"OneSignal-userJwtInvalidated"]
2930

3031
#define OSEventString(enum) [OSNotificationEventTypesArray objectAtIndex:enum]
3132

ios/RCTOneSignal/RCTOneSignalEventEmitter.m

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ @implementation RCTOneSignalEventEmitter {
1515
BOOL _hasAddedNotificationForegroundLifecycleListener;
1616
BOOL _hasAddedInAppMessageClickListener;
1717
BOOL _hasAddedInAppMessageLifecycleListener;
18+
BOOL _hasAddedUserJwtInvalidatedListener;
1819
NSMutableDictionary* _preventDefaultCache;
1920
NSMutableDictionary* _notificationWillDisplayCache;
2021
}
@@ -104,14 +105,25 @@ + (void)sendEventWithName:(NSString *)name withBody:(NSDictionary *)body {
104105
[OneSignal initialize:appId withLaunchOptions:NULL];
105106
}
106107

107-
RCT_EXPORT_METHOD(login:(NSString *)externalId) {
108-
[OneSignal login:externalId];
108+
RCT_EXPORT_METHOD(login:(NSString *)externalId jwtToken:(NSString *)jwtToken) {
109+
[OneSignal login:externalId withToken:jwtToken];
109110
}
110111

111112
RCT_EXPORT_METHOD(logout) {
112113
[OneSignal logout];
113114
}
114115

116+
RCT_EXPORT_METHOD(updateUserJwt:(NSString *)externalId jwtToken:(NSString *)jwtToken) {
117+
[OneSignal updateUserJwt:externalId withToken:jwtToken];
118+
}
119+
120+
RCT_EXPORT_METHOD(addUserJwtInvalidatedListener) {
121+
if (!_hasAddedUserJwtInvalidatedListener) {
122+
[OneSignal addUserJwtInvalidatedListener:[RCTOneSignal sharedInstance]];
123+
_hasAddedUserJwtInvalidatedListener = true;
124+
}
125+
}
126+
115127
RCT_EXPORT_METHOD(enterLiveActivity:(NSString *)activityId
116128
withToken:(NSString *)token
117129
withResponse:(RCTResponseSenderBlock)callback) {

0 commit comments

Comments
 (0)