ここに私が使用しているコードがあります。 AppleからattributionDetails
をテストするにはどうすればよいですか?検索広告のアトリビューションAPIコードが正しく機能していることを確認できますか?アップルは、開発者がテストのためにいくつかのテストダミー変換を行う方法について、詳細はほとんどない(https://searchads.apple.com/help/measure-results/#attribution-api)。Appleの新しい検索広告アトリビューションAPIをテストするにはどうすればよいですか?
+ (void)conversionTracking
{
if ([[ADClient sharedClient] respondsToSelector:@selector(requestAttributionDetailsWithBlock:)])
{
// iOS 10 call exists
[[ADClient sharedClient] requestAttributionDetailsWithBlock:^(NSDictionary *attributionDetails, NSError *error) {
if (error) {
NSLog(@"Request Search Ads attributes failed with error: %@", error.description);
if (error.code == ADClientErrorLimitAdTracking) {
NSLog(@"Limit Ad Tracking is enabled for this device.");
}
}
else {
NSLog(@"Search Ads attributes: %@", attributionDetails);
// Found details, track the purchase.
NSString *searchAdsCampaign = @"";
// Check value for "iad-attribution":
if ([attributionDetails valueForKey:@"iad-attribution"] != nil) {
// Check value:
if ([[attributionDetails valueForKey:@"iad-attribution"] boolValue]) {
// Get campaign name:
if ([attributionDetails valueForKey:@"iad-campaign-name"] != nil) {
NSString *campaignName = [attributionDetails valueForKey:@"iad-campaign-name"];
// Exclude Apple test data, where value is "CampaignName":
if ([campaignName isEqualToString:@"CampaignName"]) {
searchAdsCampaign = @"No Campaign";
}
else {
searchAdsCampaign = campaignName;
}
}
else {
// Key not found:
searchAdsCampaign = @"Error";
}
}
else {
// Value "false":
searchAdsCampaign = @"No Campaign";
}
}
else {
// Key not found:
searchAdsCampaign = @"Error";
}
// TRACK IT HERE. Pass up searchAdsCampaign for tracking to my server.
}
}];
}
}
実際にはそうではありません... boolValueは、 "true"、 "YES"、 "Y"に対してtrueを返すほどスマートです。この動作のかなり完全なテストは次のとおりです:http://blog.manbolo.com/2013/07/22/nsstring-boolvalue – photogrammer