@@ -101,6 +101,9 @@ - (void)genericHTTPRequest:(NSURLRequest *)request retryNumber:(NSInteger)retryN
101101 NSURLRequest *retryRequest = retryHandler (retryNumber);
102102 [self genericHTTPRequest: retryRequest retryNumber: (retryNumber + 1 ) log: log callback: callback retryHandler: retryHandler];
103103 });
104+
105+ // Do not continue on if retrying, else the callback will be called incorrectly
106+ return ;
104107 }
105108 else if (callback) {
106109 // Wrap up bad statuses w/ specific error messages
@@ -123,7 +126,7 @@ - (void)genericHTTPRequest:(NSURLRequest *)request retryNumber:(NSInteger)retryN
123126 }
124127 dispatch_async (dispatch_get_main_queue (), ^{
125128 if (callback)
126- callback (serverResponse, error);
129+ callback (serverResponse, error);
127130 });
128131 };
129132
@@ -214,6 +217,11 @@ - (NSDictionary *)prepareParamDict:(NSDictionary *)params key:(NSString *)key re
214217 fullParamDict[@" sdk" ] = [NSString stringWithFormat: @" ios%@ " , SDK_VERSION];
215218 fullParamDict[@" retryNumber" ] = @(retryNumber);
216219
220+ NSMutableDictionary *metadata = [[NSMutableDictionary alloc ] init ];
221+ [metadata addEntriesFromDictionary: self .preferenceHelper.requestMetadataDictionary];
222+ [metadata addEntriesFromDictionary: fullParamDict[BRANCH_REQUEST_KEY_STATE]];
223+ fullParamDict[BRANCH_REQUEST_KEY_STATE] = metadata;
224+
217225 if ([key hasPrefix: @" key_" ]) {
218226 fullParamDict[@" branch_key" ] = key;
219227 }
@@ -248,9 +256,11 @@ - (void)updateDeviceInfoToMutableDictionary:(NSMutableDictionary *)dict {
248256
249257 if (deviceInfo.hardwareId ) {
250258 dict[BRANCH_REQUEST_KEY_HARDWARE_ID] = deviceInfo.hardwareId ;
259+ dict[BRANCH_REQUEST_KEY_HARDWARE_ID_TYPE] = deviceInfo.hardwareIdType ;
251260 dict[BRANCH_REQUEST_KEY_IS_HARDWARE_ID_REAL] = @(deviceInfo.isRealHardwareId );
252261 }
253262
263+ [self safeSetValue: deviceInfo.vendorId forKey: BRANCH_REQUEST_KEY_IOS_VENDOR_ID onDict: dict];
254264 [self safeSetValue: deviceInfo.brandName forKey: BRANCH_REQUEST_KEY_BRAND onDict: dict];
255265 [self safeSetValue: deviceInfo.modelName forKey: BRANCH_REQUEST_KEY_MODEL onDict: dict];
256266 [self safeSetValue: deviceInfo.osName forKey: BRANCH_REQUEST_KEY_OS onDict: dict];
0 commit comments