我如何獲得Admob的設(shè)備ID?
我來答

我如何獲得Admob的設(shè)備ID?

張一靜 2020-08-21 提問
271

我正在使用Eclipse為Android開發(fā)應(yīng)用程序,并且我想要集成Admob來賺錢。教程說我應(yīng)該看LogCat來查找ID,但它在哪里?

關(guān)閉
提交回答
1 個回答
我來答
趙子君

如果你正在大量設(shè)備上進行測試,則可能需要一些實際添加正在運行設(shè)備的設(shè)備ID的方法。

下面的代碼將使當(dāng)前運行的設(shè)備以編程方式進入一個顯示測試設(shè)備

...

    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

    }

需要使用Android ID的MD5,而且它需要大寫。下面是我使用的MD5代碼

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 "";

}

你可以參考一下。

回答于 2020-08-21
贊同
評論