我正在添加iOS应用程序中的脸书分析。我从客户端添加了一些事件,但后来我们认为我们也可以从服务器端添加一些事件。为了从服务器端发送Facebook分析事件,后端团队需要custom_audience_third_party_id。
根据FB- custom_audience_third_party_id的说法:这个ID是Facebook用户的ID和调用的Facebook应用程序ID的加密编码。同一个用户的多次调用将返回不同的ID,因此这些ID不能用于关联设备或应用程序的行为,只有当发送回Facebook以创建自定义受众时才有意义。
检索到的ID表示通过以下方式标识的Facebook用户:如果指定的访问令牌有效,则ID将表示与该令牌关联的用户;否则,ID将表示登录到设备上的本机Facebook应用程序的用户。如果没有原生的Facebook应用,没有人登录,或者用户在iOS级别退出了广告跟踪,那么就会返回一个nil ID。
如果用户选择退出(通过iOS)广告跟踪,应用程序本身通过[FBSDKSettings limitEventAndDataUsage]标志使用有限的事件,或者无法识别特定的Facebook用户,此方法将返回nil。
为了获取"custom_audience_third_party_id“:我发送了一个请求事件。
FBSDKGraphRequest *request = [FBSDKAppEvents requestForCustomAudienceThirdPartyIDWithAccessToken:[FBSDKAccessToken currentAccessToken]];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (error) {
NSLog(@"ERROR in FB %@",[error description]);
} else {
NSLog(@"result is %@", result);
NSLog(@"custom_audience_third_party_id ==%@", [result valueForKey:@"custom_audience_third_party_id"]);
}
}]; 但是nil总是会出现[result valueForKey:@"custom_audience_third_party_id"]。
我阅读了FB文档,但仍然不能知道确切的问题(为什么[result valueForKey:@"custom_audience_third_party_id"]总是nil。)
发布于 2015-06-25 15:22:32
这可能是SDK Bug或/和它们的端点(图-api)生成third_party_id的错误。android就是这种情况。我们尝试了4.0.1,但没有任何成功。升级到4.2.0不需要做任何额外的更改。
发布于 2018-01-16 05:28:45
我能够在我的应用程序中修复这个问题,方法是在发送请求之前添加一个短暂的延迟,即使使用nil访问令牌也是如此……
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
FBSDKGraphRequest *request = [FBSDKAppEvents requestForCustomAudienceThirdPartyIDWithAccessToken:nil];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, NSDictionary *result, NSError *error) {
NSString *thirdPartyId = result[@"custom_audience_third_party_id"];
if(thirdPartyId != nil){
// Do what you must with the ID
}
}];
});https://stackoverflow.com/questions/30732892
复制相似问题