Skip to content

Commit e3b2b38

Browse files
committed
Release 3.10.0
1 parent 7844316 commit e3b2b38

File tree

11 files changed

+141
-13
lines changed

11 files changed

+141
-13
lines changed

Branch-TestBed/Branch-SDK-Tests/BNCAPIServerTest.m

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,4 +409,107 @@ - (void)testSetAPIURL_InvalidEmpty {
409409
XCTAssertEqualObjects(storedUrl, expectedUrl);
410410
}
411411

412+
413+
- (void)testSetSafeTrackServiceURLWithUserTrackingDomain {
414+
NSString *url = @"https://links.toTestDomain.com";
415+
NSString *safeTrackUrl = @"https://links.toTestDomain-safeTrack.com";
416+
417+
[Branch setAPIUrl:url];
418+
[Branch setSafetrackAPIURL:safeTrackUrl];
419+
420+
BNCServerAPI *serverAPI = [BNCServerAPI sharedInstance];
421+
serverAPI.automaticallyEnableTrackingDomain = NO;
422+
serverAPI.useTrackingDomain = YES;
423+
424+
NSString *storedUrl = [[BNCServerAPI sharedInstance] installServiceURL];
425+
NSString *expectedUrl = @"https://links.toTestDomain-safeTrack.com/v1/install";
426+
XCTAssertEqualObjects(storedUrl, expectedUrl);
427+
428+
storedUrl = [[BNCServerAPI sharedInstance] openServiceURL];
429+
expectedUrl = @"https://links.toTestDomain-safeTrack.com/v1/open";
430+
XCTAssertEqualObjects(storedUrl, expectedUrl);
431+
432+
storedUrl = [[BNCServerAPI sharedInstance] standardEventServiceURL];
433+
expectedUrl = @"https://links.toTestDomain-safeTrack.com/v2/event/standard";
434+
XCTAssertEqualObjects(storedUrl, expectedUrl);
435+
436+
storedUrl = [[BNCServerAPI sharedInstance] customEventServiceURL];
437+
expectedUrl = @"https://links.toTestDomain-safeTrack.com/v2/event/custom";
438+
XCTAssertEqualObjects(storedUrl, expectedUrl);
439+
440+
storedUrl = [[BNCServerAPI sharedInstance] linkServiceURL];
441+
expectedUrl = @"https://links.toTestDomain.com/v1/url";
442+
XCTAssertEqualObjects(storedUrl, expectedUrl);
443+
444+
storedUrl = [[BNCServerAPI sharedInstance] qrcodeServiceURL];
445+
expectedUrl = @"https://links.toTestDomain.com/v1/qr-code";
446+
XCTAssertEqualObjects(storedUrl, expectedUrl);
447+
448+
storedUrl = [[BNCServerAPI sharedInstance] latdServiceURL];
449+
expectedUrl = @"https://links.toTestDomain.com/v1/cpid/latd";
450+
XCTAssertEqualObjects(storedUrl, expectedUrl);
451+
452+
storedUrl = [[BNCServerAPI sharedInstance] validationServiceURL];
453+
expectedUrl = @"https://links.toTestDomain.com/v1/app-link-settings";
454+
XCTAssertEqualObjects(storedUrl, expectedUrl);
455+
456+
[BNCServerAPI sharedInstance].useTrackingDomain = NO;
457+
[BNCServerAPI sharedInstance].useEUServers = NO;
458+
[BNCServerAPI sharedInstance].automaticallyEnableTrackingDomain = YES;
459+
[BNCServerAPI sharedInstance].customAPIURL = nil;
460+
[BNCServerAPI sharedInstance].customSafeTrackAPIURL = nil;
461+
462+
}
463+
464+
- (void)testSetSafeTrackServiceURLWithOutUserTrackingDomain {
465+
NSString *url = @"https://links.toTestDomain.com";
466+
NSString *safeTrackUrl = @"https://links.toTestDomain-safeTrack.com";
467+
468+
[Branch setAPIUrl:url];
469+
[Branch setSafetrackAPIURL:safeTrackUrl];
470+
471+
BNCServerAPI *serverAPI = [BNCServerAPI sharedInstance];
472+
serverAPI.automaticallyEnableTrackingDomain = NO;
473+
serverAPI.useTrackingDomain = NO;
474+
475+
NSString *storedUrl = [[BNCServerAPI sharedInstance] installServiceURL];
476+
NSString *expectedUrl = @"https://links.toTestDomain.com/v1/install";
477+
XCTAssertEqualObjects(storedUrl, expectedUrl);
478+
479+
storedUrl = [[BNCServerAPI sharedInstance] openServiceURL];
480+
expectedUrl = @"https://links.toTestDomain.com/v1/open";
481+
XCTAssertEqualObjects(storedUrl, expectedUrl);
482+
483+
storedUrl = [[BNCServerAPI sharedInstance] standardEventServiceURL];
484+
expectedUrl = @"https://links.toTestDomain.com/v2/event/standard";
485+
XCTAssertEqualObjects(storedUrl, expectedUrl);
486+
487+
storedUrl = [[BNCServerAPI sharedInstance] customEventServiceURL];
488+
expectedUrl = @"https://links.toTestDomain.com/v2/event/custom";
489+
XCTAssertEqualObjects(storedUrl, expectedUrl);
490+
491+
storedUrl = [[BNCServerAPI sharedInstance] linkServiceURL];
492+
expectedUrl = @"https://links.toTestDomain.com/v1/url";
493+
XCTAssertEqualObjects(storedUrl, expectedUrl);
494+
495+
storedUrl = [[BNCServerAPI sharedInstance] qrcodeServiceURL];
496+
expectedUrl = @"https://links.toTestDomain.com/v1/qr-code";
497+
XCTAssertEqualObjects(storedUrl, expectedUrl);
498+
499+
storedUrl = [[BNCServerAPI sharedInstance] latdServiceURL];
500+
expectedUrl = @"https://links.toTestDomain.com/v1/cpid/latd";
501+
XCTAssertEqualObjects(storedUrl, expectedUrl);
502+
503+
storedUrl = [[BNCServerAPI sharedInstance] validationServiceURL];
504+
expectedUrl = @"https://links.toTestDomain.com/v1/app-link-settings";
505+
XCTAssertEqualObjects(storedUrl, expectedUrl);
506+
507+
[BNCServerAPI sharedInstance].useTrackingDomain = NO;
508+
[BNCServerAPI sharedInstance].useEUServers = NO;
509+
[BNCServerAPI sharedInstance].automaticallyEnableTrackingDomain = YES;
510+
[BNCServerAPI sharedInstance].customAPIURL = nil;
511+
[BNCServerAPI sharedInstance].customSafeTrackAPIURL = nil;
512+
513+
}
514+
412515
@end

BranchSDK.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "BranchSDK"
3-
s.version = "3.9.1"
3+
s.version = "3.10.0"
44
s.summary = "Create an HTTP URL for any piece of content in your app"
55
s.description = <<-DESC
66
- Want the highest possible conversions on your sharing feature?

BranchSDK.xcodeproj/project.pbxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1988,7 +1988,7 @@
19881988
"@executable_path/Frameworks",
19891989
"@loader_path/Frameworks",
19901990
);
1991-
MARKETING_VERSION = 3.9.1;
1991+
MARKETING_VERSION = 3.10.0;
19921992
OTHER_LDFLAGS = (
19931993
"-weak_framework",
19941994
LinkPresentation,
@@ -2023,7 +2023,7 @@
20232023
"@executable_path/Frameworks",
20242024
"@loader_path/Frameworks",
20252025
);
2026-
MARKETING_VERSION = 3.9.1;
2026+
MARKETING_VERSION = 3.10.0;
20272027
OTHER_LDFLAGS = (
20282028
"-weak_framework",
20292029
LinkPresentation,
@@ -2229,7 +2229,7 @@
22292229
"@loader_path/Frameworks",
22302230
);
22312231
MACH_O_TYPE = staticlib;
2232-
MARKETING_VERSION = 3.9.1;
2232+
MARKETING_VERSION = 3.10.0;
22332233
OTHER_LDFLAGS = (
22342234
"-weak_framework",
22352235
LinkPresentation,
@@ -2268,7 +2268,7 @@
22682268
"@loader_path/Frameworks",
22692269
);
22702270
MACH_O_TYPE = staticlib;
2271-
MARKETING_VERSION = 3.9.1;
2271+
MARKETING_VERSION = 3.10.0;
22722272
OTHER_LDFLAGS = (
22732273
"-weak_framework",
22742274
LinkPresentation,
@@ -2305,7 +2305,7 @@
23052305
"@executable_path/Frameworks",
23062306
"@loader_path/Frameworks",
23072307
);
2308-
MARKETING_VERSION = 3.9.1;
2308+
MARKETING_VERSION = 3.10.0;
23092309
OTHER_LDFLAGS = (
23102310
"-weak_framework",
23112311
LinkPresentation,
@@ -2340,7 +2340,7 @@
23402340
"@executable_path/Frameworks",
23412341
"@loader_path/Frameworks",
23422342
);
2343-
MARKETING_VERSION = 3.9.1;
2343+
MARKETING_VERSION = 3.10.0;
23442344
OTHER_LDFLAGS = (
23452345
"-weak_framework",
23462346
LinkPresentation,

ChangeLog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
Branch iOS SDK Change Log
22

3+
v.3.10.0
4+
- Added new API `setSafetrackAPIURL` for setting custom safetrack URL.
5+
- Fixed Bug - Clear initial referrer after init.
6+
37
v.3.9.1
48
- Fix for the warning 'Missing header files from umbrella header' when integrating BranchSDK into a hybrid app using SPM.
59

Sources/BranchSDK/BNCConfig.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
#include "BNCConfig.h"
1010

11-
NSString * const BNC_SDK_VERSION = @"3.9.1";
11+
NSString * const BNC_SDK_VERSION = @"3.10.0";
1212
NSString * const BNC_LINK_URL = @"https://bnc.lt";
1313
NSString * const BNC_CDN_URL = @"https://cdn.branch.io";
1414

Sources/BranchSDK/BNCServerAPI.m

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,15 +94,19 @@ - (NSString *)getBaseURLForLinkingEndpoints {
9494
}
9595

9696
- (NSString *)getBaseURL {
97-
//Check if user has set a custom API base URL
98-
if (self.customAPIURL) {
99-
return self.customAPIURL;
100-
}
10197

10298
if (self.automaticallyEnableTrackingDomain) {
10399
self.useTrackingDomain = [self optedIntoIDFA];
104100
}
105101

102+
//Check if user has set a custom API base URL / custom API safetrack base url
103+
if (self.useTrackingDomain && self.customSafeTrackAPIURL){
104+
return self.customSafeTrackAPIURL;
105+
}
106+
else if (self.customAPIURL) {
107+
return self.customAPIURL;
108+
}
109+
106110
NSString * urlString;
107111

108112
if (self.useTrackingDomain && self.useEUServers){

Sources/BranchSDK/Branch.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,14 @@ + (void)setAPIUrl:(NSString *)url {
490490
}
491491
}
492492

493+
+ (void)setSafetrackAPIURL:(NSString *)url {
494+
if ([url hasPrefix:@"http://"] || [url hasPrefix:@"https://"] ){
495+
[BNCServerAPI sharedInstance].customSafeTrackAPIURL = url;
496+
} else {
497+
[[BranchLogger shared] logWarning:@"Ignoring invalid custom Safe Track API URL" error:nil];
498+
}
499+
}
500+
493501
- (void)validateSDKIntegration {
494502
[self validateSDKIntegrationCore];
495503
}

Sources/BranchSDK/BranchOpenRequest.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ - (void)processResponse:(BNCServerResponse *)response error:(NSError *)error {
159159
preferenceHelper.universalLinkUrl = nil;
160160
preferenceHelper.externalIntentURI = nil;
161161
preferenceHelper.referringURL = referringURL;
162+
preferenceHelper.initialReferrer = nil;
162163
preferenceHelper.dropURLOpen = NO;
163164

164165
NSString *string = BNCStringFromWireFormat(data[BRANCH_RESPONSE_KEY_RANDOMIZED_BUNDLE_TOKEN]);

Sources/BranchSDK/Private/BNCServerAPI.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ NS_ASSUME_NONNULL_BEGIN
3434
@property (nonatomic, assign, readwrite) BOOL automaticallyEnableTrackingDomain;
3535

3636
@property (nonatomic, copy, readwrite, nullable) NSString *customAPIURL;
37+
@property (nonatomic, copy, readwrite, nullable) NSString *customSafeTrackAPIURL;
3738

3839
@end
3940

Sources/BranchSDK/Public/Branch.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,13 @@ Sets a custom base URL for all calls to the Branch API.
587587
*/
588588
+ (void)setAPIUrl:(NSString *)url;
589589

590+
/**
591+
Sets a custom base safetrack URL for non-linking calls to the Branch API.
592+
@param url Base safetrack URL that the Branch API will use.
593+
*/
594+
595+
+ (void)setSafetrackAPIURL:(NSString *)url ;
596+
590597
/**
591598
@brief Use the `validateSDKIntegration` method as a debugging aid to assure that you've
592599
integrated the Branch SDK correctly.

0 commit comments

Comments
 (0)