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/我不再需要这个功能所以我没有测试过.祝好运!
小智 95
如果您在模拟器上运行admob广告,则没有ID.只需使用AdManager方法并将其设置为TEST_EMULATOR,就像logcat所说的那样.如果您在具有USB调试的实际设备上运行并观察logcat,则ID将显示在那里.
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商店中展示实时广告 - 您无法使用实时广告进行测试 - 请在代码中添加您的设备ID,以便在您的真实设备上从Admob获取测试广告.切勿在开发或测试期间使用实时广告.
要在logcat中获取真实的设备ID,
在您的设备上打开显示来自Admob的实时广告的任何应用:在已连接的设备上,如果您从Play商店下载了应用(显示实时广告),请打开该应用,或打开显示实时Admob广告的任何其他应用.您的设备应该具有互联网连接.
使用'device'过滤logcat,如下所示,以获取测试设备
如果您在实际设备上测试您的应用程序,那么您可以尝试这个小型Android应用程序,它为您提供设备ID:
https://play.google.com/store/apps/details?id=pe.go_com.admobdeviceidfinder&hl=en
您将直接获得散列设备ID.希望这可以帮助.
要获取设备 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)
如果你没有在logcat中获取它,只需输入任何设备ID并加载你的广告并运行你的应用程序然后转到日志,你会得到它I/Ads: Use AdRequest.Builder.addTestDevice("XXXXXXXXXXXXXXXXXXXXXXXXX") to get test ads on this device.之后再把它放回去并再次运行你的应用程序.
| 归档时间: |
|
| 查看次数: |
122573 次 |
| 最近记录: |