cha*_*wki 23 iphone facebook objective-c ios
我的应用程序因advertisingIdentifierFacebook sdk和Flurry SDK 被拒绝了!我advertisingIdentifier在最新的Facebook SDK (3.12)Flurry SDK中发现了一个问题.也许您可以使用以下方法检查您的图书馆是否出现:
我打开了FacebookSDK.framework作为终端中的库并输入以下命令
otool -v -s __TEXT __objc_methname FacebookSDK | grep advertisingIdentifier
Run Code Online (Sandbox Code Playgroud)
和Flurry SDK一样.
但我不知道该怎么做.
对于新闻:Flurry最近更新了他们的SDK,其中不包含"advertisingIdentifier",但Facebook还没有.
Die*_*ego 17
更新:
由于我在下面回答,我已将该应用程序提交到商店,但通过下面建议的编辑,Facebook只能跟踪事件而无需进行安装归因跟踪.因此,下面的解决方案的问题是它有效地禁止Facebook将安装链接到Facebook上的广告活动.
对此的修复应该是使用最新的3.13 Facebook SDK并简单地删除
-weak_framework AdSupport
Run Code Online (Sandbox Code Playgroud)
来自您的项目,如下所示.
该应用程序现在正确编译而无需编辑FBUtil.m,它没有链接AdSupport框架从Pods.xconfig和Pods-Facebook-iOS-SDK.xconfig中删除
我在下面留下了回复,以便您可以看到我之前尝试从SDK的3.12版本中删除AdSupport,但如果您想要安装广告归因跟踪,请不要使用它.(事实上,只有在您计划进行每次点击费用广告时才能使用它,否则Facebook将无法优化安装广告系列).
旧的回复:
在我看来,这似乎还不够.当然,我想完全删除AdSupport Framework.在Facebook SDK 3.12中,AdSupport Framework似乎总是导入/链接,即使它没有包含在您的项目或pod文件中(实际上我使用cocoapods来安装Facebook SDK).
AdSupport框架确实没有在我的项目中链接,但在我的应用程序可执行文件上执行"otool -L"表明框架仍然被链接.
为了避免当前的FB SDK执行此操作,您需要编辑以下内容:
在FBUtility.m
评论这个:
//#import <AdSupport/AdSupport.h>
Run Code Online (Sandbox Code Playgroud)
编辑以下方法:
+ (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;
}
Run Code Online (Sandbox Code Playgroud)
最后,如果您在项目工作区中使用cocoapods搜索全部
-weak_framework AdSupport
并删除所有这些(你会在Pods.xconfig和Pods-Facebook-iOS-SDK.xcconfig中找到它们)
这对我有用,现在我的app可执行文件免费提供给AdSupport.
And*_*rew 12
从https://github.com/facebook/facebook-ios-sdk获取源代码,而不是编译框架.只需删除框架并粘贴源代码即可.
转到FBUtility.m并修改此方法:
+ (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;
}
Run Code Online (Sandbox Code Playgroud)
至
+ (NSString *)advertiserID {
return @"";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13404 次 |
| 最近记录: |