java - 横幅广告不适用于 Android 工作室。放置横幅广告后应用程序崩溃
问题描述
我想在我的 android 应用程序中显示横幅广告,但是当我将代码放入 .xml 和类文件应用程序崩溃时。
参考下面的代码
XML 文件:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:foregroundGravity="center"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
在 Java 文件中:
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
private AdView mAdView;
mAdView = findViewById(R.id.adView1);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
appgradel文件依赖:
implementation 'com.google.android.gms:play-services-ads:18.1.0'
清单文件:
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544/6300978111"
解决方案
首先,您无需使用具有真实 AdMob 单元 id 的真实帐户进行测试,您可以使用测试广告单元 id。并且不需要检查它是否处于调试模式。
您可以按照这种方式集成 AdMob 测试横幅广告。
在项目级 build.gradle 中添加这个
allprojects { repositories { google() jcenter() } }
添加此应用级 build.gradle
dependencies { implementation 'com.google.android.gms:play-services-ads:17.1.1' }
然后将此添加到应用程序标记内的 Manifest.xml 文件中
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="[ADMOB_APP_ID]"/>
然后在您的布局 XML 文件中
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> </com.google.android.gms.ads.AdView>
然后在你的活动中这样做
package ... import ... import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends AppCompatActivity { private AdView mAdView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713"); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } }
然后它将完美地适用于所有设备。之后,您只需替换您的 admob 应用程序 ID 和横幅单元 ID。希望它会帮助你。
推荐阅读
- python - 从 discord.py 中最近匹配的用户名获取用户对象
- excel - Excel 数据透视表 - 筛选字段的值
- regex - 如何使用正则表达式匹配没有被特定前缀和后缀包围的字符串
- javascript - 有没有办法使用 Angular Pipes 获取格式化的日期输出
- reactjs - 如何从 React Native App 将我的长度变量发送到我的 HTTPS 服务器
- python - “axis”属性在下面的代码中是如何工作的?
- spring-boot - 远程地址是否与 x-forwarded-for 相同?
- sql - SQL Server:选择排序规则
- postgresql - Postgresql 归档的 WAL
- woocommerce - 如果用户在 WooCommerce 中购买了特定产品,则禁用购买