首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有这样的模块“”AppTrackingTransparency“”错误

没有这样的模块“”AppTrackingTransparency“”错误
EN

Stack Overflow用户
提问于 2020-08-21 11:33:38
回答 2查看 10K关注 0票数 13

我正在尝试更新我的谷歌AdMob账户,因为苹果宣布了一个新的透明度框架,要求随着iOS 14的发布对iOS应用程序进行更改。我将我的谷歌AdMob pod更新到了最新版本(7.64.0)。但是,当我尝试在App Delegate中使用以下代码时:

代码语言:javascript
复制
import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
    ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
    })
}

我得到以下错误:-

代码语言:javascript
复制
No such module 'AppTrackingTransparency'

如有任何帮助,将不胜感激!!?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-21 17:15:35

它只能从Xcode12开始使用,包括测试版。

并使用它

代码语言:javascript
复制
import AppTrackingTransparency
import AdSupport

if #available(iOS 14, *) {
   ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
  // Load ads here 
   })
} else {
  // Load ads here 
}

RewardedVideoAdsManager示例

代码语言:javascript
复制
class RewardedVideoAdsManager: GADRewardedAd {


static let shared = RewardedVideoAdsManager()

var rewardedAd: GADRewardedAd?

func createAndLoadRewardedAd(unitId: String) -> GADRewardedAd? {
    rewardedAd = GADRewardedAd(adUnitID: unitId)
    let myRequest = GADRequest()
    rewardedAd?.load(myRequest) { error in
        if let error = error {
            print("Loading failed: \(error)")
        } else {
            print("Loading Succeeded")
        }
    }
    return rewardedAd
}

}

在我的AppDelegate或第一个主屏幕中

代码语言:javascript
复制
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
            RewardedVideoAdsManager.shared.rewardedAd = RewardedVideoAdsManager.shared.createAndLoadRewardedAd(unitId: "ca-app-pub-8175294120313121/4011630802")
        })
    } else {
        RewardedVideoAdsManager.shared.rewardedAd = RewardedVideoAdsManager.shared.createAndLoadRewardedAd(unitId: "ca-app-pub-8175294120313121/4011630802")
    }
票数 19
EN

Stack Overflow用户

发布于 2021-01-29 15:50:52

objective-c:

代码语言:javascript
复制
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>

extern "C" void RequestIDFA()
{
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        }];
    } else {
    }
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63516131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档