|
39 | 39 | NSString * const BRANCH_PREFS_KEY_CREDIT_BASE = @"bnc_credit_base_"; |
40 | 40 |
|
41 | 41 | NSString * const BRANCH_PREFS_KEY_BRANCH_VIEW_USAGE_CNT = @"bnc_branch_view_usage_cnt_"; |
| 42 | +NSString * const BRANCH_PREFS_KEY_ANALYTICAL_DATA = @"bnc_branch_analytical_data"; |
| 43 | +NSString * const BRANCH_PREFS_KEY_ANALYTICS_MANIFEST = @"bnc_branch_analytics_manifest"; |
42 | 44 |
|
43 | 45 | // The name of this key was specified in the account-creation API integration |
44 | 46 | static NSString * const BNC_BRANCH_FABRIC_APP_KEY_KEY = @"branch_key"; |
@@ -545,6 +547,45 @@ - (NSInteger)getBranchViewCount:(NSString *)branchViewID { |
545 | 547 | return count; |
546 | 548 | } |
547 | 549 |
|
| 550 | +- (void)saveBranchAnalyticsData:(NSDictionary *)analyticsData { |
| 551 | + if (_sessionID) { |
| 552 | + if (!_savedAnalyticsData) { |
| 553 | + _savedAnalyticsData = [self getBranchAnalyticsData]; |
| 554 | + } |
| 555 | + NSMutableArray *viewDataArray = [_savedAnalyticsData objectForKey:_sessionID]; |
| 556 | + if (!viewDataArray) { |
| 557 | + viewDataArray = [[NSMutableArray alloc] init]; |
| 558 | + [_savedAnalyticsData setObject:viewDataArray forKey:_sessionID]; |
| 559 | + } |
| 560 | + [viewDataArray addObject:analyticsData]; |
| 561 | + [self writeObjectToDefaults:BRANCH_PREFS_KEY_ANALYTICAL_DATA value:_savedAnalyticsData]; |
| 562 | + } |
| 563 | +} |
| 564 | + |
| 565 | +- (void)clearBranchAnalyticsData { |
| 566 | + [self writeObjectToDefaults:BRANCH_PREFS_KEY_ANALYTICAL_DATA value:nil]; |
| 567 | + _savedAnalyticsData = nil; |
| 568 | +} |
| 569 | + |
| 570 | +- (NSMutableDictionary *)getBranchAnalyticsData { |
| 571 | + NSMutableDictionary *analyticsDataObj = _savedAnalyticsData; |
| 572 | + if (!analyticsDataObj) { |
| 573 | + analyticsDataObj = (NSMutableDictionary *)[self readObjectFromDefaults:BRANCH_PREFS_KEY_ANALYTICAL_DATA]; |
| 574 | + if (!analyticsDataObj) { |
| 575 | + analyticsDataObj = [[NSMutableDictionary alloc] init]; |
| 576 | + } |
| 577 | + } |
| 578 | + return analyticsDataObj; |
| 579 | +} |
| 580 | + |
| 581 | +- (void)saveContentAnalyticsManifest:(NSDictionary *)cdManifest { |
| 582 | + [self writeObjectToDefaults:BRANCH_PREFS_KEY_ANALYTICS_MANIFEST value:cdManifest]; |
| 583 | +} |
| 584 | + |
| 585 | +- (NSDictionary *)getContentAnalyticsManifest { |
| 586 | + return (NSDictionary *)[self readObjectFromDefaults:BRANCH_PREFS_KEY_ANALYTICS_MANIFEST]; |
| 587 | +} |
| 588 | + |
548 | 589 | #pragma mark - Writing To Persistence |
549 | 590 |
|
550 | 591 | - (void)writeIntegerToDefaults:(NSString *)key value:(NSInteger)value { |
|
0 commit comments