如何获取Admob的设备ID

She*_*ong 92 eclipse android admob

我正在使用Eclipse开发Android应用程序,我想整合Admob来赚钱.教程说我应该看LogCat找到ID,但它在哪里? 替代文字

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

jos*_*eph 101

如果您只在模拟器或少数设备上进行测试,则接受的答案将起作用,但如果您在大量设备上进行测试,则可能需要一些以编程方式添加运行设备的设备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
    }
Run Code Online (Sandbox Code Playgroud)

你需要使用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 "";
}
Run Code Online (Sandbox Code Playgroud)

编辑:显然,MD5方法并不完美,有人建议尝试/sf/answers/1493361761/我不再需要这个功能所以我没有测试过.祝好运!

  • 请参阅此答案:http://stackoverflow.com/a/21333739/4019544此实现不处理一些零,类似于此处链接的帖子上接受的答案. (4认同)

小智 95

如果您在模拟器上运行admob广告,则没有ID.只需使用AdManager方法并将其设置为TEST_EMULATOR,就像logcat所说的那样.如果您在具有USB调试的实际设备上运行并观察logcat,则ID将显示在那里.

  • 使用上述术语"adRequest"进行过滤后,您会找到一行 - "12-19 17:48:25.615:I/Ads(2132):要在此设备上获取测试广告,请调用adRequest.addTestDevice("D9XXXXXXXXXXXXXXXXXXXXXXXXXXXXX ");".只需复制粘贴代码并享受乐趣. (47认同)
  • 我的日志说:"使用AdRequest.Builder.addTestDevice("5EXXXX等")在此设备上获取测试广告." (5认同)
  • 只需在 logcat 的过滤器字段中键入“addTestDevice”。 (2认同)

Jor*_*sys 16

类似于Google广告的内容,来自文档:

public AdRequest.Builder addTestDevice(String deviceId)

使设备接收测试广告.可以通过 在创建新广告后查看logcat输出来获取deviceId .对于模拟器,请使用DEVICE_ID_EMULATOR.

例如,我在LogCat中显示的测试设备ID是"B86BC9402A69B031A516BC57F7D3063F":

AdRequest adRequest = new AdRequest.Builder() 
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .addTestDevice("B86BC9402A69B031A516BC57F7D3063F")
        .build();
Run Code Online (Sandbox Code Playgroud)


Cri*_*vez 13

获取哈希设备ID

在oncreate里面

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

然后为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 "";
    }
Run Code Online (Sandbox Code Playgroud)


Pin*_*lve 12

  • 您的应用是否已在Play商店发布 - 包含实时广告:

如果您的应用在Play商店中展示实时广告 - 您无法使用实时广告进行测试 - 请在代码中添加您的设备ID,以便在您的真实设备上从Admob获取测试广告.切勿在开发或测试期间使用实时广告.

要在logcat中获取真实的设备ID,

  1. 将设备以USB调试模式连接到Android Studio

USB调试模式(开发者选项)

  1. 在您的设备上打开显示来自Admob的实时广告的任何应用:在已连接的设备上,如果您从Play商店下载了应用(显示实时广告),请打开该应用,或打开显示实时Admob广告的任何其他应用.您的设备应该具有互联网连接.

  2. 使用'device'过滤logcat,如下所示,以获取测试设备

在logcat中测试设备ID

阅读设备上的AdMob广告测试-设备ID可以改变更多


小智 7

如果您使用XML布局展示广告,并且您的布局XML文件中已经有"ads:testDevices =",则AdMob将不会在LogCat输出中打印"在此设备上获取测试广告..."消息.拿出来然后你会看到LogCat消息.

以下是有关如何在LogCat中查找设备ID的精彩教程:http://webhole.net/2011/12/02/android-sdk-tutorial-get-admob-test-device-id/


San*_*waj 7

如果您在实际设备上测试您的应用程序,那么您可以尝试这个小型Android应用程序,它为您提供设备ID:

https://play.google.com/store/apps/details?id=pe.go_com.admobdeviceidfinder&hl=en

您将直接获得散列设备ID.希望这可以帮助.


Ahm*_*aza 6

要获取设备 ID,请将手机连接到 USB 并在 android studio 中打开 logcat 使用以下代码(确保在设备中启用了 USB 调试)。然后打开任何带有谷歌广告的应用程序(从 Play 商店下载任何随机应用程序)。如图所示,在 Logcat 中输入“set”。您的设备 ID 在图像中突出显示为

setTestDeviceIds(Arrays.asList("CC9DW7W7R4H0NM3LT9OLOF7455F8800D"))

在此处输入图片说明

如图所示在代码中使用测试设备

val adRequest = AdRequest
        .Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .addTestDevice("CC9DW7W7R4H0NM3LT9OLOF7455F8800D")
        .build()
Run Code Online (Sandbox Code Playgroud)


Con*_*ext 5

如果你没有在logcat中获取它,只需输入任何设备ID并加载你的广告并运行你的应用程序然后转到日志,你会得到它I/Ads: Use AdRequest.Builder.addTestDevice("XXXXXXXXXXXXXXXXXXXXXXXXX") to get test ads on this device.之后再把它放回去并再次运行你的应用程序.


huu*_*duy 5

展示测试广告的另一种最简单的方法是使用测试设备ID的横幅广告来展示所有设备的 admob测试广告。“ ca-app-pub-3940256099942544 / 6300978111 ”。该admob测试广告ID已在google的admob教程中指出:链接。这是上面链接的报价: 在此处输入图片说明

  • 这是非页内广告“ ca-app-pub-3940256099942544 / 1033173712 ” 的测试设备ID 。插页式教程中也使用了此功能