1111#import " BNCPreferenceHelper.h"
1212#import " BranchConstants.h"
1313#import " BranchLogger.h"
14+ #import " Branch.h"
1415
1516@interface BNCSKAdNetwork ()
1617
@@ -72,6 +73,11 @@ - (BOOL)shouldAttemptSKAdNetworkCallout {
7273
7374- (void )registerAppForAdNetworkAttribution {
7475 if (@available (iOS 14.0 , macCatalyst 14.0 , *)) {
76+ if (![self isSKANAllowedForAttributionLevel ]) {
77+ [[BranchLogger shared ] logDebug: @" SKAN registerAppForAdNetworkAttribution skipped due to BranchAttributionLevel" error: nil ];
78+ return ;
79+ }
80+
7581 if ([self shouldAttemptSKAdNetworkCallout ] && [self .skAdNetworkClass respondsToSelector: self .skAdNetworkRegisterAppForAdNetworkAttribution]) {
7682 [[BranchLogger shared ] logDebug: @" Calling registerAppForAdNetworkAttribution" error: nil ];
7783 // Equivalent call [SKAdNetwork registerAppForAdNetworkAttribution];
@@ -82,6 +88,11 @@ - (void)registerAppForAdNetworkAttribution {
8288
8389- (void )updateConversionValue : (NSInteger )conversionValue {
8490 if (@available (iOS 14.0 , macCatalyst 14.0 , *)) {
91+ if (![self isSKANAllowedForAttributionLevel ]) {
92+ [[BranchLogger shared ] logDebug: @" SKAN updateConversionValue skipped due to BranchAttributionLevel" error: nil ];
93+ return ;
94+ }
95+
8596 if ([self shouldAttemptSKAdNetworkCallout ] && [self .skAdNetworkClass respondsToSelector: self .skAdNetworkUpdateConversionValue]) {
8697 [[BranchLogger shared ] logDebug: [NSString stringWithFormat: @" Calling updateConversionValue:%ld " , (long )conversionValue] error: nil ];
8798
@@ -93,6 +104,11 @@ - (void)updateConversionValue:(NSInteger)conversionValue {
93104
94105- (void )updatePostbackConversionValue : (NSInteger )conversionValue completionHandler : (void (^)(NSError *error))completion {
95106 if (@available (iOS 15.4 , macCatalyst 15.4 , *)) {
107+ if (![self isSKANAllowedForAttributionLevel ]) {
108+ [[BranchLogger shared ] logDebug: @" SKAN updatePostbackConversionValue skipped due to BranchAttributionLevel" error: nil ];
109+ return ;
110+ }
111+
96112 if ([self shouldAttemptSKAdNetworkCallout ] && [self .skAdNetworkClass respondsToSelector: self .skAdNetworkUpdatePostbackConversionValue]) {
97113 [[BranchLogger shared ] logDebug: [NSString stringWithFormat: @" Calling updatePostbackConversionValue:%ld completionHandler:completion" , (long )conversionValue] error: nil ];
98114
@@ -108,6 +124,11 @@ - (void)updatePostbackConversionValue:(NSInteger)fineValue
108124 lockWindow : (BOOL )lockWindow
109125 completionHandler : (void (^)(NSError *error))completion {
110126 if (@available (iOS 16.1 , macCatalyst 16.1 , *)) {
127+ if (![self isSKANAllowedForAttributionLevel ]) {
128+ [[BranchLogger shared ] logDebug: @" SKAN updatePostbackConversionValue skipped due to BranchAttributionLevel" error: nil ];
129+ return ;
130+ }
131+
111132 if ([self shouldAttemptSKAdNetworkCallout ] && [self .skAdNetworkClass respondsToSelector: self .skAdNetworkUpdatePostbackConversionValueCoarseValueLockWindow]) {
112133 [[BranchLogger shared ] logDebug: [NSString stringWithFormat: @" Calling updatePostbackConversionValue:%ld coarseValue:%@ lockWindow:%d completionHandler:completion" , (long )fineValue, coarseValue, lockWindow] error: nil ];
113134 // Equivalent call [SKAdNetwork updatePostbackConversionValue:coarseValue:lockWindow:completionHandler:];
@@ -197,4 +218,9 @@ - (BOOL) shouldCallPostbackForDataResponse:(NSDictionary *) dataResponseDictiona
197218 return shouldCallUpdatePostback;
198219}
199220
221+ - (BOOL )isSKANAllowedForAttributionLevel {
222+ BranchAttributionLevel level = [[BNCPreferenceHelper sharedInstance ] attributionLevel ];
223+ return !(level == BranchAttributionLevelMinimal || level == BranchAttributionLevelNone);
224+ }
225+
200226@end
0 commit comments