Android Studio中addTestDevice添加报错,如何正确配置?
解决AdRequest.Builder.addTestDevice报错问题
以下是针对addTestDevice方法报错的常见解决步骤:
1. 确认AdMob依赖配置正确
首先检查模块级build.gradle文件中是否添加了最新的Play Services Ads依赖:
dependencies { implementation 'com.google.android.gms:play-services-ads:22.6.0' }
同时在AndroidManifest.xml中配置AdMob应用ID(必须添加,否则广告服务无法初始化):
<application> <!-- 其他配置 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- 替换为你的应用ID --> </application>
2. 检查类导入是否正确
确保代码中导入的AdRequest来自官方AdMob包:
import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView;
避免导入错误的第三方或旧版本AdRequest类。
3. 正确使用addTestDevice方法
如果是模拟器测试,直接使用AdRequest.DEVICE_ID_EMULATOR是正确的;如果是真机测试,需要先获取设备的测试ID:
- 运行应用后,查看Logcat,搜索
Use AdRequest.Builder.addTestDevice("设备ID"),复制对应的ID添加到代码中:
AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice("你的真机测试ID") // 替换为Logcat中获取的ID .build(); adView.loadAd(adRequest);
4. 替代方案:使用testDeviceIds方法
如果你更倾向于批量添加测试设备,可以使用testDeviceIds方法(支持多个设备ID):
import java.util.Arrays; // ... AdRequest adRequest = new AdRequest.Builder() .testDeviceIds(Arrays.asList(AdRequest.DEVICE_ID_EMULATOR, "真机测试ID")) .build();
5. 检查XML中AdView的配置
确保XML中的AdView标签是官方的com.google.android.gms.ads.AdView,且命名空间正确:
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyyy"/> <!-- 替换为你的横幅广告单元ID -->
内容的提问来源于stack exchange,提问作者Sinan_KECE
相关产品推荐
相关产品推荐

