SKAdNetwork

Introduction

Fyber supports Apple’s SKAdNetwork versions 2.0 and 2.0 to facilitate app install and conversion tracking for our programmatic bidders buying on iOS 14+.

We are adopting a unified approach that allows our buy-side partners to maximize campaign and creative optimization. We are dedicated to ensuring SKAdNetwork is adopted in an efficient and optimal manner for real-time bidding.

Note

Fyber is currently building support for SKAdNetwork version 2.2, which should be released in late Q1 to early Q2 2021

SKAdNetwork DSP Setup

Initial Configuration with Apple

  • DSP registers for SKAdNetwork support with Apple:
    • Receives SKAdNetwork ID from Apple (must be lowercase)

    • Receives Private Key from Apple
    • Creates an elliptic curve cryptographic key pair, referred to as the DSP's public key and shares with Apple

    • Configures endpoint URL to receive SKAdNetwork install validation postbacks

Integration Setup with Fyber

  • Submit your Legal Entity Name and SKAdNetwork ID to your dedicated account manager as soon as possible, to ensure no disruption to supply access
  • Remove IFA filters from your integration
  • Update your integration to receive SKAdNetwork Bid Request and Bid Response extension objects and IDFV. Please visit the IAB OpenRTB SKAdNetwork extension for more details.
  • Concurrently update your integration to receive Contextual Data Signals. Please visit our Contextual App Targeting page for more details.
  • When eligible for SKAdNetwork, return a bid response with the necessary information, as described below

Receiving postbacks

  • DSPs will receive postbacks directly from Apple at their designated endpoints
  • DSPs may forward postbacks to MMPs to enable marketers to have a unified view of their app installs

Testing SKAdNetwork with DSP Test App

  • Please visit this page for complete details on how to end-to-end test your SKAdNetwork setup on Fyber

Fyber's SKAdNetwork Flowchart

Bid Request

If a DSP has at least one SKAdNetworkItem in the publisher app’s Info.plist, Fyber includes a new object in the bid request that provides the necessary information to create a signature. Object is only present if both the Fyber SDK version and the OS version (iOS 14 and above) support SKAdNetwork.

BidRequest.imp.ext.skadn

Attribute Description Type Example
version Version of SKAdNetwork supported. Always "2.0" or higher. Dependent on both the OS version and the SDK version. String "version":"2.0"
sourceapp ID of publisher app in Apple’s App Store. Should match BidRequest.app.bundle String "sourceapp":"880047117"
skadnetids A subset of SKAdNetworkIdentifier entries in the publisher app’s info.plist that are relevant to the DSP. String Array ["SKAdNetwork1.skadnetwork"," SKAdNetwork2.skadnetwork"]

Bid Response

If the bid request includes the BidRequest.imp.ext.skadn object, then a DSP is required to pass all of the following parameters using the below object on their bid response. If the object is present in the response, then Fyber submits the click data and signature to the productView for iOS SKAdnetwork attribution.

BidResponse.seatbid.bid.ext.skadn

Attribute Description Type Example
version Version of SKAdNetwork desired. Must be 2.0 or above. String "version":"2.0"
network Ad network identifier used in signature. Should match one of the items
in the skadnetids array in the request
String "network":"dsp1.skadnetwork"
campaign Campaign ID compatible with Apple’s spec. As of 2.0, should be an integer between
1 and 100, expressed as a string
String "campaign":"45"
itunesitem ID of advertiser’s app in Apple’s app store. Should match BidResponse.bid.bundle String "itunesitem":"880047117
nonce An id unique to each ad response String "nonce": "beeeb65e-b3de-02420004"
sourceapp ID of publisher’s app in Apple’s app store. Should match BidRequest.imp.ext.skad.sourceapp String "sourceapp":"123456789"
timestamp UNIX time in millis string used at the time of signature String "timestamp": "1594406341"
signature SKAdNetwork signature as specified by Apple String "signature": "MEQCIEQZRRyMyUXg=="

Note

Step 2: Setup Contextual Data Signals

Other contextual and device identifiers are critical to maintaining granular targeting post-IDFA. Please visit our Contextual App Targeting page for more details.

 FAQs

Will Fyber pass the new BidRequest.imp.ext.skadn object when the DSP’s network_ID is not listed on the publisher’s p.list?

Yes. In this case, Skadnetids are passed as null.

Does an app developer need to publish a new version of their app to the store to update info.plist data?
Yes.
What happens if the StoreKit fails to load?
iOS Marketplace SDK supports fallback to Apple Store in cases where we receive a StoreKit failure message starting from version 7.5.0 and above. This only occurs in very rare edge cases.
In what cases is the BidRequest.imp.ext.skadn object sent?
BidRequest.imp.ext.skadn will only be sent for iOS 14 inventory using Fyber Marketplace SDK 7.7.0+ and Fairbid SDK version (TBD)

Note

Fyber is actively participating in the IAB’s SKAdNetwork Working Group and OpenRTB support for SKAdNetwork is subject to change as Apple updates its support versions. We welcome your feedback. 

Back to Top ⇧