IDFA、iOS14新隱私政策和 SKAdNetwork 框架


https://www.liangjianghu.com/docs/ios14-user-privarcy-idfa-skadnetwork-api-document.html

 

概要

2018年5月,蘋果推出了一個新API,叫做 SKAdNetwork,可以在保護用戶隱私的同時進行APP歸因,但沒有得到廣泛使用。

 

直至2020年,在6月22日舉行的WWDC(全球開發者大會)上,蘋果宣布了很多新的隱私政策。在 iOS 14 系統中,App 在獲取 IDFA 時將和獲取地理位置、相機權限一樣,需要明確請求用戶的許可。這就意味着如果不能經過用戶允許,數據不能被用於定向廣告,廣告商不能共享用戶的信息,這讓過去通過 IDFA 來實現的廣告歸因和效果衡量變得接近無效。

 

iOS14 Allow Tracking Permission

 

蘋果剛對 SKAdNetwork 進行了更新,根據官方最新文檔,下面對其技術實施做一個介紹。如開發者有疑問,可以聯系量江湖技術產品團隊溝通探討,QQ/微信:1098663。

 

這個API需要以下參與方:

 

  • 廣告網絡(Ad Network):對廣告簽名,當廣告帶來轉化時接收安裝通知
  • 來源應用(Source Apps):展示來自廣告網絡的廣告
  • 廣告主應用(Advertiser Apps):出現在簽名的廣告中

 

廣告網絡需跟蘋果注冊,開發者們需在 APP 中配置相關的廣告網絡。更多信息參見 Registering an Ad Network。我們收集整理的 各主要廣告平台的 SKAdNetworkIdentifier 並且標明了出處,僅供參考。

 

以下圖表描述了安裝驗證的流程,App A 指展示廣告的來源APP,App B 指用戶安裝的廣告主APP。

 

The path of an install validation

圖片來自Apple

 

當用戶點擊廣告時,一個帶有簽名信息的APP Store產品界面呈現出來,簽名信息標記了此次廣告活動。如果用戶安裝並且打開了APP,設備發送一個安裝驗證通知給廣告網絡。這個由Apple簽名的通知包括廣告活動ID,但是不含用戶或設備相關的數據。通知還可以包含一個轉化數值和來源應用ID,這個取決於蘋果設定的一個隱私閾值。

 

使用廣告網絡API的各參與方需承擔以下責任。

 

廣告網絡的責任:

 

來源應用的責任:

 

廣告主應用的責任:

 

設備在計時結束后,會自動發送安裝驗證。

 

廣告主 - 注冊App用於廣告網絡歸因 registerAppForAdNetworkAttribution

驗證作為廣告結果安裝的應用程序的首次啟動。

 

函數聲明

 
 
 
 
 
 
+ (void)registerAppForAdNetworkAttribution;
 

說明

應用在首次啟動時調用此函數或  updateConversionValue: 。

 

如果此次安裝有歸因數據,那么首次調用 registerAppForAdNetworkAttribution 會生成通知,並且啟動一個 24 小時計時器。再次調用就沒有反應了。但是你可以調用 updateConversionValue: 提供轉化數值並且重啟計時器。

 

在計時器結束后的 0-24 小時內設備將安裝通知發送給廣告網絡。廣告網絡在收到通知后必須進行驗證。參見 Verifying an Install Validation Postback

 

廣告主 - 更新轉化數值 updateConversionValue

更新轉化數值,並且驗證作為廣告結果安裝的應用程序的首次啟動。

 

函數聲明

 
 
 
 
 
 
+ (void)updateConversionValue:(NSInteger)conversionValue;
 

 

參數

conversionValue

無符號的 6 bit 整數(0-63)。由廣告主應用和廣告網絡決定此值的含義。默認為0。

 

說明

應用在首次啟動時調用此函數或  registerAppForAdNetworkAttribution 。開發者可以在 24小時的循環周期內反復調用 updateConversionValue: 去更新轉化數值。調用此方法有兩個目的:

 

  • 產生一個安裝通知,是一個加密簽名的數據包,用於驗證是否來自廣告
  • 讓應用提供或更新一個轉化數值

 

轉化數值是由廣告網絡或者廣告主定義的 6 bit 值。App 來決定何時更新,在計時器結束前可以隨意調用。每次調用,只要這個值比上一次大,計時器就會重新計時。當計時器結束,最后的數值將生效,並且繼續調用 updateConversionValue: 無任何作用。

 

在計時器結束后的 0-24 小時內設備將安裝通知發送給廣告網絡。只有發送的數據量達到蘋果隱私的閾值,通知才會包含最后的轉化數值。廣告網絡在收到通知后必須進行驗證。參見 Verifying an Install Validation Postback

 

如果你不需要轉化數值,那么只要調用 registerAppForAdNetworkAttribution 即可。

 

在實踐中,開發者可以仔細把握調用的時機,並且對數值做良好的定義,就能達到衡量廣告用戶質量的目的。

 

API文檔

Essentials

Registering an Ad Network

Register your ad network with Apple to use the install validation APIs for your ad campaigns.

Configuring the Participating Apps

Configure a source app and prepare an advertised app to participate in ad campaigns.

property list key SKAdNetworkItems

An array of dictionaries containing a list of ad network identifiers.

Initiating Install Validation

Generating the Signature to Validate an Installation

Initiate install validation by displaying an ad with signed parameters.

Ad Network Install Validation Keys

Specify key values that validate and associate an app installation with an ad campaign.

Providing Conversion Information

class func updateConversionValue(Int)

Updates the conversion value and verifies the first launch of an app installed as a result of an ad.

Beta

class func registerAppForAdNetworkAttribution()

Verifies the first launch of an app installed as a result of an ad.

Verifying an Ad Conversion

Verifying an Install Validation Postback

Receive and verify an app install validation message to confirm an ad conversion.

 

參考資料

iOS 14隱私和歸因相關信息匯總


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM