|
12 | 12 | #import "BranchConstants.h" |
13 | 13 | #import "BNCEncodingUtils.h" |
14 | 14 | #import "BranchViewHandler.h" |
| 15 | +#import "BNCFabricAnswers.h" |
15 | 16 |
|
16 | 17 | @interface BranchOpenRequest () |
17 | 18 |
|
@@ -80,32 +81,35 @@ - (void)processResponse:(BNCServerResponse *)response error:(NSError *)error { |
80 | 81 | preferenceHelper.userUrl = data[BRANCH_RESPONSE_KEY_USER_URL]; |
81 | 82 | preferenceHelper.userIdentity = userIdentity; |
82 | 83 | preferenceHelper.sessionID = data[BRANCH_RESPONSE_KEY_SESSION_ID]; |
83 | | - |
84 | 84 | [BNCSystemObserver setUpdateState]; |
85 | 85 |
|
86 | 86 | NSString *sessionData = data[BRANCH_RESPONSE_KEY_SESSION_DATA]; |
87 | 87 |
|
88 | 88 | // Update session params |
89 | 89 | preferenceHelper.sessionParams = sessionData; |
90 | | - |
| 90 | + |
91 | 91 | // Scenarios: |
92 | 92 | // If no data, data isn't from a link click, or isReferrable is false, don't set, period. |
93 | 93 | // Otherwise, |
94 | 94 | // * On Install: set. |
95 | 95 | // * On Open and installParams set: don't set. |
96 | 96 | // * On Open and stored installParams are empty: set. |
97 | | - if (sessionData.length && preferenceHelper.isReferrable) { |
| 97 | + if (sessionData.length) { |
98 | 98 | NSDictionary *sessionDataDict = [BNCEncodingUtils decodeJsonStringToDictionary:sessionData]; |
99 | 99 | BOOL dataIsFromALinkClick = [sessionDataDict[BRANCH_RESPONSE_KEY_CLICKED_BRANCH_LINK] isEqual:@1]; |
100 | | - |
101 | 100 | BOOL storedParamsAreEmpty = YES; |
| 101 | + |
102 | 102 | if ([preferenceHelper.installParams isKindOfClass:[NSString class]]) { |
103 | 103 | storedParamsAreEmpty = !preferenceHelper.installParams.length; |
104 | 104 | } |
105 | 105 |
|
106 | 106 | if (dataIsFromALinkClick && (self.isInstall || storedParamsAreEmpty)) { |
107 | 107 | preferenceHelper.installParams = sessionData; |
108 | 108 | } |
| 109 | + |
| 110 | + if (dataIsFromALinkClick) { |
| 111 | + [BNCFabricAnswers sendEventWithName:[@"Branch " stringByAppendingString:[[self getActionName] capitalizedString]] andAttributes:sessionDataDict]; |
| 112 | + } |
109 | 113 | } |
110 | 114 |
|
111 | 115 | // Clear link identifiers so they don't get reused on the next open |
|
0 commit comments