requestIDFA/应用程序跟踪权限iOS 14-如何将其设置为在提示后显示广告?
在我的应用程序上,我是在它第一次启动后直接问这个问题的requestIDFA/应用程序跟踪权限iOS 14-如何将其设置为在提示后显示广告?,ios,objective-c,Ios,Objective C,在我的应用程序上,我是在它第一次启动后直接问这个问题的 - (void)requestIDFA { if (@available(iOS 14, *)) { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { switch (status)
- (void)requestIDFA {
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
switch (status) {
case ATTrackingManagerAuthorizationStatusAuthorized:
NSLog(@"ATTrackingManagerAuthorizationStatusAuthorized");
break;
case ATTrackingManagerAuthorizationStatusDenied:
NSLog(@"ATTrackingManagerAuthorizationStatusDenied");
break;
case ATTrackingManagerAuthorizationStatusRestricted:
NSLog(@"ATTrackingManagerAuthorizationStatusRestricted");
break;
case ATTrackingManagerAuthorizationStatusNotDetermined:
NSLog(@"ATTrackingManagerAuthorizationStatusNotDetermined");
break;
}
}];
} else {
// Fallback on earlier versions
}
}
我加载广告横幅的代码是
- (void)addGoogleMobileAds {
if(areAdsRemoved){
NSLog(@"Remove Ads IAP Purchased");
}else{
[IronSource setBannerDelegate:self];
[IronSource loadBannerWithViewController:self size:ISBannerSize_SMART];
}
但是我看不到在哪里使用[self-addGoogleMobileAds]代码>我不希望在用户选择IDFA请求选项之前加载它们
对于那些没有使用14.5或更高版本的用户,我需要确保[self addGoogleMobileAds]代码>也为它们加载
编辑-
所以我可以这样使用它-?然而,如果我像下面这样使用它,广告不会出现,直到应用程序关闭并重新打开,然后它的工作如预期
- (void)requestIDFA {
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
switch (status) {
case ATTrackingManagerAuthorizationStatusAuthorized:
[self addGoogleMobileAds];
NSLog(@"ATTrackingManagerAuthorizationStatusAuthorized");
break;
case ATTrackingManagerAuthorizationStatusDenied:
[self addGoogleMobileAds];
NSLog(@"ATTrackingManagerAuthorizationStatusDenied");
break;
case ATTrackingManagerAuthorizationStatusRestricted:
[self addGoogleMobileAds];
NSLog(@"ATTrackingManagerAuthorizationStatusRestricted");
break;
case ATTrackingManagerAuthorizationStatusNotDetermined:
[self addGoogleMobileAds];
NSLog(@"ATTrackingManagerAuthorizationStatusNotDetermined");
break;
}
}];
} else {
[self addGoogleMobileAds];
// Fallback on earlier versions
}
}
我相信,即使用户拒绝跟踪,广告框架也会对你有用;只是它们不会个性化。如果您试图通过等待用户同意来推迟安装,则只需在回调块中处理他们的响应。@Vym我已更新了我的问题-因此我可以使用最后一部分?@user1695971您是否检查了[self addGoogleMobileAds];在给出IDFA后是否调用?。。。如果是的话,你能指定调用[self addGoogleMobileAds]之后发生了什么吗;?