No existe el error "AppTrackingTransparency" del módulo
Aug 21 2020
Estoy intentando actualizar mi cuenta de Google AdMob ya que Apple anunció un nuevo marco de transparencia que requiere cambios en las aplicaciones de iOS con el lanzamiento de iOS 14. Actualicé mi pod de Google AdMob a la última versión (7.64.0). Pero, cuando intento usar el siguiente código en el Delegado de la aplicación: -
import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Tracking authorization completed. Start loading ads here.
// loadAd()
})
}
Obtuve el siguiente error:-
No such module 'AppTrackingTransparency'
¡Cualquier ayuda será muy apreciada! 🙏
Respuestas
12 AhmedSafadi Aug 21 2020 at 16:15
solo está disponible a partir de Xcode 12, incluida la versión beta.
y usarlo
import AppTrackingTransparency
import AdSupport
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
// Load ads here
})
} else {
// Load ads here
}
Ejemplo de RewardsVideoAdsManager
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
}
}
Y en mi AppDelegate o Primera pantalla principal
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")
}