最近幫小伙伴集成Facebook 的event自動(dòng)打點(diǎn),踩了好幾個(gè)坑,記錄下。
首先鸡捐,根據(jù)關(guān)于Facebook官方提供的集成步驟在這:https://developers.facebook.com/docs/app-events/getting-started-app-events-ios
步驟一
先按照上面????的鏈接中所給的步驟操作完畢,這個(gè)文檔里面的第六步
麻裁,也就是關(guān)聯(lián)應(yīng)用委托和場景委托只給了swift
部分的代碼箍镜,oc的代碼如下:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
return YES;
}
文檔里的第七步:添加應(yīng)用事件,這里一般使用自動(dòng)記錄事件
就可以煎源,如果使用手動(dòng)記錄
色迂,那么搜集到的數(shù)據(jù)可能和自動(dòng)搜集的重復(fù),重復(fù)的事件就會(huì)有兩次搜集手销,造成數(shù)據(jù)不準(zhǔn)確脚草。
步驟二
也是在上述的文檔中闡述過的:獲取設(shè)備同意。也只是提供了swift的代碼原献,oc的如下:
#import <AppTrackingTransparency/AppTrackingTransparency.h>
- (void)requestIDFA {
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
NSLog(@"%lu",(unsigned long)status);
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
[[FBSDKSettings sharedSettings]setAdvertiserTrackingEnabled:YES];
}else{
[[FBSDKSettings sharedSettings]setAdvertiserTrackingEnabled:NO];
}
}];
} else {
// Fallback on earlier versions
}
}
這個(gè)是iOS14.5之后需要的馏慨,設(shè)備授權(quán)和拒絕分別調(diào)用YES 和NO,不要忘記在info.plist中添加相關(guān)的字段Privacy - Tracking Usage Description
姑隅。
步驟三
步驟三就是很坑的地方写隶,上面文檔到前兩步就結(jié)束了,就到測試環(huán)節(jié)了讲仰,我們測的時(shí)候怎么也測不通慕趴,官方給的測試面板沒反應(yīng)。然后我們的FaceBook后臺(tái)出現(xiàn)紅色的驚嘆號(hào)鄙陡,如下:
就出來個(gè)
SKAdNetwork
冕房,這個(gè)也是需要集成的,集成這個(gè)東西也踩了許多坑趁矾,不做贅述耙册,找了好久才找到FaceBook官方的文檔部分,上鏈接:Audience Network SDK按照我畫紅框的前五個(gè)步驟配置一下就行了毫捣。這里特別說明一下:我導(dǎo)入
FBAudienceNetwork
详拙,通過pod的方式時(shí),會(huì)報(bào)錯(cuò)蔓同,一直失敗饶辙,于是我選的手動(dòng)導(dǎo)入,如果你也一直失敗換手動(dòng)導(dǎo)入挺方便的斑粱。
結(jié)果
步驟三配置完畢后弃揽,我們后臺(tái)的關(guān)于SKAdNetwork的嘆號(hào)就消掉了。我們測試環(huán)境走它的測試流程并沒有通,但是小伙伴上線了APP后矿微,是可以搜集到事件的痕慢,因?yàn)椴橘Y料一部分開發(fā)者說也是測試情況不通,但是正式是沒問題的冷冗,所以就上線試試。
總結(jié)
搞這個(gè)東西查了好多資料惑艇,附上相關(guān)的比較關(guān)鍵的超級(jí)鏈接蒿辙,這里感謝這些作者的分享(??我都點(diǎn)贊了????),才讓我解決這個(gè)坑滨巴,不然可能會(huì)花費(fèi)更長的時(shí)間思灌。
參考鏈接: