我正在尝试使用 Apples Search Ad api 将广告数据返回到应用程序,以便我可以记录它。第一次尝试生成了 Apple 的默认数据,第二天我在所有属性上都返回了 nil。
会不会跟这个有关系? iadAttribution = false
我在几台设备上进行测试,一台已经更新到最新的 IOS,所有设备都产生相同的结果。
请注意,该应用尚未上线,我正在使用测试设备!
知道为什么它返回 nil 而不是默认数据吗?
override func loadView() {
super.loadView()
getSearchAdsInfo()
}
func getSearchAdsInfo(){
ADClient.shared().requestAttributionDetails({ (attributionDetails, error) in
if error == nil {
for (type, adDictionary) in attributionDetails! {
var attribution = adDictionary as? Dictionary<AnyHashable, Any>;
let params = [
"deviceID": self.appData.deviceInfo,
"appID": "self.appData.appID",
"iadAdgroupId": attribution?["iad-adgroup-id"] as? String as Any,
"iadAdgroupName": attribution?["iad-adgroup-name"] as? String as Any,
"iadAttribution": attribution?["iad-attribution"] as? String as Any,
"iadCampaignId": attribution?["iad-campaign-id"] as? String as Any,
"iadCampaignName": attribution?["iad-campaign-name"] as? String as Any,
"iadClickDate": attribution?["iad-click-date"] as? String as Any,
"iadConversionDate": attribution?["iad-conversion-date"] as? String as Any,
"iadCreativeId": attribution?["iad-creative-id"] as? String as Any,
"iadCreativeName": attribution?["iad-creative-name"] as? String as Any,
"iadKeyword": attribution?["iad-keyword"] as? String as Any,
"iadLineitemId": attribution?["iad-lineitem-id"] as? String as Any,
"iadLineitemName": attribution?["iad-lineitem-name"] as? String as Any,
"iadOrgName": attribution?["iad-org-name"] as? String as Any
]
print(params)
}
}
})
}
结果
["iadCampaignName": nil,
"iadLineitemName": nil,
"iadCreativeId": nil,
"iadOrgName": nil,
"iadConversionDate": nil,
"iadAdgroupName": nil,
"iadClickDate": nil,
"iadCreativeName": nil,
"iadLineitemId": nil,
"iadCampaignId": nil,
"iadKeyword": nil,
"iadAdgroupId": nil,
"iadAttribution": Optional("false")]
和 print(attributionDetails) 产生以下内容
Optional(["Version3.1": {
"iad-attribution" = false;
}])
最佳答案
对我有用的是获取适用于 iOS 版本 10.2 的模拟器。有了这个版本,虚拟数据就会通过。我明白了:
`Optional([AnyHashable("Version3.1"): {
"iad-adgroup-id" = 1234567890;
"iad-adgroup-name" = AdGroupName;
"iad-attribution" = true;
"iad-campaign-id" = 1234567890;
"iad-campaign-name" = CampaignName;
"iad-click-date" = "2018-06-12T14:56:14Z";
"iad-conversion-date" = "2018-06-12T14:56:14Z";
"iad-creative-id" = 1234567890;
"iad-creative-name" = CreativeName;
"iad-keyword" = Keyword;
"iad-lineitem-id" = 1234567890;
"iad-lineitem-name" = LineName;
"iad-org-name" = OrgName;
}])
最新的 iOS 版本(在我的例子中是 11.4)似乎没有发送虚拟数据
点击此链接了解如何获取旧版 iOS 的模拟器: https://stackoverflow.com/a/37684633/1072262
关于IOS Swift - 搜索广告 API requestAttributionDetails 只返回 Nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50818600/