AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
}我想把我的Android测试应用程序给我的朋友中的5-10个。这些人中有几个住在1000英里外,所以没有办法“使用DDMS”或“把他们的手机连接到我的开发机器上”。
我需要它总是只显示AdMob测试广告。
(目前它正在播放真实的广告。)
我不知道(或者想知道)每个人的“设备ID代码”。
我不想把每个1都硬编码到我的应用程序中。
(并随时添加所有新的。)
是否有java代码会说:“不管这个应用程序是什么设备,都是测试设备,所以只要显示测试广告就行了”?
发布于 2012-01-27 07:58:57
也许你可以试着在飞行中添加测试设备:
AdManager.addTestDevice(Settings.Secure.getString(context.getContentResolver(), "android_id")));
// or Settings.Secure.ANDROID_ID if no context available(我没有测试这个代码。)
编辑:
反编译AdMob JAR库提供:
AdRequest.java
public boolean isTestDevice(Context context)
{
if (this.i != null)
{
if ((
context = AdUtil.a(context)) == null)
{
return false;
}
if (this.i.contains(context)) {
return true;
}
}
return false;
}看着AdUtil.a
public static String a(Context paramContext)
{
if (c == null)
{
if (((
paramContext = Settings.Secure.getString(paramContext.getContentResolver(), "android_id")) == null) ||
(c()))
paramContext = a("emulator");
else {
paramContext = a(paramContext);
}
if (paramContext == null) {
return null;
}
c = paramContext.toUpperCase(Locale.US);
}
return c;
}代码是模糊的,但是我们清楚地看到它是根据您在AdManager.addTestDevice中给出的值来测试AdManager.addTestDevice的。
发布于 2014-11-29 10:53:57
我在测试版本中完全禁用广告系统,并且只为我自己的设备上的本地调试版本启用它。你可以用静态图像代替广告,这样你仍然可以有相同的布局。
https://stackoverflow.com/questions/9028852
复制相似问题