Nessun errore del modulo "AppTrackingTransparency"
Aug 21 2020
Sto cercando di aggiornare il mio account Google AdMob poiché Apple ha annunciato un nuovo framework di trasparenza che richiede modifiche alle app iOS con il rilascio di iOS 14. Ho aggiornato il mio pod Google AdMob all'ultima versione (7.64.0). Tuttavia, quando provo a utilizzare il codice seguente nell'App Delegate: -
import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Tracking authorization completed. Start loading ads here.
// loadAd()
})
}
Ottengo il seguente errore: -
No such module 'AppTrackingTransparency'
Qualsiasi aiuto sarebbe molto apprezzato !! 🙏
Risposte
12 AhmedSafadi Aug 21 2020 at 16:15
è disponibile solo a partire da Xcode 12, inclusa la versione beta.
e per usarlo
import AppTrackingTransparency
import AdSupport
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Load ads here
})
} else {
// Load ads here
}
Esempio per RewardedVideoAdsManager
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
}
}
E nel mio AppDelegate o nella prima schermata principale
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")
}