我的应用程序因 Facebook SDK 和 Flurry SDK 中的 advertisingIdentifier
而被拒绝!我在最新的 Facebook SDK (3.12)
和 Flurry SDK 中发现了 advertisingIdentifier
的出现。也许您可以使用以下方法检查您的图书馆是否发生:
我在终端中将 FacebookSDK.framework 作为库打开并键入以下命令
otool -v -s __TEXT __objc_methname FacebookSDK | grep advertisingIdentifier
Flurry SDK 也是如此。
但是我不知道该怎么办?
新闻:Flurry 最近更新了他们的 SDK,它不包含 advertisingIdentifier
,但 Facebook 还没有。
最佳答案
更新:
自从在下方回答后,我已将应用程序提交到商店,但根据下方建议的编辑,Facebook 只能追踪事件,而无法进行安装归因追踪。 因此,以下解决方案的问题在于它实际上禁止 Facebook 将安装链接到 facebook 上的广告事件。
解决这个问题的方法是使用最新的 3.13 Facebook SDK 并简单地删除
-weak_framework AdSupport
按照以下建议从您的项目中获取。
该应用程序现在无需编辑 FBUtil.m 即可正确编译,并且它不会链接 AdSupport 框架已从 Pods.xconfig 和 Pods-Facebook-iOS-SDK.xconfig 中删除
我在下面留下了回复,这样您就可以看到我之前尝试从 3.12 版 SDK 中删除 AdSupport,但如果您想安装广告归因跟踪,请不要使用它。 (事实上 ,您只有在计划进行 CPC 广告时才可以使用它,否则 facebook 将无法优化安装广告事件)。
旧回复:
这对我来说似乎还不够。 可以肯定的是,我想完全删除 AdSupport 框架。 在 Facebook SDK 3.12 中,AdSupport Framework 似乎总是被导入/链接,即使它没有包含在您的项目或 pod 文件中(事实上我正在使用 cocoapods 安装 Facebook SDK)。
AdSupport 框架确实没有链接到我的项目中,但在我的应用程序可执行文件上执行“otool -L”显示该框架仍在链接中。
为了避免当前的 FB SDK 这样做,您需要编辑以下内容:
在 FBUtility.m 中
评论这个:
//#import <AdSupport/AdSupport.h>
编辑以下方法:
+ (NSString *)advertiserID {
/*
NSString *advertiserID = nil;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
advertiserID = [[manager advertisingIdentifier] UUIDString];
}
return advertiserID;
*/
return @"";
}
+ (FBAdvertisingTrackingStatus)advertisingTrackingStatus {
/*
if ([FBSettings restrictedTreatment] == FBRestrictedTreatmentYES) {
return AdvertisingTrackingDisallowed;
}
FBAdvertisingTrackingStatus status = AdvertisingTrackingUnspecified;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
if (manager) {
status = [manager isAdvertisingTrackingEnabled] ? AdvertisingTrackingAllowed : AdvertisingTrackingDisallowed;
}
}
*/
return AdvertisingTrackingDisallowed;
}
最后,如果您在项目工作区中使用 cocoapods 搜索所有
-weak_framework AdSupport
然后删除所有这些(你会在 Pods.xconfig 和 Pods-Facebook-iOS-SDK.xcconfig 中找到它们)
这对我很有用,现在我的应用程序可执行文件已从 AdSupport 中免费获得。
关于ios - 应用因 Facebook SDK 和 Flurry SDK 中的 advertisingIdentifier 而被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21574680/