update APIs

Summary: $title

Differential Revision: D47317614

fbshipit-source-id: 63a3866675227ba5a95c1aec79a010c9ac325b1f
This commit is contained in:
Xin Wu
2023-07-17 11:32:24 -07:00
committed by Facebook GitHub Bot
parent ed4a16b306
commit 32494b7226
4 changed files with 39 additions and 2 deletions

View File

@@ -990,7 +990,12 @@ static BOOL g_explicitEventsLoggedYet = NO;
if ([self.settings isSKAdNetworkReportEnabled]) {
[self.featureChecker checkFeature:FBSDKFeatureSKAdNetwork completionBlock:^(BOOL SKAdNetworkEnabled) {
if (SKAdNetworkEnabled) {
[SKAdNetwork registerAppForAdNetworkAttribution];
if (@available(iOS 15.4, *)) {
[SKAdNetwork updatePostbackConversionValue:0 completionHandler:nil];
} else {
// Fallback on earlier versions
[SKAdNetwork registerAppForAdNetworkAttribution];
}
[self.featureChecker checkFeature:FBSDKFeatureSKAdNetworkConversionValue completionBlock:^(BOOL SKAdNetworkConversionValueEnabled) {
if (SKAdNetworkConversionValueEnabled) {
[self.skAdNetworkReporter enable];

View File

@@ -63,7 +63,12 @@ static char *const serialQueueLabel = "com.facebook.appevents.SKAdNetwork.FBSDKS
if (@available(iOS 14.0, *)) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
[SKAdNetwork registerAppForAdNetworkAttribution];
if (@available(iOS 15.4, *)) {
[SKAdNetwork updatePostbackConversionValue:0 completionHandler:nil];
} else {
// Fallback on earlier versions
[SKAdNetwork registerAppForAdNetworkAttribution];
}
[self _loadReportData];
self.completionBlocks = [NSMutableArray new];
self.serialQueue = dispatch_queue_create(serialQueueLabel, DISPATCH_QUEUE_SERIAL);

View File

@@ -21,6 +21,15 @@ NS_SWIFT_NAME(_ConversionValueUpdating)
@protocol FBSDKConversionValueUpdating
+ (void)updateConversionValue:(NSInteger)conversionValue;
+ (void)updatePostbackConversionValue:(NSInteger)conversionValue
completionHandler:(void (^)(NSError *error))completion API_AVAILABLE(ios(15.4));
+ (void)updatePostbackConversionValue:(NSInteger)fineValue
coarseValue:(SKAdNetworkCoarseConversionValue)coarseValue
completionHandler:(void (^)(NSError *error))completion API_AVAILABLE(ios(16.0));
+ (void)updatePostbackConversionValue:(NSInteger)fineValue
coarseValue:(SKAdNetworkCoarseConversionValue)coarseValue
lockWindow:(BOOL)lockWindow
completionHandler:(void (^)(NSError *error))completion API_AVAILABLE(ios(16.0));
@end

View File

@@ -18,6 +18,24 @@ final class TestConversionValueUpdating: NSObject, _ConversionValueUpdating {
wasUpdateVersionValueCalled = true
}
@available(iOS 15.4, *)
// swiftlint:disable:next line_length
static func updatePostbackConversionValue(_ conversionValue: Int, completionHandler completion: @escaping (Error) -> Void) {
wasUpdateVersionValueCalled = true
}
@available(iOS 16.0, *)
// swiftlint:disable:next line_length
static func updatePostbackConversionValue(_ fineValue: Int, coarseValue: SKAdNetwork.CoarseConversionValue, completionHandler completion: @escaping (Error) -> Void) {
wasUpdateVersionValueCalled = true
}
@available(iOS 16.0, *)
// swiftlint:disable:next line_length
static func updatePostbackConversionValue(_ fineValue: Int, coarseValue: SKAdNetwork.CoarseConversionValue, lockWindow: Bool, completionHandler completion: @escaping (Error) -> Void) {
wasUpdateVersionValueCalled = true
}
static func reset() {
wasUpdateVersionValueCalled = false
}