108 votes

Comment puis-je obtenir l'ID de l'appareil pour Admob

J'utilise Eclipse pour développer des applications pour android, et je souhaite intégrer Admob pour faire de l'argent. Le tutoriel dit que je devrais regarder le LogCat pour trouver des ID, mais où est-il? alt text

Lorsque je l'exécute dans le mode test ou en mode réel, parfois, l'éclipse notifie que les Annonces retourné, et pourtant il ne s'affiche pas dans l'uem... quelqu'un peut m'expliquer?

112voto

joseph Points 306

Les réponses acceptées ne fonctionnera que si vous êtes seuls des essais sur l'Émulateur ou sur quelques appareils, mais si vous testez sur une multitude d'appareils, vous pouvez avoir besoin de moyens de prorammatically ajoutant le dispositif de roulement de l'ID de l'appareil.

Le code suivant va rendre le fonctionnement actuel de l'appareil dans un adview dispositif de test par programmation

...
    if(YourApplication.debugEnabled(this)) //debug flag from somewhere that you set
    {

        String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
        String deviceId = md5(android_id).toUpperCase();
        mAdRequest.addTestDevice(deviceId);
        boolean isTestDevice = mAdRequest.isTestDevice(this);

        Log.v(TAG, "is Admob Test Device ? "+deviceId+" "+isTestDevice); //to confirm it worked
    }

Vous devez utiliser le md5 de l'Android ID, et il doit être en majuscules. Ici est le md5 code que j'ai utilisé

public static final String md5(final String s) {
    try {
        // Create MD5 Hash
        MessageDigest digest = java.security.MessageDigest
                .getInstance("MD5");
        digest.update(s.getBytes());
        byte messageDigest[] = digest.digest();

        // Create Hex String
        StringBuffer hexString = new StringBuffer();
        for (int i = 0; i < messageDigest.length; i++) {
            String h = Integer.toHexString(0xFF & messageDigest[i]);
            while (h.length() < 2)
                h = "0" + h;
            hexString.append(h);
        }
        return hexString.toString();

    } catch (NoSuchAlgorithmException e) {
        Logger.logStackTrace(TAG,e);
    }
    return "";
}

106voto

Phobos Points 3578

Si vous diffusez des annonces sur un émulateur, il n'y a pas d'identité. utilisez simplement le AdManager méthode et mis à TEST_EMULATOR comme le logcat dit. Si vous exécutez sur un appareil réel avec le débogage usb et regarder le logcat, l'ID apparaîtra.

17voto

Elenasys Points 23268

Quelque chose de semblable à des Annonces Google, à partir de la documentation:

public AdRequest.Générateur de addTestDevice (String id)

Les Causes d'un appareil pour recevoir des test annonces. Le deviceId peut être obtenu par l'affichage de la logcat de sortie après la création d'une nouvelle annonce. Pour les émulateurs, l'utilisation DEVICE_ID_EMULATOR.

par exemple, mon Test id de Périphérique affiché dans le LogCat est - "B86BC9402A69B031A516BC57F7D3063F":

AdRequest adRequest = new AdRequest.Builder() 
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .addTestDevice("B86BC9402A69B031A516BC57F7D3063F")
        .build();

14voto

Cristiana214 Points 661

Pour obtenir le Hash ID de l'Appareil

à l'intérieur de la oncreate

String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
        String deviceId = md5(android_id).toUpperCase();
Log.i("device id=",deviceId);

puis ajouter cette classe de md5 ()

public String md5(String s) {
        try {
            // Create MD5 Hash
            MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
            digest.update(s.getBytes());
            byte messageDigest[] = digest.digest();

            // Create Hex String
            StringBuffer hexString = new StringBuffer();
            for (int i=0; i<messageDigest.length; i++)
                hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
            return hexString.toString();

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";
    }

7voto

Oto Zars Points 92

Si vous êtes l'affichage d'annonces à l'aide de XML de mise en page et si vous avez déjà des "annonces:testDevices=" dans votre mise en page fichier XML, AdMob ne PAS imprimer "Pour obtenir de test des annonces sur ce périphérique..." message dans le LogCat de sortie. Prenez cette sortie et puis, vous verrez le LogCat message.

Voici un bon tutoriel sur la façon de trouver des id de périphérique dans le LogCat: http://webhole.net/2011/12/02/android-sdk-tutorial-get-admob-test-device-id/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X