This is the 24th day of my participation in Gwen Challenge

preface

ASA stands for Apple Search Ads, which is a paid promotion method of App Store. It can make the App appear at the first place in the Search results of Apple Store, so as to obtain accurate users.

Yesterday shared the similarities and differences between ASA and ASO and ASA’s release of self-attribution AdServices framework after 14.3;

Article Link:

Apple Search Advertising ASA Notes (part 1)

Direct connection: Apple Search Advertising ASA Notes (middle)

Today continues to fill yesterday’s hole, today SAS share also has two points

  1. The attribution scheme before iOS14.3
  2. ATT, iAd, SKAdNetwork, and AdServices FrameWork

Attribution schemes prior to iOS14.3:iAd Framework

IAd Framework is used to obtain ASA attribution for application installation. After the App is installed and opened, the USER can obtain the ASA attribution of the installation from the iAd Framework, including the keyword of the campaign from which the App is installed, materials, and click time. Obtaining this attribution data requires the authority of the IDFA above

Attribution data reporting needs to meet the following conditions:

  • All operations must occur on the same device.
  • Attribution only applies to users running iOS 10 or later who have downloaded the app in the last 30 days.
  • It must be downloaded or re-downloaded from the App Store list or from the Apple Search Ads display.
// Check for iOS 10 attribution implementation
if ([[ADClient sharedClient] respondsToSelector:@selector(requestAttributionDetailsWithBlock:)]) { 
NSLog(@"iOS 10 call exists"); 
[[ADClient sharedClient] requestAttributionDetailsWithBlock:^(NSDictionary *attributionDetails, NSError *error) { 
// Look inside of the returned dictionary for all attribution details
NSLog(@"Attribution Dictionary: %@", attributionDetails); 
}];
}
Copy the code

{ 
"Version3.1" = { 
"iad-attribution" = true; 
"iad-org-name" = "org name";
"iad-org-id" = "555555";
"iad-campaign-id" = "12345678"; 
"iad-campaign-name" = "campaign name"; 
"iad-purchase-date" = "2020-08-04T17:18:07Z" 
"iad-conversion-date" = "2020-08-04T17:18:07Z"; 
"iad-conversion-type" = "newdownload"; 
"iad-click-date" = "2020-08-04T17:17:00Z"; 
"iad-adgroup-id" = "12345678"; 
"iad-adgroup-name" = "adgroup name"; 
"iad-country-or-region" = "US"; 
"iad-keyword" = "keyword";
"iad-keyword-id" = "12345678";
"iad-keyword-matchtype" = "Broad";
"iad-creativeset-id" = "12345678";
"iad-creativeset-name" = "Creative Set name";
}
 
14.3{after"orgId":1234567890."campaignId":1234567890."conversionType":"Download"."clickDate":"2021-01-11T06:41Z"."adGroupId":1234567890."countryOrRegion":"US"."keywordId":12323222."creativeSetId":1234567890."attribution":true
}
  
Copy the code

AdSupport, ATT, iAd, SKAdNetwork, AdServices FrameWork

AdSupport

Reference: https//developer.apple.com/documentation/adsupport

Before iOS14, tracking AD performance was basically achieved through IDFA; AdSupport is used to obtain IDFA, which determines whether the current device has related permissions. Earlier idFA permissions in Settings can be controlled globally; The new version of iOS supports app-level rights management (ATT Framework).

- (NSString *)getIdfa {
    NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
    return idfa;
}
Copy the code

AppTrackingTransparency framework

Reference links:

After iOS 14, Apple introduced mandatory App Tracking Transparency(ATT) policy, requiring developers to explicitly ask users for permission, 14.5 mandatory; ATT is used to manage application-level IDFA permission application Api. After calling ATT, a window will pop up to allow users to authorize it independently. In this way, the operation cost of obtaining IDFA is high, and 90% users will click reject.

 if (@available(iOS 14, *)) {
        __typeof__(self) weakSelf = self;
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
           
            dispatch_async(dispatch_get_main_queue(), ^{
                [weakSelf refreshStatus];
            });
        }];
    }
Copy the code

iAd Framework

Reference documentation

To get the ASA attribution for the application installation. After the App is installed and opened, the USER can obtain the ASA attribution of the installation from the iAd Framework, including the keyword of the campaign from which the App is installed, materials, and click time. Obtaining this attribution data requires the authority of the IDFA above

Note that for a single user of an App, if there is no repeated downloading behavior, attribution data does not change over time and only needs to be acquired once. This attribution can count the subsequent in-app behavior of users brought by different keywords.

if ([[ADClient sharedClient] respondsToSelector:@selector(requestAttributionDetailsWithBlock:)]) { [[ADClient sharedClient] requestAttributionDetailsWithBlock:^(NSDictionary *attributionDetails, NSError *error) {if (error == nil) {// attributionDetails error;} else {// attributionDetails error gError = error;}}]; }Copy the code

AdServices framework

New features for iOS 14.3+. Similar to iAd Framework, it also obtains the attribution data of application installation. Unlike iAd, it does not require IDFA authorization and uses a temporary token to obtain the attribution data:

  1. Request AdServices Framework to obtain temporary token (valid within 24 hours)
  2. Obtain attributional data using tokens

The data returned in this way does not contain user behavior data (click times), but only installation attribution. If ATT has the relevant authorization, the attribution data will only contain the user click time.

#import <AdServices/ adservices. h> - (void) togetherttoken {if (@available(iOS 14.3, *)) {NSError *error; NSString *token = [AAAttribution attributionTokenWithError:&error]; if (token ! = nil) {// send POST request attribution data}} else {// Fallback on earlier versions}}Copy the code

Refer to yesterday’s article: Direct Connection: Apple Search Advertising ASA Notes (middle)

SKAdNetwork

Reference links: developer.apple.com/documentati…

SKAdNetwork is another set of advertising attribution framework different from iAd, similar to Google’s advertising alliance: some Apps serve as Source Apps to provide advertising space in the App; Ad network assigns ads to the Ad slots in these Source Apps; Advertised Apps (Advertised Apps) Advertise through the Ad network. After users click the advertisement, install and open the corresponding App, attribution will be triggered and data will be sent to network (this part of data should also be accessible to advertisers).

If (@ the available (iOS 11.3, *)) {[SKAdNetwork registerAppForAdNetworkAttribution]; }Copy the code

summary

SKAdNetwork has the least understanding at present, and is also the most complicated among them. There are many restrictions, so I feel that few people in China can access it.

If you look here, you must have a basic understanding of ASA;

Day 1: We first introduced the advantages of ASA

Day 2: Introduces the AdServices Framework since 14.3

Day 3: The relationship among ATT, iAd, SKAdNetwork and AdServices FrameWork was sorted out;

I don’t know if I will write an article about ASA advertising tomorrow. If I do, I will write the following aspects

What is the MMP service?

How to access the third-party advertising platform and analyze their advantages

Write a self-attribution demo

Reference:

www.aiyingli.com/34522.html

www.cifnews.com/article/799…

Blog.csdn.net/shaobo8910/…

Lbadvisor.com/docs/apple-…

www.jianshu.com/p/bdd451f44…

zhuanlan.zhihu.com/p/346497767