我想在我的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);
app gradel文件依赖性:
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"
答案 0 :(得分:0)
首先,您不需要使用具有真实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。希望对您有帮助。
答案 1 :(得分:0)
我的应用程序存在相同的问题,我必须向我的应用程序清单文件中添加一些元数据
<application>
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
<meta-data
android:name="com.google.android.gms.ads.com.example.appname"
android:value="enter your AdMob App ID e.g. ca-app-pub-3940256099942544~3347511713"/>
</application>
从Google Mobile Ads SDK版本17.0.0开始,此步骤是必需的。添加此标签失败会导致以下消息崩溃:Google Mobile Ads SDK初始化不正确。 欲了解更多信息,请访问 https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml