Böyle bir modül yok 'AppTrackingTransparency' Hatası

Aug 21 2020

Apple, iOS 14 sürümüyle birlikte iOS uygulamalarında değişiklik yapılmasını gerektiren yeni bir şeffaflık çerçevesini duyurduğu için Google AdMob hesabımı güncellemeye çalışıyorum. Google AdMob kapsülümü en son sürüme (7.64.0) güncelledim. Ancak, Uygulama Temsilcisinde aşağıdaki kodu kullanmaya çalıştığımda: -

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

Şu hatayı alıyorum: -

No such module 'AppTrackingTransparency'

Herhangi bir yardım çok takdir edilecektir !! 🙏

Yanıtlar

12 AhmedSafadi Aug 21 2020 at 16:15

beta sürümü dahil, yalnızca Xcode 12'den itibaren kullanılabilir.

ve onu kullanmak

import AppTrackingTransparency
import AdSupport

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

RewardedVideoAdsManager için Örnek

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
}

}

Ve AppDelegate veya İlk ana ekranımda

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