Skip to content

SKAdNetwork (iOS)

static AffiseIOSApi ios = _AffiseIOS(_native); // lib/affise.dart:222

abstract class AffiseIOSApi (lib/module/attribution/affise_ios_api.dart:3-8):

abstract class AffiseIOSApi {
const AffiseIOSApi();
void registerAppForAdNetworkAttribution(ErrorCallback completionHandler);
void updatePostbackConversionValue(int fineValue, CoarseValue coarseValue, ErrorCallback completionHandler);
}

Implementation — lib/module/attribution/affise_ios.dart:13-25. typedef ErrorCallback = void Function(String error);lib/callback/error_callback.dart:2.

Affise.ios.registerAppForAdNetworkAttribution((error) {
// Handle error
});
Affise.ios.updatePostbackConversionValue(1, SKAdNetwork.CoarseConversionValue.medium, (error) {
// Handle error
});

class CoarseValue (lib/skad/coarse_value.dart:1-10) wraps a single string payload.

class SKAdNetwork (lib/skad/skad_network.dart:3-13):

class SKAdNetwork {
static SKAdNetwork get CoarseConversionValue { return SKAdNetwork._(); }
SKAdNetwork._();
CoarseValue get high { return CoarseValue("high"); }
CoarseValue get low { return CoarseValue("low"); }
CoarseValue get medium { return CoarseValue("medium"); }
CoarseValue raw(String value) { return CoarseValue(value); }
}

| Accessor | String value | |---|---| | SKAdNetwork.CoarseConversionValue.high | "high" | | SKAdNetwork.CoarseConversionValue.low | "low" | | SKAdNetwork.CoarseConversionValue.medium | "medium" | | SKAdNetwork.CoarseConversionValue.raw("...") | any custom string |

To route SKAdNetwork postbacks through Affise, declare the endpoint in your Info.plist:

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>NSAdvertisingAttributionReportEndpoint</key>
<string>https://affise-skadnetwork.com/</string>
</dict>
</array>