Skip to content

Commit a9345c6

Browse files
committed
Added constants and fixed isDeepLink
1 parent 77cb81d commit a9345c6

File tree

5 files changed

+35
-20
lines changed

5 files changed

+35
-20
lines changed

Branch-TestBed/Branch-TestBed/AppDelegate.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ - (BOOL)application:(UIApplication *)application
3131
Info.plist file. This makes Branch test against your test environment (As shown in the Branch
3232
Dashboard) instead of the live environment.
3333
*/
34+
[Branch setReferrerGbraidValidityWindow: 1000000000];
3435

3536
// Branch.useTestBranchKey = YES; // Make sure to comment this line out for production apps!!!
3637
Branch *branch = [Branch getInstance];
@@ -54,6 +55,7 @@ - (BOOL)application:(UIApplication *)application
5455

5556
[branch checkPasteboardOnInstall];
5657

58+
5759
/*
5860
* Required: Initialize Branch, passing a deep link handler block:
5961
*/

Branch-TestBed/Branch-TestBed/ViewController.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ - (void)viewDidLoad {
146146
[self.setParnerParamsButton setImage:[UIImage systemImageNamed:@"folder.badge.plus"] forState:UIControlStateNormal];
147147
}
148148
}
149+
149150
}
150151
- (IBAction)goToPasteControlPressed:(id)sender {
151152
[self performSegueWithIdentifier:@"GoToPasteControlView"

BranchSDK/BNCReferringURLUtility.m

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#import "BranchConstants.h"
1212
#import "BNCUrlQueryParameter.h"
1313
#import "NSMutableDictionary+Branch.h"
14+
#import "BNCLog.h"
1415

1516
@interface BNCReferringURLUtility()
1617

@@ -41,7 +42,7 @@ - (void)parseReferringURL:(NSURL *)url {
4142
param.value = item.value;
4243
param.timestamp = [NSDate date];
4344
param.isDeepLink = YES;
44-
45+
4546
//If there is no validity window, set to default.
4647
if (param.validityWindow == 0) {
4748
param.validityWindow = [self defaultValidityWindowForParam:item.name];
@@ -66,10 +67,7 @@ - (NSDictionary *)getURLQueryParamsForRequest:(NSString *)endpoint {
6667
if (gbraid) {
6768
[returnedParams bnc_safeAddEntriesFromDictionary:gbraid];
6869
}
69-
70-
//For future parameters, their functions can be added here
7170

72-
NSLog(@"Added following params to %@: %@", endpoint, returnedParams);
7371
return returnedParams;
7472
}
7573

@@ -100,7 +98,7 @@ - (NSDictionary *)addGbraidValuesFor:(NSString *)endpoint {
10098

10199
if ([endpoint containsString:@"/v1/open"]) {
102100
returnedParams[BRANCH_REQUEST_KEY_IS_DEEPLINK_GBRAID] = @(gbraid.isDeepLink);
103-
gbraid.isDeepLink = 0;
101+
gbraid.isDeepLink = NO;
104102

105103
//Forcing write to disk
106104
[BNCPreferenceHelper sharedInstance].referringURLQueryParameters = [self serializeToJson:self.urlQueryParameters];
@@ -114,7 +112,7 @@ - (NSDictionary *)addGbraidValuesFor:(NSString *)endpoint {
114112

115113
// Helper Methods
116114
- (BOOL)isSupportedQueryParameter:(NSString *)param {
117-
NSArray *validURLQueryParameters = @[@"gbraid", @"gclid"];
115+
NSArray *validURLQueryParameters = @[BRANCH_REQUEST_KEY_REFERRER_GBRAID, BRANCH_REQUEST_KEY_GCLID];
118116
if ([validURLQueryParameters containsObject:param]) {
119117
return YES;
120118
} else {
@@ -145,11 +143,11 @@ - (NSMutableDictionary *)serializeToJson:(NSMutableDictionary<NSString *, BNCUrl
145143

146144
for (BNCUrlQueryParameter *param in urlQueryParameters.allValues) {
147145
NSMutableDictionary *paramDict = [NSMutableDictionary new];
148-
paramDict[@"name"] = param.name;
149-
paramDict[@"value"] = param.value;
150-
paramDict[@"timestamp"] = param.timestamp;
151-
paramDict[@"isDeepLink"] = @(param.isDeepLink);
152-
paramDict[@"validityWindow"] = @(param.validityWindow);
146+
paramDict[BRANCH_URL_QUERY_PARAMETERS_NAME_KEY] = param.name;
147+
paramDict[BRANCH_URL_QUERY_PARAMETERS_VALUE_KEY] = param.value;
148+
paramDict[BRANCH_URL_QUERY_PARAMETERS_TIMESTAMP_KEY] = param.timestamp;
149+
paramDict[BRANCH_URL_QUERY_PARAMETERS_IS_DEEPLINK_KEY] = @(param.isDeepLink);
150+
paramDict[BRANCH_URL_QUERY_PARAMETERS_VALIDITY_WINDOW_KEY] = @(param.validityWindow);
153151

154152
json[param.name] = paramDict;
155153
}
@@ -164,11 +162,15 @@ - (NSMutableDictionary *)serializeToJson:(NSMutableDictionary<NSString *, BNCUrl
164162
if ([temp isKindOfClass:NSDictionary.class] || [temp isKindOfClass:NSMutableDictionary.class]) {
165163
NSDictionary *paramDict = (NSDictionary *)temp;
166164
BNCUrlQueryParameter *param = [BNCUrlQueryParameter new];
167-
param.name = paramDict[@"name"];
168-
param.value = paramDict[@"value"];
169-
param.timestamp = paramDict[@"timestamp"];
170-
param.isDeepLink = paramDict[@"isDeepLink"];
171-
param.validityWindow = [paramDict[@"validityWindow"] doubleValue];
165+
param.name = paramDict[BRANCH_URL_QUERY_PARAMETERS_NAME_KEY];
166+
param.value = paramDict[BRANCH_URL_QUERY_PARAMETERS_VALUE_KEY];
167+
param.timestamp = paramDict[BRANCH_URL_QUERY_PARAMETERS_TIMESTAMP_KEY];
168+
if (paramDict[BRANCH_URL_QUERY_PARAMETERS_IS_DEEPLINK_KEY] != nil) {
169+
param.isDeepLink = ((NSNumber *)paramDict[BRANCH_URL_QUERY_PARAMETERS_IS_DEEPLINK_KEY]).boolValue;
170+
} else {
171+
param.isDeepLink = NO;
172+
}
173+
param.validityWindow = [paramDict[BRANCH_URL_QUERY_PARAMETERS_VALIDITY_WINDOW_KEY] doubleValue];
172174

173175
result[param.name] = param;
174176
}
@@ -186,14 +188,14 @@ -(void)checkForAndMigrateOldGbraid {
186188
NSDate *existingGbraidInitDate = [BNCPreferenceHelper sharedInstance].referrerGBRAIDInitDate;
187189

188190
BNCUrlQueryParameter *gbraid = [BNCUrlQueryParameter new];
189-
gbraid.name = @"gbraid";
191+
gbraid.name = BRANCH_REQUEST_KEY_REFERRER_GBRAID;
190192
gbraid.value = existingGbraidValue;
191193
gbraid.timestamp = existingGbraidInitDate;
192194
gbraid.validityWindow = existingGbraidValidityWindow;
193195
gbraid.isDeepLink = NO;
194196

195-
if (self.urlQueryParameters[@"gbraid"].value == nil) {
196-
[self.urlQueryParameters setValue:gbraid forKey:@"gbraid"];
197+
if (self.urlQueryParameters[BRANCH_REQUEST_KEY_REFERRER_GBRAID].value == nil) {
198+
[self.urlQueryParameters setValue:gbraid forKey:BRANCH_REQUEST_KEY_REFERRER_GBRAID];
197199
[BNCPreferenceHelper sharedInstance].referringURLQueryParameters = [self serializeToJson:self.urlQueryParameters];
198200
}
199201
}

BranchSDK/BranchConstants.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ extern NSString * const BRANCH_REQUEST_KEY_REFERRER_GBRAID;
8484
extern NSString * const BRANCH_REQUEST_KEY_REFERRER_GBRAID_TIMESTAMP;
8585
extern NSString * const BRANCH_REQUEST_KEY_IS_DEEPLINK_GBRAID;
8686
extern NSString * const BRANCH_REQUEST_KEY_GCLID;
87+
extern NSString * const BRANCH_URL_QUERY_PARAMETERS_NAME_KEY;
88+
extern NSString * const BRANCH_URL_QUERY_PARAMETERS_VALUE_KEY;
89+
extern NSString * const BRANCH_URL_QUERY_PARAMETERS_TIMESTAMP_KEY;
90+
extern NSString * const BRANCH_URL_QUERY_PARAMETERS_IS_DEEPLINK_KEY;
91+
extern NSString * const BRANCH_URL_QUERY_PARAMETERS_VALIDITY_WINDOW_KEY;
8792

8893
extern NSString * const BRANCH_REQUEST_ENDPOINT_SET_IDENTITY;
8994
extern NSString * const BRANCH_REQUEST_ENDPOINT_APP_LINK_SETTINGS;

BranchSDK/BranchConstants.m

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,13 @@
7777
NSString * const BRANCH_REQUEST_METADATA_KEY_SCANTIME_WINDOW = @"skan_time_window";
7878
NSString * const BRANCH_REQUEST_KEY_REFERRER_GBRAID = @"gbraid";
7979
NSString * const BRANCH_REQUEST_KEY_REFERRER_GBRAID_TIMESTAMP = @"gbraid_timestamp";
80-
NSString * const BRANCH_REQUEST_KEY_GCLID = @"gclid";
8180
NSString * const BRANCH_REQUEST_KEY_IS_DEEPLINK_GBRAID = @"is_deeplink_gbraid";
81+
NSString * const BRANCH_REQUEST_KEY_GCLID = @"gclid";
82+
NSString * const BRANCH_URL_QUERY_PARAMETERS_NAME_KEY = @"name";
83+
NSString * const BRANCH_URL_QUERY_PARAMETERS_VALUE_KEY = @"value";
84+
NSString * const BRANCH_URL_QUERY_PARAMETERS_TIMESTAMP_KEY = @"timestamp";
85+
NSString * const BRANCH_URL_QUERY_PARAMETERS_IS_DEEPLINK_KEY = @"isDeepLink";
86+
NSString * const BRANCH_URL_QUERY_PARAMETERS_VALIDITY_WINDOW_KEY = @"validityWindow";
8287

8388
NSString * const BRANCH_REQUEST_ENDPOINT_SET_IDENTITY = @"profile";
8489
NSString * const BRANCH_REQUEST_ENDPOINT_APP_LINK_SETTINGS = @"app-link-settings";

0 commit comments

Comments
 (0)