如何获取Admob的设备ID

时间:2014-10-10 02:31:36

标签: android admob

我在我的应用程序中添加了admob广告, 通过以下代码找到admob所需的设备ID

String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
device_id = md5(android_id).toUpperCase();

public static String md5(String s) {
    try {

        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        digest.update(s.getBytes());
        byte messageDigest[] = digest.digest();


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

问题在于它在某些设备上展示广告,但在某些设备上展示了测试广告。我哪里错了?请帮忙

3 个答案:

答案 0 :(得分:3)

addTestDevice用于展示针对development.so的Admob测试广告,从您的addTestDevice中移除adRequest,即。将您的adRequest设为

   AdRequest adRequest = new AdRequest.Builder().build();
   adView.loadAd(adRequest);

如果你想获得用于测试的设备ID,那么请看这个 How can I get device ID for Admob 然后在addTestDevice中添加adRequest作为

AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(device_id)
                .build();
adView.loadAd(adRequest);

答案 1 :(得分:1)

官方教程页面上提到了链接 - https://developers.google.com/mobile-ads-sdk/docs/admob/android/banner

为方便起见,logcat将打印设备的MD5哈希ID,例如:    使用AdRequest.Builder.addTestDevice(&#34; AC98C820A50B4AD8A2106EDE96FB87D4&#34;)在此设备上投放测试广告。

表示您的设备ID将同样显示。以上只是一个示例id。

答案 2 :(得分:0)

只需转到Log Cat并搜索“广告”即可。 然后你会发现你的设备就像使用它一样。

AdRequest request = new AdRequest.Builder()
.addTestDevice("Device ID")
.build();