iOS 14 Support
This guide documents important changes to Unity Ads auction logic for our programmatic partners. Please note the upcoming changes in bid requests and bid responses to ensure readiness for Apple’s launch of iOS 14 in September 2020. You will start seeing these changes in August on a limited scale, enabling you to test and validate prior to Apple's release.
Note: This page will continually be updated with useful information regarding signals and workflows between now and the release of iOS 14. As a result, we encourage you to revisit this documentation periodically to ensure that you have the most up-to-date guidance.
Note: All fields and names are case-sensitive.
Bid Request Change
If a DSP has at least one
SKAdNetworkItem in the publisher app’s
Info.plist, Unity will include this object in the bid request. This provides the information required to create a signature.
|version||Version of skadnetwork supported, which is always "2.0" or higher. Depends on both the OS version and the SDK version.||string||"version":"2.0"|
|sourceapp||Publisher app ID in Apple’s App Store. Should match app.bundle value in the bid request.||string||"sourceapp":"123456789"|
|skadnetids||A list of DSP-specific SKAdNetworkItem entries that appear in the publisher app’s Info.plist.||array of string||"skadnetids": ["dsp1.skadnetwork"]|
Unity will include the status for app tracking authorization in the
BidRequest.app.ext.trackingAuthStatus field. For more information about this field, please refer to Apple’s API documentation.
|trackingAuthStatus||The status value for app tracking authorization. Possible values are:
Bid Response Change
If a bid request includes a
BidRequest.imp.ext.skadn, a DSP can send a
BidResponse.seatbid.bid.ext.skadn object in response. If present, Unity will use the signature of this object for attribution. For more information, please refer to Apple’s API documentation.
|signature||SKAdNetwork signature specified by Apple||string||"signature": "WOBQQIRTnAcfYzF..."|
|network||Ad network identifier used in signature. Should match one of the items in the skadnetids array in the request.||string||"network":"5HUO92BLLQ.skadnetwork"|
|version||Version of desired SKAdNetwork. Must be version 2.0 or above.||string||"version":"2.0"|
|campaign||Campaign ID compatible with Apple’s spec. As of version 2.0, should be an integer between 1 and 100, expressed as a string.||string||"campaign":"83"|
|itunesitem||Advertiser app ID in Apple’s App Store. Should match bid.bundle in the bid response.||string||"itunesitem":"987654321"|
|nonce||An id that is unique to each ad response.||string||"nonce":"385c9n44-a9ik-28fd-8247-gjk2efoa56a9"|
|sourceapp||ID of publisher app in Apple’s App Store. Should match imp.ext.skadn.sourceapp in the bid request.||string||"sourceapp":"123456789"|
|timestamp||Unix time in milliseconds at the time the signature was generated.||string||"timestamp": "1225091839"|
Note: Unity will pass IDFA where present. Where IDFA is not present, IDFV will be passed.
|IDFA||Device.ifa||Preferred device advertising identifier. It has a value of 00000000-0000-0000-0000-000000000000 when permission to track has not been granted.||string||ABC123AB-1234-5678-A1B2-123ABCBCD789|
|IDFV||Device.ext.idfv||Unique identifier across apps from same vendor||string||ABCDEFGH-ABCD-1234-1234-ABCDEFGHABCD|