clevertap-react-native 0.9.2 → 0.9.4

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +5 -0
  3. package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  4. package/android/.gradle/6.1.1/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/6.1.1/gc.properties +0 -0
  7. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  8. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  9. package/android/.gradle/checksums/checksums.lock +0 -0
  10. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  11. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  12. package/android/.gradle/vcs-1/gc.properties +0 -0
  13. package/android/build.gradle +3 -3
  14. package/android/src/main/java/com/clevertap/react/CleverTapModule.java +27 -11
  15. package/clevertap-react-native.podspec +1 -1
  16. package/docs/install.md +1 -1
  17. package/docs/iospushtemplates.md +449 -0
  18. package/index.d.ts +29 -7
  19. package/index.js +10 -0
  20. package/ios/CleverTapReact/CleverTapReact.m +94 -63
  21. package/ios/CleverTapReact/CleverTapReactEventEmitter.h +0 -1
  22. package/ios/CleverTapReact/CleverTapReactEventEmitter.m +0 -2
  23. package/ios/CleverTapReact/CleverTapReactManager.h +3 -0
  24. package/ios/CleverTapReact/CleverTapReactManager.m +11 -10
  25. package/ios/CleverTapReact.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  26. package/ios/CleverTapReact.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  27. package/ios/CleverTapReact.xcodeproj/project.xcworkspace/xcuserdata/akash.malhotra.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  28. package/ios/CleverTapReact.xcodeproj/xcuserdata/akash.malhotra.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  29. package/package.json +1 -1
  30. package/static/Finder.png +0 -0
  31. package/static/GenerateSpecs.png +0 -0
  32. package/static/NotificationContent.png +0 -0
  33. package/static/NotificationContentTarget.png +0 -0
  34. package/android/local.properties +0 -8
package/index.js CHANGED
@@ -775,6 +775,16 @@ var CleverTap = {
775
775
  */
776
776
  setDebugLevel: function (level) {
777
777
  CleverTapReact.setDebugLevel(level);
778
+ },
779
+
780
+ /**
781
+ * Change the native instance of CleverTapAPI by using the instance for
782
+ * specific account. Used by Leanplum RN SDK.
783
+ *
784
+ * @param accountId The ID of the account to use when switching instance.
785
+ */
786
+ setInstanceWithAccountId: function(accountId) {
787
+ CleverTapReact.setInstanceWithAccountId(accountId);
778
788
  }
779
789
  };
780
790
 
@@ -14,11 +14,18 @@
14
14
  #import "CleverTap+FeatureFlags.h"
15
15
  #import "CleverTap+ProductConfig.h"
16
16
  #import "CleverTap+InAppNotifications.h"
17
+ #import "CleverTapInstanceConfig.h"
17
18
 
18
19
  static NSDateFormatter *dateFormatter;
19
20
 
21
+ @interface CleverTapReact()
22
+ @property CleverTap *cleverTapInstance;
23
+ @end
24
+
20
25
  @implementation CleverTapReact
21
26
 
27
+ @synthesize cleverTapInstance = _cleverTapInstance;
28
+
22
29
  RCT_EXPORT_MODULE();
23
30
 
24
31
  + (BOOL)requiresMainQueueSetup {
@@ -52,6 +59,30 @@ RCT_EXPORT_MODULE();
52
59
 
53
60
  # pragma mark - Launch
54
61
 
62
+ - (CleverTap *)cleverTapInstance {
63
+ if (_cleverTapInstance != nil) {
64
+ return _cleverTapInstance;
65
+ }
66
+ return [CleverTap sharedInstance];
67
+ }
68
+
69
+ - (void)setCleverTapInstance:(CleverTap *)instance {
70
+ _cleverTapInstance = instance;
71
+ }
72
+
73
+ RCT_EXPORT_METHOD(setInstanceWithAccountId:(NSString*)accountId) {
74
+ RCTLogInfo(@"[CleverTap setInstanceWithAccountId]");
75
+
76
+ CleverTap *instance = [CleverTap getGlobalInstance:accountId];
77
+ if (instance == nil) {
78
+ RCTLogWarn(@"CleverTapInstance not found for accountId: %@", accountId);
79
+ return;
80
+ }
81
+
82
+ [self setCleverTapInstance:instance];
83
+ [[CleverTapReactManager sharedInstance] setDelegates:instance];
84
+ }
85
+
55
86
  RCT_EXPORT_METHOD(getInitialUrl:(RCTResponseSenderBlock)callback) {
56
87
  RCTLogInfo(@"[CleverTap getInitialUrl]");
57
88
  NSString *launchDeepLink = [CleverTapReactManager sharedInstance].launchDeepLink;
@@ -89,7 +120,7 @@ RCT_EXPORT_METHOD(registerForPush) {
89
120
  RCT_EXPORT_METHOD(setPushTokenAsString:(NSString*)token withType:(NSString *)type) {
90
121
  // type is a no-op in iOS
91
122
  RCTLogInfo(@"[CleverTap setPushTokenAsString: %@]", token);
92
- [[CleverTap sharedInstance] setPushTokenAsString:token];
123
+ [[self cleverTapInstance] setPushTokenAsString:token];
93
124
  }
94
125
 
95
126
  // setPushTokenAsStringWithRegion is a no-op in iOS
@@ -114,7 +145,7 @@ RCT_EXPORT_METHOD(disablePersonalization) {
114
145
 
115
146
  RCT_EXPORT_METHOD(setOffline:(BOOL)enabled) {
116
147
  RCTLogInfo(@"[CleverTap setOffline: %i]", enabled);
117
- [[CleverTap sharedInstance] setOffline:enabled];
148
+ [[self cleverTapInstance] setOffline:enabled];
118
149
  }
119
150
 
120
151
 
@@ -122,12 +153,12 @@ RCT_EXPORT_METHOD(setOffline:(BOOL)enabled) {
122
153
 
123
154
  RCT_EXPORT_METHOD(setOptOut:(BOOL)enabled) {
124
155
  RCTLogInfo(@"[CleverTap setOptOut: %i]", enabled);
125
- [[CleverTap sharedInstance] setOptOut:enabled];
156
+ [[self cleverTapInstance] setOptOut:enabled];
126
157
  }
127
158
 
128
159
  RCT_EXPORT_METHOD(enableDeviceNetworkInfoReporting:(BOOL)enabled) {
129
160
  RCTLogInfo(@"[CleverTap enableDeviceNetworkInfoReporting: %i]", enabled);
130
- [[CleverTap sharedInstance] enableDeviceNetworkInfoReporting:enabled];
161
+ [[self cleverTapInstance] enableDeviceNetworkInfoReporting:enabled];
131
162
  }
132
163
 
133
164
 
@@ -135,47 +166,47 @@ RCT_EXPORT_METHOD(enableDeviceNetworkInfoReporting:(BOOL)enabled) {
135
166
 
136
167
  RCT_EXPORT_METHOD(recordScreenView:(NSString*)screenName) {
137
168
  RCTLogInfo(@"[CleverTap recordScreenView]");
138
- [[CleverTap sharedInstance] recordScreenView:screenName];
169
+ [[self cleverTapInstance] recordScreenView:screenName];
139
170
  }
140
171
 
141
172
  RCT_EXPORT_METHOD(recordEvent:(NSString*)eventName withProps:(NSDictionary*)props) {
142
173
  RCTLogInfo(@"[CleverTap recordEvent:withProps]");
143
- [[CleverTap sharedInstance] recordEvent:eventName withProps:props];
174
+ [[self cleverTapInstance] recordEvent:eventName withProps:props];
144
175
  }
145
176
 
146
177
  RCT_EXPORT_METHOD(recordChargedEvent:(NSDictionary*)details andItems:(NSArray*)items) {
147
178
  RCTLogInfo(@"[CleverTap recordChargedEventWithDetails:andItems:]");
148
- [[CleverTap sharedInstance] recordChargedEventWithDetails:details andItems:items];
179
+ [[self cleverTapInstance] recordChargedEventWithDetails:details andItems:items];
149
180
  }
150
181
 
151
182
  RCT_EXPORT_METHOD(eventGetFirstTime:(NSString*)eventName callback:(RCTResponseSenderBlock)callback) {
152
183
  RCTLogInfo(@"[CleverTap eventGetFirstTime: %@]", eventName);
153
- NSTimeInterval result = [[CleverTap sharedInstance] eventGetFirstTime:eventName];
184
+ NSTimeInterval result = [[self cleverTapInstance] eventGetFirstTime:eventName];
154
185
  [self returnResult:@(result) withCallback:callback andError:nil];
155
186
  }
156
187
 
157
188
  RCT_EXPORT_METHOD(eventGetLastTime:(NSString*)eventName callback:(RCTResponseSenderBlock)callback) {
158
189
  RCTLogInfo(@"[CleverTap eventGetLastTime: %@]", eventName);
159
- NSTimeInterval result = [[CleverTap sharedInstance] eventGetLastTime:eventName];
190
+ NSTimeInterval result = [[self cleverTapInstance] eventGetLastTime:eventName];
160
191
  [self returnResult:@(result) withCallback:callback andError:nil];
161
192
  }
162
193
 
163
194
  RCT_EXPORT_METHOD(eventGetOccurrences:(NSString*)eventName callback:(RCTResponseSenderBlock)callback) {
164
195
  RCTLogInfo(@"[CleverTap eventGetOccurrences: %@]", eventName);
165
- int result = [[CleverTap sharedInstance] eventGetOccurrences:eventName];
196
+ int result = [[self cleverTapInstance] eventGetOccurrences:eventName];
166
197
  [self returnResult:@(result) withCallback:callback andError:nil];
167
198
  }
168
199
 
169
200
  RCT_EXPORT_METHOD(eventGetDetail:(NSString*)eventName callback:(RCTResponseSenderBlock)callback) {
170
201
  RCTLogInfo(@"[CleverTap eventGetDetail: %@]", eventName);
171
- CleverTapEventDetail *detail = [[CleverTap sharedInstance] eventGetDetail:eventName];
202
+ CleverTapEventDetail *detail = [[self cleverTapInstance] eventGetDetail:eventName];
172
203
  NSDictionary *result = [self _eventDetailToDict:detail];
173
204
  [self returnResult:result withCallback:callback andError:nil];
174
205
  }
175
206
 
176
207
  RCT_EXPORT_METHOD(getEventHistory:(RCTResponseSenderBlock)callback) {
177
208
  RCTLogInfo(@"[CleverTap getEventHistory]");
178
- NSDictionary *history = [[CleverTap sharedInstance] userGetEventHistory];
209
+ NSDictionary *history = [[self cleverTapInstance] userGetEventHistory];
179
210
  NSMutableDictionary *result = [NSMutableDictionary new];
180
211
 
181
212
  for (NSString *eventName in [history keyEnumerator]) {
@@ -197,114 +228,114 @@ RCT_EXPORT_METHOD(setLocation:(double)latitude longitude:(double)longitude) {
197
228
 
198
229
  RCT_EXPORT_METHOD(profileGetCleverTapAttributionIdentifier:(RCTResponseSenderBlock)callback) {
199
230
  RCTLogInfo(@"[CleverTap profileGetCleverTapAttributionIdentifier]");
200
- NSString *result = [[CleverTap sharedInstance] profileGetCleverTapAttributionIdentifier];
231
+ NSString *result = [[self cleverTapInstance] profileGetCleverTapAttributionIdentifier];
201
232
  [self returnResult:result withCallback:callback andError:nil];
202
233
  }
203
234
 
204
235
  RCT_EXPORT_METHOD(profileGetCleverTapID:(RCTResponseSenderBlock)callback) {
205
236
  RCTLogInfo(@"[CleverTap profileGetCleverTapID]");
206
- NSString *result = [[CleverTap sharedInstance] profileGetCleverTapID];
237
+ NSString *result = [[self cleverTapInstance] profileGetCleverTapID];
207
238
  [self returnResult:result withCallback:callback andError:nil];
208
239
  }
209
240
 
210
241
  RCT_EXPORT_METHOD(getCleverTapID:(RCTResponseSenderBlock)callback) {
211
242
  RCTLogInfo(@"[CleverTap getCleverTapID]");
212
- NSString *result = [[CleverTap sharedInstance] profileGetCleverTapID];
243
+ NSString *result = [[self cleverTapInstance] profileGetCleverTapID];
213
244
  [self returnResult:result withCallback:callback andError:nil];
214
245
  }
215
246
 
216
247
  RCT_EXPORT_METHOD(onUserLogin:(NSDictionary*)profile) {
217
248
  RCTLogInfo(@"[CleverTap onUserLogin: %@]", profile);
218
249
  NSDictionary *_profile = [self formatProfile:profile];
219
- [[CleverTap sharedInstance] onUserLogin:_profile];
250
+ [[self cleverTapInstance] onUserLogin:_profile];
220
251
  }
221
252
 
222
253
  RCT_EXPORT_METHOD(profileSet:(NSDictionary*)profile) {
223
254
  RCTLogInfo(@"[CleverTap profileSet: %@]", profile);
224
255
  NSDictionary *_profile = [self formatProfile:profile];
225
- [[CleverTap sharedInstance] profilePush:_profile];
256
+ [[self cleverTapInstance] profilePush:_profile];
226
257
  }
227
258
 
228
259
  RCT_EXPORT_METHOD(profileGetProperty:(NSString*)propertyName callback:(RCTResponseSenderBlock)callback) {
229
260
  RCTLogInfo(@"[CleverTap profileGetProperty: %@]", propertyName);
230
- id result = [[CleverTap sharedInstance] profileGet:propertyName];
261
+ id result = [[self cleverTapInstance] profileGet:propertyName];
231
262
  [self returnResult:result withCallback:callback andError:nil];
232
263
  }
233
264
 
234
265
  RCT_EXPORT_METHOD(profileRemoveValueForKey:(NSString*)key) {
235
266
  RCTLogInfo(@"[CleverTap profileRemoveValueForKey: %@]", key);
236
- [[CleverTap sharedInstance] profileRemoveValueForKey:key];
267
+ [[self cleverTapInstance] profileRemoveValueForKey:key];
237
268
  }
238
269
 
239
270
  RCT_EXPORT_METHOD(profileSetMultiValues:(NSArray<NSString*>*)values forKey:(NSString*)key) {
240
271
  RCTLogInfo(@"[CleverTap profileSetMultiValues: %@ forKey: %@]", values, key);
241
- [[CleverTap sharedInstance] profileSetMultiValues:values forKey:key];
272
+ [[self cleverTapInstance] profileSetMultiValues:values forKey:key];
242
273
  }
243
274
 
244
275
  RCT_EXPORT_METHOD(profileAddMultiValue:(NSString*)value forKey:(NSString*)key) {
245
276
  RCTLogInfo(@"[CleverTap profileAddMultiValue: %@ forKey: %@]", value, key);
246
- [[CleverTap sharedInstance] profileAddMultiValue:value forKey:key];
277
+ [[self cleverTapInstance] profileAddMultiValue:value forKey:key];
247
278
  }
248
279
 
249
280
  RCT_EXPORT_METHOD(profileAddMultiValues:(NSArray<NSString*>*)values forKey:(NSString*)key) {
250
281
  RCTLogInfo(@"[CleverTap profileAddMultiValues: %@ forKey: %@]", values, key);
251
- [[CleverTap sharedInstance] profileAddMultiValues:values forKey:key];
282
+ [[self cleverTapInstance] profileAddMultiValues:values forKey:key];
252
283
  }
253
284
 
254
285
  RCT_EXPORT_METHOD(profileRemoveMultiValue:(NSString*)value forKey:(NSString*)key) {
255
286
  RCTLogInfo(@"[CleverTap profileRemoveMultiValue: %@ forKey: %@]", value, key);
256
- [[CleverTap sharedInstance] profileRemoveMultiValue:value forKey:key];
287
+ [[self cleverTapInstance] profileRemoveMultiValue:value forKey:key];
257
288
  }
258
289
 
259
290
  RCT_EXPORT_METHOD(profileRemoveMultiValues:(NSArray<NSString*>*)values forKey:(NSString*)key) {
260
291
  RCTLogInfo(@"[CleverTap profileRemoveMultiValues: %@ forKey: %@]", values, key);
261
- [[CleverTap sharedInstance] profileRemoveMultiValues:values forKey:key];
292
+ [[self cleverTapInstance] profileRemoveMultiValues:values forKey:key];
262
293
  }
263
294
 
264
295
  RCT_EXPORT_METHOD(profileIncrementValueForKey:(NSNumber* _Nonnull)value forKey:(NSString* _Nonnull)key) {
265
296
  RCTLogInfo(@"[CleverTap profileIncrementValueBy: %@ forKey: %@]", value, key);
266
- [[CleverTap sharedInstance] profileIncrementValueBy:value forKey:key];
297
+ [[self cleverTapInstance] profileIncrementValueBy:value forKey:key];
267
298
  }
268
299
 
269
300
  RCT_EXPORT_METHOD(profileDecrementValueForKey:(NSNumber* _Nonnull)value forKey:(NSString* _Nonnull)key) {
270
301
  RCTLogInfo(@"[CleverTap profileDecrementValueBy: %@ forKey: %@]", value, key);
271
- [[CleverTap sharedInstance] profileDecrementValueBy:value forKey:key];
302
+ [[self cleverTapInstance] profileDecrementValueBy:value forKey:key];
272
303
  }
273
304
 
274
305
  #pragma mark - Session API
275
306
 
276
307
  RCT_EXPORT_METHOD(pushInstallReferrer:(NSString*)source medium:(NSString*)medium campaign:(NSString*)campaign) {
277
308
  RCTLogInfo(@"[CleverTap pushInstallReferrer source: %@ medium: %@ campaign: %@]", source, medium, campaign);
278
- [[CleverTap sharedInstance] pushInstallReferrerSource:source medium:medium campaign:campaign];
309
+ [[self cleverTapInstance] pushInstallReferrerSource:source medium:medium campaign:campaign];
279
310
  }
280
311
 
281
312
  RCT_EXPORT_METHOD(sessionGetTimeElapsed:(RCTResponseSenderBlock)callback) {
282
313
  RCTLogInfo(@"[CleverTap sessionGetTimeElapsed]");
283
- NSTimeInterval result = [[CleverTap sharedInstance] sessionGetTimeElapsed];
314
+ NSTimeInterval result = [[self cleverTapInstance] sessionGetTimeElapsed];
284
315
  [self returnResult:@(result) withCallback:callback andError:nil];
285
316
  }
286
317
 
287
318
  RCT_EXPORT_METHOD(sessionGetTotalVisits:(RCTResponseSenderBlock)callback) {
288
319
  RCTLogInfo(@"[CleverTap sessionGetTotalVisits]");
289
- int result = [[CleverTap sharedInstance] userGetTotalVisits];
320
+ int result = [[self cleverTapInstance] userGetTotalVisits];
290
321
  [self returnResult:@(result) withCallback:callback andError:nil];
291
322
  }
292
323
 
293
324
  RCT_EXPORT_METHOD(sessionGetScreenCount:(RCTResponseSenderBlock)callback) {
294
325
  RCTLogInfo(@"[CleverTap sessionGetScreenCount]");
295
- int result = [[CleverTap sharedInstance] userGetScreenCount];
326
+ int result = [[self cleverTapInstance] userGetScreenCount];
296
327
  [self returnResult:@(result) withCallback:callback andError:nil];
297
328
  }
298
329
 
299
330
  RCT_EXPORT_METHOD(sessionGetPreviousVisitTime:(RCTResponseSenderBlock)callback) {
300
331
  RCTLogInfo(@"[CleverTap sessionGetPreviousVisitTime]");
301
- NSTimeInterval result = [[CleverTap sharedInstance] userGetPreviousVisitTime];
332
+ NSTimeInterval result = [[self cleverTapInstance] userGetPreviousVisitTime];
302
333
  [self returnResult:@(result) withCallback:callback andError:nil];
303
334
  }
304
335
 
305
336
  RCT_EXPORT_METHOD(sessionGetUTMDetails:(RCTResponseSenderBlock)callback) {
306
337
  RCTLogInfo(@"[CleverTap sessionGetUTMDetails]");
307
- CleverTapUTMDetail *detail = [[CleverTap sharedInstance] sessionGetUTMDetails];
338
+ CleverTapUTMDetail *detail = [[self cleverTapInstance] sessionGetUTMDetails];
308
339
  NSDictionary *result = [self _utmDetailToDict:detail];
309
340
  [self returnResult:result withCallback:callback andError:nil];
310
341
  }
@@ -449,19 +480,19 @@ RCT_EXPORT_METHOD(setDebugLevel:(int)level) {
449
480
 
450
481
  RCT_EXPORT_METHOD(getInboxMessageCount:(RCTResponseSenderBlock)callback) {
451
482
  RCTLogInfo(@"[CleverTap inboxMessageCount]");
452
- int result = (int)[[CleverTap sharedInstance] getInboxMessageCount];
483
+ int result = (int)[[self cleverTapInstance] getInboxMessageCount];
453
484
  [self returnResult:@(result) withCallback:callback andError:nil];
454
485
  }
455
486
 
456
487
  RCT_EXPORT_METHOD(getInboxMessageUnreadCount:(RCTResponseSenderBlock)callback) {
457
488
  RCTLogInfo(@"[CleverTap inboxMessageUnreadCount]");
458
- int result = (int)[[CleverTap sharedInstance] getInboxMessageUnreadCount];
489
+ int result = (int)[[self cleverTapInstance] getInboxMessageUnreadCount];
459
490
  [self returnResult:@(result) withCallback:callback andError:nil];
460
491
  }
461
492
 
462
493
  RCT_EXPORT_METHOD(getAllInboxMessages:(RCTResponseSenderBlock)callback) {
463
494
  RCTLogInfo(@"[CleverTap getAllInboxMessages]");
464
- NSArray<CleverTapInboxMessage *> *messageList = [[CleverTap sharedInstance] getAllInboxMessages];
495
+ NSArray<CleverTapInboxMessage *> *messageList = [[self cleverTapInstance] getAllInboxMessages];
465
496
  NSMutableArray *allMessages = [NSMutableArray new];
466
497
  for (CleverTapInboxMessage *message in messageList) {
467
498
  [allMessages addObject:message.json];
@@ -472,7 +503,7 @@ RCT_EXPORT_METHOD(getAllInboxMessages:(RCTResponseSenderBlock)callback) {
472
503
 
473
504
  RCT_EXPORT_METHOD(getUnreadInboxMessages:(RCTResponseSenderBlock)callback) {
474
505
  RCTLogInfo(@"[CleverTap getUnreadInboxMessages]");
475
- NSArray<CleverTapInboxMessage *> *messageList = [[CleverTap sharedInstance] getUnreadInboxMessages];
506
+ NSArray<CleverTapInboxMessage *> *messageList = [[self cleverTapInstance] getUnreadInboxMessages];
476
507
  NSMutableArray *unreadMessages = [NSMutableArray new];
477
508
  for (CleverTapInboxMessage *message in messageList) {
478
509
  [unreadMessages addObject:message.json];
@@ -483,38 +514,38 @@ RCT_EXPORT_METHOD(getUnreadInboxMessages:(RCTResponseSenderBlock)callback) {
483
514
 
484
515
  RCT_EXPORT_METHOD(getInboxMessageForId:(NSString*)messageId callback:(RCTResponseSenderBlock)callback) {
485
516
  RCTLogInfo(@"[CleverTap getInboxMessageForId]");
486
- CleverTapInboxMessage * message = [[CleverTap sharedInstance] getInboxMessageForId:messageId];
517
+ CleverTapInboxMessage * message = [[self cleverTapInstance] getInboxMessageForId:messageId];
487
518
  NSDictionary *result = message.json;
488
519
  [self returnResult:result withCallback:callback andError:nil];
489
520
  }
490
521
 
491
522
  RCT_EXPORT_METHOD(pushInboxNotificationViewedEventForId:(NSString*)messageId) {
492
523
  RCTLogInfo(@"[CleverTap pushInboxNotificationViewedEventForId]");
493
- [[CleverTap sharedInstance] recordInboxNotificationViewedEventForID:messageId];
524
+ [[self cleverTapInstance] recordInboxNotificationViewedEventForID:messageId];
494
525
  }
495
526
 
496
527
  RCT_EXPORT_METHOD(pushInboxNotificationClickedEventForId:(NSString*)messageId) {
497
528
  RCTLogInfo(@"[CleverTap pushInboxNotificationClickedEventForId]");
498
- [[CleverTap sharedInstance] recordInboxNotificationClickedEventForID:messageId];
529
+ [[self cleverTapInstance] recordInboxNotificationClickedEventForID:messageId];
499
530
  }
500
531
 
501
532
  RCT_EXPORT_METHOD(markReadInboxMessageForId:(NSString*)messageId) {
502
533
  RCTLogInfo(@"[CleverTap markReadInboxMessageForId]");
503
- [[CleverTap sharedInstance] markReadInboxMessageForID:messageId];
534
+ [[self cleverTapInstance] markReadInboxMessageForID:messageId];
504
535
  }
505
536
 
506
537
  RCT_EXPORT_METHOD(deleteInboxMessageForId:(NSString*)messageId) {
507
538
  RCTLogInfo(@"[CleverTap deleteInboxMessageForId]");
508
- [[CleverTap sharedInstance] deleteInboxMessageForID:messageId];
539
+ [[self cleverTapInstance] deleteInboxMessageForID:messageId];
509
540
  }
510
541
 
511
542
  RCT_EXPORT_METHOD(initializeInbox) {
512
543
  RCTLogInfo(@"[CleverTap Inbox Initialize]");
513
- [[CleverTap sharedInstance] initializeInboxWithCallback:^(BOOL success) {
544
+ [[self cleverTapInstance] initializeInboxWithCallback:^(BOOL success) {
514
545
  if (success) {
515
546
  RCTLogInfo(@"[Inbox initialized]");
516
547
  [[NSNotificationCenter defaultCenter] postNotificationName:kCleverTapInboxDidInitialize object:nil userInfo:nil];
517
- [[CleverTap sharedInstance] registerInboxUpdatedBlock:^{
548
+ [[self cleverTapInstance] registerInboxUpdatedBlock:^{
518
549
  RCTLogInfo(@"[Inbox updated]");
519
550
  [[NSNotificationCenter defaultCenter] postNotificationName:kCleverTapInboxMessagesDidUpdate object:nil userInfo:nil];
520
551
  }];
@@ -524,7 +555,7 @@ RCT_EXPORT_METHOD(initializeInbox) {
524
555
 
525
556
  RCT_EXPORT_METHOD(showInbox:(NSDictionary*)styleConfig) {
526
557
  RCTLogInfo(@"[CleverTap Show Inbox]");
527
- CleverTapInboxViewController *inboxController = [[CleverTap sharedInstance] newInboxViewControllerWithConfig:[self _dictToInboxStyleConfig:styleConfig? styleConfig : nil] andDelegate:(id <CleverTapInboxViewControllerDelegate>)self];
558
+ CleverTapInboxViewController *inboxController = [[self cleverTapInstance] newInboxViewControllerWithConfig:[self _dictToInboxStyleConfig:styleConfig? styleConfig : nil] andDelegate:(id <CleverTapInboxViewControllerDelegate>)self];
528
559
  if (inboxController) {
529
560
  UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:inboxController];
530
561
  UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
@@ -624,7 +655,7 @@ RCT_EXPORT_METHOD(showInbox:(NSDictionary*)styleConfig) {
624
655
 
625
656
  RCT_EXPORT_METHOD(getAllDisplayUnits:(RCTResponseSenderBlock)callback) {
626
657
  RCTLogInfo(@"[CleverTap getAllDisplayUnits]");
627
- NSArray <CleverTapDisplayUnit*> *units = [[CleverTap sharedInstance] getAllDisplayUnits];
658
+ NSArray <CleverTapDisplayUnit*> *units = [[self cleverTapInstance] getAllDisplayUnits];
628
659
  NSMutableArray *displayUnits = [NSMutableArray new];
629
660
  for (CleverTapDisplayUnit *unit in units) {
630
661
  [displayUnits addObject:unit.json];
@@ -635,19 +666,19 @@ RCT_EXPORT_METHOD(getAllDisplayUnits:(RCTResponseSenderBlock)callback) {
635
666
 
636
667
  RCT_EXPORT_METHOD(getDisplayUnitForId:(NSString*)unitId callback:(RCTResponseSenderBlock)callback) {
637
668
  RCTLogInfo(@"[CleverTap getDisplayUnitForId]");
638
- CleverTapDisplayUnit * displayUnit = [[CleverTap sharedInstance] getDisplayUnitForID:unitId];
669
+ CleverTapDisplayUnit * displayUnit = [[self cleverTapInstance] getDisplayUnitForID:unitId];
639
670
  NSDictionary *result = displayUnit.json;
640
671
  [self returnResult:result withCallback:callback andError:nil];
641
672
  }
642
673
 
643
674
  RCT_EXPORT_METHOD(pushDisplayUnitViewedEventForID:(NSString*)unitId) {
644
675
  RCTLogInfo(@"[CleverTap pushDisplayUnitViewedEventForID]");
645
- [[CleverTap sharedInstance] recordDisplayUnitViewedEventForID:unitId];
676
+ [[self cleverTapInstance] recordDisplayUnitViewedEventForID:unitId];
646
677
  }
647
678
 
648
679
  RCT_EXPORT_METHOD(pushDisplayUnitClickedEventForID:(NSString*)unitId) {
649
680
  RCTLogInfo(@"[CleverTap pushDisplayUnitClickedEventForID]");
650
- [[CleverTap sharedInstance] recordDisplayUnitClickedEventForID:unitId];
681
+ [[self cleverTapInstance] recordDisplayUnitClickedEventForID:unitId];
651
682
  }
652
683
 
653
684
 
@@ -655,7 +686,7 @@ RCT_EXPORT_METHOD(pushDisplayUnitClickedEventForID:(NSString*)unitId) {
655
686
 
656
687
  RCT_EXPORT_METHOD(getFeatureFlag:(NSString*)flag withdefaultValue:(BOOL)defaultValue callback:(RCTResponseSenderBlock)callback) {
657
688
  RCTLogInfo(@"[CleverTap getFeatureFlag]");
658
- BOOL result = [[[CleverTap sharedInstance] featureFlags] get:flag withDefaultValue:defaultValue];
689
+ BOOL result = [[[self cleverTapInstance] featureFlags] get:flag withDefaultValue:defaultValue];
659
690
  [self returnResult:@(result) withCallback:callback andError:nil];
660
691
  }
661
692
 
@@ -664,78 +695,78 @@ RCT_EXPORT_METHOD(getFeatureFlag:(NSString*)flag withdefaultValue:(BOOL)defaultV
664
695
 
665
696
  RCT_EXPORT_METHOD(setDefaultsMap:(NSDictionary*)jsonDict) {
666
697
  RCTLogInfo(@"[CleverTap setDefaultsMap]");
667
- [[[CleverTap sharedInstance] productConfig] setDefaults:jsonDict];
698
+ [[[self cleverTapInstance] productConfig] setDefaults:jsonDict];
668
699
  }
669
700
 
670
701
  RCT_EXPORT_METHOD(fetch) {
671
702
  RCTLogInfo(@"[CleverTap ProductConfig Fetch]");
672
- [[[CleverTap sharedInstance] productConfig] fetch];
703
+ [[[self cleverTapInstance] productConfig] fetch];
673
704
  }
674
705
 
675
706
  RCT_EXPORT_METHOD(fetchWithMinimumFetchIntervalInSeconds:(double)time) {
676
707
  RCTLogInfo(@"[CleverTap ProductConfig Fetch with minimum Interval]");
677
- [[[CleverTap sharedInstance] productConfig] fetchWithMinimumInterval: time];
708
+ [[[self cleverTapInstance] productConfig] fetchWithMinimumInterval: time];
678
709
  }
679
710
 
680
711
  RCT_EXPORT_METHOD(activate) {
681
712
  RCTLogInfo(@"[CleverTap ProductConfig Activate]");
682
- [[[CleverTap sharedInstance] productConfig] activate];
713
+ [[[self cleverTapInstance] productConfig] activate];
683
714
  }
684
715
 
685
716
  RCT_EXPORT_METHOD(fetchAndActivate) {
686
717
  RCTLogInfo(@"[CleverTap ProductConfig Fetch and Activate]");
687
- [[[CleverTap sharedInstance] productConfig] fetchAndActivate];
718
+ [[[self cleverTapInstance] productConfig] fetchAndActivate];
688
719
  }
689
720
 
690
721
  RCT_EXPORT_METHOD(setMinimumFetchIntervalInSeconds:(double)time) {
691
722
  RCTLogInfo(@"[CleverTap ProductConfig Minimum Time Interval Setup]");
692
- [[[CleverTap sharedInstance] productConfig] setMinimumFetchInterval: time];
723
+ [[[self cleverTapInstance] productConfig] setMinimumFetchInterval: time];
693
724
  }
694
725
 
695
726
  RCT_EXPORT_METHOD(getLastFetchTimeStampInMillis:(RCTResponseSenderBlock)callback) {
696
727
  RCTLogInfo(@"[CleverTap Last Fetch Config time]");
697
- NSTimeInterval result = [[[[CleverTap sharedInstance] productConfig] getLastFetchTimeStamp] timeIntervalSince1970] * 1000;
728
+ NSTimeInterval result = [[[[self cleverTapInstance] productConfig] getLastFetchTimeStamp] timeIntervalSince1970] * 1000;
698
729
  [self returnResult: @(result) withCallback: callback andError:nil];
699
730
  }
700
731
 
701
732
  RCT_EXPORT_METHOD(getString:(NSString*)key callback:(RCTResponseSenderBlock)callback) {
702
733
  RCTLogInfo(@"[CleverTap fetch String value for Key]");
703
- NSString *result = [[[CleverTap sharedInstance] productConfig] get:key].stringValue;
734
+ NSString *result = [[[self cleverTapInstance] productConfig] get:key].stringValue;
704
735
  [self returnResult: result withCallback: callback andError:nil];
705
736
  }
706
737
 
707
738
  RCT_EXPORT_METHOD(getBoolean:(NSString*)key callback:(RCTResponseSenderBlock)callback) {
708
739
  RCTLogInfo(@"[CleverTap fetch Bool value for Key]");
709
- BOOL result = [[[CleverTap sharedInstance] productConfig] get:key].boolValue;
740
+ BOOL result = [[[self cleverTapInstance] productConfig] get:key].boolValue;
710
741
  [self returnResult: @(result) withCallback: callback andError:nil];
711
742
  }
712
743
 
713
744
  RCT_EXPORT_METHOD(getDouble:(NSString*)key callback:(RCTResponseSenderBlock)callback) {
714
745
  RCTLogInfo(@"[CleverTap fetch Double value for Key]");
715
- long result = [[[CleverTap sharedInstance] productConfig] get:key].numberValue.doubleValue;
746
+ long result = [[[self cleverTapInstance] productConfig] get:key].numberValue.doubleValue;
716
747
  [self returnResult: @(result) withCallback: callback andError:nil];
717
748
  }
718
749
 
719
750
  RCT_EXPORT_METHOD(reset) {
720
751
  RCTLogInfo(@"[CleverTap ProductConfig Reset]");
721
- [[[CleverTap sharedInstance] productConfig] reset];
752
+ [[[self cleverTapInstance] productConfig] reset];
722
753
  }
723
754
 
724
755
  #pragma mark - InApp Notification Controls
725
756
 
726
757
  RCT_EXPORT_METHOD(suspendInAppNotifications) {
727
758
  RCTLogInfo(@"[CleverTap suspendInAppNotifications");
728
- [[CleverTap sharedInstance] suspendInAppNotifications];
759
+ [[self cleverTapInstance] suspendInAppNotifications];
729
760
  }
730
761
 
731
762
  RCT_EXPORT_METHOD(discardInAppNotifications) {
732
763
  RCTLogInfo(@"[CleverTap discardInAppNotifications");
733
- [[CleverTap sharedInstance] discardInAppNotifications];
764
+ [[self cleverTapInstance] discardInAppNotifications];
734
765
  }
735
766
 
736
767
  RCT_EXPORT_METHOD(resumeInAppNotifications) {
737
768
  RCTLogInfo(@"[CleverTap resumeInAppNotifications");
738
- [[CleverTap sharedInstance] resumeInAppNotifications];
769
+ [[self cleverTapInstance] resumeInAppNotifications];
739
770
  }
740
771
 
741
772
  @end
@@ -1,4 +1,3 @@
1
-
2
1
  #import <React/RCTEventEmitter.h>
3
2
 
4
3
  @interface CleverTapReactEventEmitter : RCTEventEmitter
@@ -1,6 +1,4 @@
1
-
2
1
  #import "CleverTapReactEventEmitter.h"
3
- #import "CleverTapReactManager.h"
4
2
  #import "CleverTapReact.h"
5
3
 
6
4
  #import <React/RCTLog.h>
@@ -1,4 +1,5 @@
1
1
  #import <Foundation/Foundation.h>
2
+ #import "CleverTap.h"
2
3
 
3
4
  @interface CleverTapReactManager : NSObject
4
5
 
@@ -6,6 +7,8 @@
6
7
 
7
8
  - (void)applicationDidLaunchWithOptions:(NSDictionary *)options;
8
9
 
10
+ - (void)setDelegates:(CleverTap *)cleverTapInstance;
11
+
9
12
  @property NSString *launchDeepLink;
10
13
 
11
14
  @end
@@ -1,11 +1,9 @@
1
-
2
1
  #import "CleverTapReactManager.h"
3
2
  #import "CleverTapReact.h"
4
3
 
5
4
  #import <UIKit/UIKit.h>
6
5
  #import <React/RCTLog.h>
7
6
 
8
- #import "CleverTap.h"
9
7
  #import "CleverTap+Inbox.h"
10
8
  #import "CleverTapUTMDetail.h"
11
9
  #import "CleverTapEventDetail.h"
@@ -36,17 +34,21 @@
36
34
  self = [super init];
37
35
  if (self) {
38
36
  CleverTap *clevertap = [CleverTap sharedInstance];
39
- [clevertap setSyncDelegate:self];
40
- [clevertap setInAppNotificationDelegate:self];
41
- [clevertap setDisplayUnitDelegate:self];
42
- [clevertap setPushNotificationDelegate:self];
43
- [[clevertap featureFlags] setDelegate:self];
44
- [[clevertap productConfig] setDelegate:self];
45
- [clevertap setLibrary:@"React-Native"];
37
+ [self setDelegates:clevertap];
46
38
  }
47
39
  return self;
48
40
  }
49
41
 
42
+ - (void)setDelegates:(CleverTap *)cleverTapInstance {
43
+ [cleverTapInstance setSyncDelegate:self];
44
+ [cleverTapInstance setInAppNotificationDelegate:self];
45
+ [cleverTapInstance setDisplayUnitDelegate:self];
46
+ [cleverTapInstance setPushNotificationDelegate:self];
47
+ [[cleverTapInstance featureFlags] setDelegate:self];
48
+ [[cleverTapInstance productConfig] setDelegate:self];
49
+ [cleverTapInstance setLibrary:@"React-Native"];
50
+ }
51
+
50
52
  - (void)applicationDidLaunchWithOptions:(NSDictionary *)options {
51
53
  NSDictionary *notification = [options valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
52
54
  if (notification && notification[@"wzrk_dl"]) {
@@ -55,7 +57,6 @@
55
57
  }
56
58
  }
57
59
 
58
-
59
60
  #pragma mark - Private
60
61
 
61
62
  - (void)postNotificationWithName:(NSString *)name andBody:(NSDictionary *)body {
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>CleverTapReact.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clevertap-react-native",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "CleverTap React Native SDK.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
Binary file
Binary file
Binary file
@@ -1,8 +0,0 @@
1
- ## This file must *NOT* be checked into Version Control Systems,
2
- # as it contains information specific to your local configuration.
3
- #
4
- # Location of the SDK. This is only used by Gradle.
5
- # For customization when using a Version Control System, please read the
6
- # header note.
7
- #Wed Sep 07 13:41:26 IST 2022
8
- sdk.dir=/Users/ansh/Library/Android/sdk