android - 如何获取 Admob 的设备 ID

标签 android eclipse admob

我正在使用 Eclipse 开发适用于 android 的应用程序,并且我想集成 Admob 来赚钱。 教程说我应该看 LogCat 来查找 ID,但它在哪里? alt text

当我在测试模式或真实模式下运行时,有时eclipse会通知广告返回,但它没有显示在emu中......谁能解释一下?

最佳答案

如果您仅在模拟器或少数设备上进行测试,则可接受的答案将起作用,但如果您在过多的设备上进行测试,您可能需要一些以编程方式添加正在运行的设备的设备 ID 的方法。

以下代码将以编程方式将当前运行的设备变成adview测试设备

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

编辑:显然MD5方法并不完美,建议尝试https://stackoverflow.com/a/21333739/2662474我不再需要这个功能,所以我没有测试。祝你好运!

关于android - 如何获取 Admob 的设备 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524752/

相关文章:

android - 使用 Retrofit 在 Android 中重新创建 flask api 调用

java - @Override 编译报错,实现一个接口(interface)(eclipse jdk1.6.0_23 linux)

java - Eclipse无法安装Jaspersoft Studio 6.15

eclipse - 将 "External Tool Configurations"从一个 Eclipse 安装转移到另一个安装的快速方法?

Android,Admob/Adview takes|steals focus from edittext,如何预防?

java - 在模拟器中加载插页式广告时出现 AdMob 错误

android - Google Keep 如何在保存录音的同时进行语音识别?

android View 动画放大和缩小弹跳

java - 将 Admob 添加到 Libgdx 游戏

android - 隐藏在键盘后面的EditText