Kein solcher Modul 'AppTrackingTransparency' Fehler

Aug 21 2020

Ich versuche, mein Google AdMob-Konto zu aktualisieren, da Apple mit der Veröffentlichung von iOS 14 ein neues Transparenz-Framework angekündigt hat, das Änderungen an den iOS-Apps erfordert. Ich habe meinen Google AdMob-Pod auf die neueste Version (7.64.0) aktualisiert. Wenn ich jedoch versuche, den folgenden Code im App-Delegaten zu verwenden: -

import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
    ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
    })
}

Ich erhalte folgende Fehlermeldung: -

No such module 'AppTrackingTransparency'

Jede Hilfe wäre sehr dankbar !! 🙏

Antworten

12 AhmedSafadi Aug 21 2020 at 16:15

Es ist nur ab Xcode 12 verfügbar, einschließlich der Beta-Version.

und es zu benutzen

import AppTrackingTransparency
import AdSupport

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

Beispiel für 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
}

}}

Und in meinem AppDelegate oder First Hauptbildschirm

    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")
    }