web-dev-qa-db-fra.com

Identifier le périphérique de test pour Admob

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?

4
Mahmut K.

Solution rapide

Il s'avère que le AdMob/GoogleAdManagerdeviceId 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)
0
10623169