J'utilise le code ci-dessous:
let request : GADRequest = GADRequest ()
request.testDevices = ["xxxxxxx",kGADSimulatorID]
Mais je reçois l'avertissement ci-dessous:
'testDevices' est obsolète: utilisez GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers.
Dois-je utiliser une syntaxe pour supprimer l'avertissement?
Il s'avère que le AdMob
/GoogleAdManager
deviceId
peut être trouvé en calculant le MD5 du advertisingIdentifier . De cette façon, vous pouvez récupérer et utiliser le test deviceId
dans le code sans avoir préalablement obtenu un identifiant de périphérique dans le journal de la console.
Pour éviter d'avoir à utiliser un en-tête de pontage ObjC-Swift (obtenir MD5 via <CommonCrypto/CommonCrypto.h>
), Je suggère d'utiliser un wrapper Swift autour du cadre CommonCrypto
, par exemple celui-ci:
En utilisant le framework ci-dessus (qui ajoute une propriété d'extension à String
pour calculer le hachage MD5), il s'agit simplement d'interroger:
GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers ?? []).contains(ASIdentifierManager.shared().advertisingIdentifier.uuidString.md5)