adjust-icon

Set up SKAdNetwork and conversion values

StoreKit Ad Network (SKAdNetwork) is Apple’s attribution framework for app install and reinstall attribution. The SKAdNetwork workflow goes like this:

  1. Apple gathers attribution information and notifies the relevant ad network.
  2. The network sends a postback with this information to Adjust.
  3. Adjust displays SKAdNetwork data in Datascape.

Disable SKAdNetwork communication

Method signature
public deactivateSKAdNetworkHandling(): void
Added in v4.23.0

The Adjust SDK communicates with SKAdNetwork by default on v4.23.0 and above. The SDK registers for SKAdNetwork attribution upon initialization.

Your config object contains a boolean isSKAdNetworkHandlingActive property that controls this behavior. You can disable SKAdNetwork communication by calling the deactivateSKAdNetworkHandling method with no argument.

const adjustConfig = new AdjustConfig(
"{YourAppToken}",
AdjustConfig.EnvironmentSandbox,
);
adjustConfig.deactivateSKAdNetworkHandling();
Adjust.create(adjustConfig);

Update conversion values

Method signature
updateConversionValue: (conversionValue: number) => void

Conversion values are a mechanism used to measure user behavior in SKAdNetwork. You can map 64 conditions to values from 0 through 63 and send this integer value to SKAdNetwork on user install. This gives you insight into how your users interact with your app in the first few days.

If you manage your conversion values with Adjust, the servers update this value in the SDK. You can also update this value by using the updateConversionValue method. This method wraps Apple’s updateConversionValue method. It accepts an integer argument representing your updated conversion value.

Adjust.updateConversionValue(6);

Example

This example shows how to update a conversion value to 10 in response to a user triggering an event.

function _onPress_trackSimpleEvent() {
Adjust.updateConversionValue(10);
}

Listen for changes to conversion values

Method signature
public setConversionValueUpdatedCallbackListener(
callback: (conversionValue: AdjustConversionValue) => void
): void

If you use Adjust to manage conversion values, the Adjust’s servers send conversion value updates to the SDK. You can set up a delegate function to listen for these changes using the setConversionValueUpdatedCallbackListener method. Pass your function as an argument.

const adjustConfig = new AdjustConfig(appToken, environment);
adjustConfig.setConversionValueUpdatedCallbackListener(
function (conversionValue) {
console.log("Conversion value updated callback recveived");
console.log("Conversion value: " + conversionValue.conversionValue);
},
);
Adjust.create(adjustConfig);

Example

This example shows how to log the following when the conversion value updates:

  • A message confirming the conversion value update
  • The new conversion value
import { Adjust, AdjustEvent, AdjustConfig } from "react-native-adjust";
import { AdjustOaid } from "react-native-adjust-oaid";
const App: () => React$Node = () => {
Adjust.getSdkVersion(function (sdkVersion) {
console.log("Adjust SDK version: " + sdkVersion);
});
const adjustConfig = new AdjustConfig(
"{YourAppToken}",
AdjustConfig.EnvironmentSandbox
);
adjustConfig.setConversionValueUpdatedCallbackListener(function (
conversionValue
) {
console.log("Conversion value updated. Callback received");
console.log("Conversion value: " + conversionValue.conversionValue);
});
Adjust.create(adjustConfig);
};
export default App;

SKAdNetwork 4.0 callbacks

Added in v4.33.0

SKAdNetwork 4.0 postbacks contain some additional information to give advertisers more insight into their users. When Adjust’s servers update conversion values, this additional information is sent in a payload. You can access this information with the setSkad4ConversionValueUpdatedCallbackListener callback method.

ArgumentsData typeDescription
fineValueNSNumberThe conversion value sent by Adjust’s servers
coarseValueNSStringThe coarse conversion value. This value is used if your app doesn’t have sufficient installs to reach the privacy threshold.
  • none
  • low
  • medium
  • high

Apple sends none whenever none of the conditions that are set for low, medium, and high were met.
lockWindowNSNumberWhether to send the postback before the conversion window ends. 1 indicates the postback will be sent before the conversion window ends.
Defaults to 0 in SKAdNetwork 4.0 postbacks and nil in older SKAdNetwork versions

Example

This example shows how to log the the fine conversion value, the coarse conversion value, and whether the SKAdNetwork postback is set to send before the conversion window ends.

import { Adjust, AdjustEvent, AdjustConfig } from "react-native-adjust";
import { AdjustOaid } from "react-native-adjust-oaid";
const App: () => React$Node = () => {
Adjust.getSdkVersion(function (sdkVersion) {
console.log("Adjust SDK version: " + sdkVersion);
});
const adjustConfig = new AdjustConfig(
"{YourAppToken}",
AdjustConfig.EnvironmentSandbox
);
adjustConfig.setSkad4ConversionValueUpdatedCallbackListener(function (
conversionValue, coarseValue, lockWindow
) {
console.log("Conversion value updated. Callback received");
console.log("Fine conversion value: " + conversionValue);
console.log("Coarse conversion value: " + coarseValue);
console.log("Will send before conversion value window ends: " + lockWindow.toString());
});
Adjust.create(adjustConfig);
};
export default App;

Set up direct install postbacks

You can configure your app to send a copy of winning SKAdNetwork callbacks to Adjust. This enables you to use SKAdNetwork information in your analytics.

To set up direct install postbacks, you need to add the Adjust callback URL to your Info.plist file:

  1. Select Info.plist in the Project navigator in Xcode.
  2. Select the Add button beside a key in the property list editor and press Return.
  3. Enter NSAdvertisingAttributionReportEndpoint as the key name.
  4. Set the Type to String in the pop up menu.
  5. Enter the address https://adjust-skadnetwork.com.