iOS 14 and SKAdNetwork

Introduction

Fyber is adding support for Apple’s SKAdNetwork version 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 actively participating in the IAB’s SKAdNetwork Working Group and this proposal is subject to change. We welcome your feedback. 

Implementation

  • DSPs should register for SKAdNetwork
  • Fyber compiles an open-source list of DSP SKAdNetwork IDs
  • Fyber instructs all publishers to add our complete list of our integrated demand partners SKAdNetwork IDs to their Info.plist to enable attribution measurement
  • Upon ad click, Fyber’s SDK calls loadProduct() with the DSP’s SKAdNetwork values and signature
  • DSPs receive postbacks directly from Apple based on their designated endpoint given during sign-up

What's Required from Demand Partners to use SKAdNetwork on 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
  • When eligible for SKAdNetwork, return a bid response with the necessary information, as described below

DSP Checklist

Use the following checklist to prepare for iOS 14 and SKAdNetwork changes:

  1. DSPs should register for SKAdNetwork
  2. DSPs receive postbacks directly from Apple based on their designated endpoint given during sign-up
  3. Remove IFA filter that omits bid requests without IFA (if applicable)
  4. Confirm when DSP is ready to receive ext.skadn Bid Request and Bid Response objects
  5. Upgrade DSP integration to receive BidRequest.imp.ext.skadn & BidResponse.seatbid.bid.ext.skadn
  6. Fyber sends a manual bid request with BidRequest.imp.ext.skadn parameters and is available to manually vet bid response with BidResponse.seatbid.bid.ext.skadn parameters from DSP
  7. Test end to end using Fyber's self-serve DSP Test App:
  8. Update Fyber’s Test App to iOS SDK version 7.7.0 (available for testing only) and your test device to iOS 14
  9. Setup a test campaign targeting your test devices with Fyber test app downloaded
  10. Use Ad Lifecycle tool to trigger a sample bid request from Fyber’s iOS 14 supported test test app and return a bid response with required bidresponse.seatbid.bid.ext.skadn
  11. Review Fyber’s new click flow that directly opens the iOS StoreKit with the bundle returned on the bid response via BidResponse.seatbid.bid.ext.skadn.itunesitem
  12. Continue with the install flow to receive an install notification from Apple at your designated endpoint. The conversion value and source app data likely will be unavailable unless the minimum threshold is met, according to Apple’s protocols. 

Implementation

  • Fyber compiles an open-source list of DSP SKAdNetwork IDs
  • Fyber instructs all publishers to add our complete list of our integrated demand partners SKAdNetwork IDs to their Info.plist to enable attribution measurement
  • Upon ad click, Fyber’s SDK calls loadProduct() with the DSP’s SKAdNetwork values and signature

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 user 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 will be supported with iOS 14?
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)
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request