Release Note (4.0.0-beta.3)
v.4.0.0-beta.3
Upgrade instructions: https://help.branch.io/developer-hub/ios-sdk-4-integration
- Added
BranchConfigurationobject which holds every setting that used to be a Branch setter: API and CDN URLs, EU endpoints, log level and logging callback, request tracing callback, network timeout, retry count and interval, third-party API wait time, attribution level, DMA parameters, allowed schemes, URL patterns to ignore, request metadata, pasteboard check on install, App Clip app group and deep link debug params. - Added new initialization API
+[Branch initialize:]to initialize Branch SDK usingBranchConfiguration. TheinitSession…family is removed. - Added
+[Branch updateConfiguration:]to change the configuration after initialization.- Removed the old setters:
--setBranchKey:
--setUseTestBranchKey:
--useEUEndpoints
--setAPIUrl:
--setSafetrackAPIURL:
--setNetworkTimeout:
--setMaxRetries:
--setRetryInterval:
--setSDKWaitTimeForThirdPartyAPIs:
--addAllowedScheme:/setAllowedSchemes:
--setUrlPatternsToIgnore:
--checkPasteboardOnInstall
--setAppClipAppGroup:
--setDeepLinkDebugMode:
--setCallbackForTracingRequests:. - The Branch Key is no longer read from Info.plist. Pass it to
BranchConfiguration.
- Removed the old setters:
- Removed
getInstance,getInstance:andgetTestInstance. Use+[Branch sharedInstance]. - New deep link APIs replace
initSession…,continueUserActivity:andhandlePushNotification::requestDeepLinkData:callback:requestDeepLinkDataWithLaunchOptions:callback:requestDeepLinkDataWithURL:andrequestDeepLinkDataWithURL:sourceApplication:annotation:requestDeepLinkDataWithUserActivity:requestDeepLinkDataWithUserInfo:requestDeepLinkDataWithSceneOptions:scene:callback:requestDeepLinkDataWithScene:openURLContexts:andrequestDeepLinkDataWithScene:userActivity:
- Added manual open control.
BranchConfiguration.automaticOpenEvents(default YES). - Added API
sendOpen. IfBranchConfiguration.automaticOpenEventsis set toNO, use this API to send OPEN events manually. - Link creation is consolidated into the new
BranchLinkBuilderclass, which takesBranchLinkProperties. Remove all overloaded versions of following APIs -getShortURLWithLinkProperties:getLongURLWithLinkProperties:getSpotlightURLWithParams:getShortURL…getLongURL…,getLongAppLinkURL…getSpotlightUrlWithParams:
- Added Swift async wrappers via
NS_SWIFT_ASYNC_NAMEto APIs. - Replaced
setIdentity:/setIdentity:withCallback:withsetUserAlias:completion:. - Removed
setTrackingDisabled:andtrackingDisabled. UsesetConsumerProtectionAttributionLevel:withBranchAttributionLevelNone, and check with+[Branch attributionLevelNone]. - Replaced
setDMAParamsForEEA:AdPersonalizationConsent:AdUserDataUsageConsent:with theBranchDMAParametersclass andsetDMAParameters:. - Removed
limitFacebookAttributionanddisableAdNetworkCallouts:. - Raised the minimum iOS and tvOS deployment target to 15.0 (
BranchSDK.xcodeproj,Package.swift,BranchSDK.podspec). Xcode 27 refuses to build the Xcode project or a CocoaPods integration below 15.0.