苹果搜索广告ASA笔记(下)

这是我参与更文挑战的第24天,活动详情查看: 更文挑战

前言

ASA即苹果官方搜索广告Apple Search Ads,是一种付费的App Store推广方式,可使App出现在苹果商店搜索结果的第一位,以此获取精准的用户。

昨天分享了ASA 和ASO的异同 和 ASA 在14.3之后投放自归因AdServices框架;

文章连接:

直达连接:苹果搜索广告ASA笔记(上)

直达连接:苹果搜索广告ASA笔记(中)

今天继续填昨天埋下的坑,今天SAS分享也有两个点

  1. iOS14.3之前的归因方案
  2. ATT、iAd、SKAdNetwork、AdServices FrameWork之间的区别

iOS14.3之前的归因方案:iAd Framework

iAd Framework用于获取应用安装的ASA归因。用户完成App安装并且打开后,可以通过iAd framework获取安装的ASA归因:安装来自哪个campaign的keyword、素材、点击时间等。获取这个归因数据需要上面idfa的权限

归因数据报告需要满足以下条件:

  • 所有操作必须在同一设备上发生。
  • 归因仅适用于运行iOS 10或更高版本的用户,并且在过去30天内下载了该应用。
  • 必须从App Store列表或Apple Search Ads 展示中进行下载或重新下载。
// 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); 
}];
}
复制代码

{ 
"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 之后的
{
  "orgId":1234567890,
  "campaignId":1234567890,
  "conversionType":"Download",
  "clickDate":"2021-01-11T06:41Z",
  "adGroupId":1234567890,
  "countryOrRegion":"US",
  "keywordId":12323222,
  "creativeSetId":1234567890,
  "attribution":true
}
  
复制代码

AdSupport, ATT、iAd、SKAdNetwork、AdServices FrameWork介绍

AdSupport

参考文档:https//developer.apple.com/documentation/adsupport

在iOS14之前,追踪广告效果基本都是通过IDFA实现的;AdSupport就是用于获取idfa,获取时会判断当前设备是否拥有相关权限。早之前idfa的权限在设置中可以全局控制; 新版本的iOS支持App级别的权限管理(ATT framework)。

- (NSString *)getIdfa {
    NSString *idfa = [[ASIdentifierManager sharedManager].advertisingIdentifier UUIDString];
    return idfa;
}
复制代码

AppTrackingTransparency framework

参考链接:

iOS 14 之后,苹果出台了强制执行的 App Tracking Transparency(ATT)政策,要求开发者必须明确征得用户的许可,14.5 强制执行; ATT用于管理应用级别的idfa权限申请Api ,调用之后会弹窗让用户单独授权,这样获取idfa的操作成本较大,90%用户都会点击拒绝;

img

 if (@available(iOS 14, *)) {
        __typeof__(self) weakSelf = self;
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
           
            dispatch_async(dispatch_get_main_queue(), ^{
                [weakSelf refreshStatus];
            });
        }];
    }
复制代码

iAd Framework

参考文档

用于获取应用安装的ASA归因。用户完成App安装并且打开后,可以通过iAd framework获取安装的ASA归因:安装来自哪个campaign的keyword、素材、点击时间等。获取这个归因数据需要上面idfa的权限

注意,对于某App的单个用户,如果没有重复下载行为,归因数据是不随时间变化的,只需要获取一次。这种归因可以统计不同keyword带来的用户后续的App内行为。

if ([[ADClient sharedClient] respondsToSelector:@selector(requestAttributionDetailsWithBlock:)]) {
            [[ADClient sharedClient] requestAttributionDetailsWithBlock:^(NSDictionary *attributionDetails, NSError *error) {
                if (error == nil) {
                    // 归因数据正确
                    success(attributionDetails);
                } else {
                    // 归因数据错误
                    gError = error;
                }
            }];
        }
复制代码

AdServices framework

iOS 14.3+新增的功能。类似iAd framework,也是获取应用安装的归因数据,和iAd不同的是不需要idfa授权,而是使用临时token的方式获取归因数据:

  1. 请求AdServices framework,获取临时token(24h内有效)
  2. 使用token获取归因数据

这种方式返回的数据,不包含用户行为数据(点击时间),仅仅是安装归因。如果ATT有相关授权,归因数据里才会有用户点击时间。

#import <AdServices/AdServices.h>

- (void) methodToGetToken {
    if (@available(iOS 14.3, *)) {
        NSError *error;
        NSString *token = [AAAttribution attributionTokenWithError:&error];
        if (token != nil) {
          // 发送POST请求归因数据
        }
    } else {
        // Fallback on earlier versions
    }
}
复制代码

参考昨天写的文章:直达连接:苹果搜索广告ASA笔记(中)

SKAdNetwork

参考链接:developer.apple.com/documentati…

Diagram showing a user tapping an ad for app B inside of app A, then installing and launching app B, which triggers a conversion notification after app B calls one of two methods, and after the timer expires. The ad network receives the postback which it must verify.

SKAdNetwork是区别于iAd的另一套广告归因框架,类似于谷歌的广告联盟:一部分App作为流量提供者(Source Apps),在App内提供广告位;Ad network给这些Source Apps中的广告位分配广告;需要推广的App(Advertised Apps)通过Ad network投放广告。用户点击广告后,安装并打开相应App,就会触发归因,向network发送数据(这部分数据广告主应该也是可以获取的)

 if (@available(iOS 11.3, *)) {
    [SKAdNetwork registerAppForAdNetworkAttribution];
 }
复制代码

小结

SKAdNetwork,目前理解是最少的,也是这里面最复杂,限制比较多,感觉国内很少有人接入;

看到这里的同学,肯定对ASA应该算有了比较基本的认识了吧;

第一天:我们首先介绍了 ASA的优势

第二天:介绍了14.3之后的AdServices framework

第三天:对 ATT、iAd、SKAdNetwork、AdServices FrameWork 之间关系做了一个梳理;

明天不知道还不会写关于ASA广告相关文章,如果要写,也是下面这几个方面吧

MMP服务 是什么?

第三方广告平台怎么接入,以及他们的优势分析

写一个自归因的demo

参考:

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享