Android:如何在应用程序中集成admob?
我试图在几个小时内将admob banner集成到我的应用程序中,但我做不到,所以我创建了一个新应用程序,它的唯一目的是显示admob banner,但它也不起作用。这是代码Android:如何在应用程序中集成admob?,android,admob,Android,Admob,我试图在几个小时内将admob banner集成到我的应用程序中,但我做不到,所以我创建了一个新应用程序,它的唯一目的是显示admob banner,但它也不起作用。这是代码 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AdView a
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AdView adView = new AdView(this, AdSize.BANNER, "XXX");
adView.setVisibility(View.VISIBLE);
RelativeLayout layout = new RelativeLayout(this);
RelativeLayout.LayoutParams adParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layout.addView(adView, adParams);
setContentView(layout);
AdRequest adRequest = new AdRequest();
adView.loadAd(adRequest);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这是我的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.zzzzzz_admobtest"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.zzzzzz_admobtest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
</manifest>
据我所知,第一个不是一个错误,只是一个警告。
那么,为什么这不起作用呢???Android-manifest中缺少元数据标记。查看已经可用的资源
在onCreate中只添加两行
AdView ad = (AdView) findViewById(R.id.adView);
ad.loadAd(new AdRequest());
并在XML中添加AddView,如
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/ads_unit_id"
ads:loadAdsOnCreate="true" />
我使用“XXX”而不是ID,因为我没有ID。这会是一场灾难吗
有问题吗
对。绝对是的。注册Admob帐户。获取一个ID并使用它。您可以从 在依赖项中添加以下库
compile 'com.google.android.gms:play-services-ads:7.8.0'
智能横幅
在xml文件中添加以下内容
<com.google.android.gms.ads.AdView
android:id="@+id/ad_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/banner_ad_unit_id" />
间隙广告
mInterstitialAd = new InterstitialAd(MainActivity.this);
mInterstitialAd.setAdUnitId(getResources().getString(R.string.full_screen_ad_unit_id));
AdRequest adRequestFull = new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequestFull);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
// Full screen advertise will show only after loading complete
mInterstitialAd.show();
}
});
这个问题有点老了,但我想回答它,因为新技术的出现让AdMob的集成变得非常容易。在大多数情况下,您不需要另外编写任何代码,只需创建一个.apk文件,Admob就会自动注入其中
如何将AdMob和Facebook横幅广告集成到Android应用程序中 Build.Gradle:
implementation 'com.google.android.gms:play-services-ads:19.1.0'
implementation 'com.facebook.android:audience-network-sdk:5.+'
AudienceNetworkAds.initialize(this);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="App_ID_Here.."/> //Test App ID For Testing Purpose.
<activity
android:name="com.facebook.ads.AudienceNetworkActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
public class MainActivity extends AppCompatActivity {
private LinearLayout bannerView;
//Banner
private AdView facebookAdView;
private com.google.android.gms.ads.AdView admobAdView;
//Interstitial
private InterstitialAd facebookInterstitialAds;
private com.google.android.gms.ads.InterstitialAd adMobInterstitialAds;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bannerView = (LinearLayout) findViewById(R.id.bannerView);
//Load Banner Ads
showFacebookBannerAds();
//Load Interstitial Ads
showFacebookInterstitial();
}
private void showFacebookBannerAds() {
facebookAdView = new AdView(this, "Facebook_Banner_ID", AdSize.BANNER_HEIGHT_50);
bannerView.addView(facebookAdView);
facebookAdView.setAdListener(new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
//If Load Fail then
showAdMobBanner();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookAdView.loadAd();
}
private void showAdMobBanner() {
admobAdView = new com.google.android.gms.ads.AdView(this);
admobAdView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
admobAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
bannerView.addView(admobAdView);
admobAdView.loadAd(new AdRequest.Builder().build());
}
//Interstitial Ads
private void showFacebookInterstitial() {
facebookInterstitialAds = new InterstitialAd(this, "Interstitial_Ad_ID");
facebookInterstitialAds.setAdListener(new InterstitialAdListener() {
@Override
public void onInterstitialDisplayed(Ad ad) {
}
@Override
public void onInterstitialDismissed(Ad ad) {
//any work on ads close
finish();
}
@Override
public void onError(Ad ad, AdError adError) {
//if load fail then
loadAdMobInterstitial();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookInterstitialAds.loadAd();
}
private void loadAdMobInterstitial() {
adMobInterstitialAds = new com.google.android.gms.ads.InterstitialAd(this);
adMobInterstitialAds.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
adMobInterstitialAds.loadAd(new AdRequest.Builder().build());
adMobInterstitialAds.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
//any work on ads close
finish();
}
});
}
//Interstitial Ads show on button click listener
public void showAds(View view){
if (facebookInterstitialAds.isAdLoaded())
facebookInterstitialAds.show();
else if (adMobInterstitialAds!=null)
if (adMobInterstitialAds.isLoaded())
adMobInterstitialAds.show();
}
@Override
protected void onPause() {
super.onPause();
if (admobAdView != null)
admobAdView.pause();
}
@Override
protected void onResume() {
super.onResume();
if (admobAdView != null)
admobAdView.resume();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (facebookAdView != null)
facebookAdView.destroy();
if (admobAdView != null)
admobAdView.destroy();
if (facebookInterstitialAds != null)
facebookInterstitialAds.destroy();
}
}
MyAplication.java:
implementation 'com.google.android.gms:play-services-ads:19.1.0'
implementation 'com.facebook.android:audience-network-sdk:5.+'
AudienceNetworkAds.initialize(this);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="App_ID_Here.."/> //Test App ID For Testing Purpose.
<activity
android:name="com.facebook.ads.AudienceNetworkActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
public class MainActivity extends AppCompatActivity {
private LinearLayout bannerView;
//Banner
private AdView facebookAdView;
private com.google.android.gms.ads.AdView admobAdView;
//Interstitial
private InterstitialAd facebookInterstitialAds;
private com.google.android.gms.ads.InterstitialAd adMobInterstitialAds;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bannerView = (LinearLayout) findViewById(R.id.bannerView);
//Load Banner Ads
showFacebookBannerAds();
//Load Interstitial Ads
showFacebookInterstitial();
}
private void showFacebookBannerAds() {
facebookAdView = new AdView(this, "Facebook_Banner_ID", AdSize.BANNER_HEIGHT_50);
bannerView.addView(facebookAdView);
facebookAdView.setAdListener(new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
//If Load Fail then
showAdMobBanner();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookAdView.loadAd();
}
private void showAdMobBanner() {
admobAdView = new com.google.android.gms.ads.AdView(this);
admobAdView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
admobAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
bannerView.addView(admobAdView);
admobAdView.loadAd(new AdRequest.Builder().build());
}
//Interstitial Ads
private void showFacebookInterstitial() {
facebookInterstitialAds = new InterstitialAd(this, "Interstitial_Ad_ID");
facebookInterstitialAds.setAdListener(new InterstitialAdListener() {
@Override
public void onInterstitialDisplayed(Ad ad) {
}
@Override
public void onInterstitialDismissed(Ad ad) {
//any work on ads close
finish();
}
@Override
public void onError(Ad ad, AdError adError) {
//if load fail then
loadAdMobInterstitial();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookInterstitialAds.loadAd();
}
private void loadAdMobInterstitial() {
adMobInterstitialAds = new com.google.android.gms.ads.InterstitialAd(this);
adMobInterstitialAds.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
adMobInterstitialAds.loadAd(new AdRequest.Builder().build());
adMobInterstitialAds.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
//any work on ads close
finish();
}
});
}
//Interstitial Ads show on button click listener
public void showAds(View view){
if (facebookInterstitialAds.isAdLoaded())
facebookInterstitialAds.show();
else if (adMobInterstitialAds!=null)
if (adMobInterstitialAds.isLoaded())
adMobInterstitialAds.show();
}
@Override
protected void onPause() {
super.onPause();
if (admobAdView != null)
admobAdView.pause();
}
@Override
protected void onResume() {
super.onResume();
if (admobAdView != null)
admobAdView.resume();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (facebookAdView != null)
facebookAdView.destroy();
if (admobAdView != null)
admobAdView.destroy();
if (facebookInterstitialAds != null)
facebookInterstitialAds.destroy();
}
}
Manifest.xml:
implementation 'com.google.android.gms:play-services-ads:19.1.0'
implementation 'com.facebook.android:audience-network-sdk:5.+'
AudienceNetworkAds.initialize(this);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="App_ID_Here.."/> //Test App ID For Testing Purpose.
<activity
android:name="com.facebook.ads.AudienceNetworkActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
public class MainActivity extends AppCompatActivity {
private LinearLayout bannerView;
//Banner
private AdView facebookAdView;
private com.google.android.gms.ads.AdView admobAdView;
//Interstitial
private InterstitialAd facebookInterstitialAds;
private com.google.android.gms.ads.InterstitialAd adMobInterstitialAds;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bannerView = (LinearLayout) findViewById(R.id.bannerView);
//Load Banner Ads
showFacebookBannerAds();
//Load Interstitial Ads
showFacebookInterstitial();
}
private void showFacebookBannerAds() {
facebookAdView = new AdView(this, "Facebook_Banner_ID", AdSize.BANNER_HEIGHT_50);
bannerView.addView(facebookAdView);
facebookAdView.setAdListener(new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
//If Load Fail then
showAdMobBanner();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookAdView.loadAd();
}
private void showAdMobBanner() {
admobAdView = new com.google.android.gms.ads.AdView(this);
admobAdView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
admobAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
bannerView.addView(admobAdView);
admobAdView.loadAd(new AdRequest.Builder().build());
}
//Interstitial Ads
private void showFacebookInterstitial() {
facebookInterstitialAds = new InterstitialAd(this, "Interstitial_Ad_ID");
facebookInterstitialAds.setAdListener(new InterstitialAdListener() {
@Override
public void onInterstitialDisplayed(Ad ad) {
}
@Override
public void onInterstitialDismissed(Ad ad) {
//any work on ads close
finish();
}
@Override
public void onError(Ad ad, AdError adError) {
//if load fail then
loadAdMobInterstitial();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookInterstitialAds.loadAd();
}
private void loadAdMobInterstitial() {
adMobInterstitialAds = new com.google.android.gms.ads.InterstitialAd(this);
adMobInterstitialAds.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
adMobInterstitialAds.loadAd(new AdRequest.Builder().build());
adMobInterstitialAds.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
//any work on ads close
finish();
}
});
}
//Interstitial Ads show on button click listener
public void showAds(View view){
if (facebookInterstitialAds.isAdLoaded())
facebookInterstitialAds.show();
else if (adMobInterstitialAds!=null)
if (adMobInterstitialAds.isLoaded())
adMobInterstitialAds.show();
}
@Override
protected void onPause() {
super.onPause();
if (admobAdView != null)
admobAdView.pause();
}
@Override
protected void onResume() {
super.onResume();
if (admobAdView != null)
admobAdView.resume();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (facebookAdView != null)
facebookAdView.destroy();
if (admobAdView != null)
admobAdView.destroy();
if (facebookInterstitialAds != null)
facebookInterstitialAds.destroy();
}
}
//用于测试目的的测试应用程序ID。
权限:
implementation 'com.google.android.gms:play-services-ads:19.1.0'
implementation 'com.facebook.android:audience-network-sdk:5.+'
AudienceNetworkAds.initialize(this);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="App_ID_Here.."/> //Test App ID For Testing Purpose.
<activity
android:name="com.facebook.ads.AudienceNetworkActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
public class MainActivity extends AppCompatActivity {
private LinearLayout bannerView;
//Banner
private AdView facebookAdView;
private com.google.android.gms.ads.AdView admobAdView;
//Interstitial
private InterstitialAd facebookInterstitialAds;
private com.google.android.gms.ads.InterstitialAd adMobInterstitialAds;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bannerView = (LinearLayout) findViewById(R.id.bannerView);
//Load Banner Ads
showFacebookBannerAds();
//Load Interstitial Ads
showFacebookInterstitial();
}
private void showFacebookBannerAds() {
facebookAdView = new AdView(this, "Facebook_Banner_ID", AdSize.BANNER_HEIGHT_50);
bannerView.addView(facebookAdView);
facebookAdView.setAdListener(new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
//If Load Fail then
showAdMobBanner();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookAdView.loadAd();
}
private void showAdMobBanner() {
admobAdView = new com.google.android.gms.ads.AdView(this);
admobAdView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
admobAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
bannerView.addView(admobAdView);
admobAdView.loadAd(new AdRequest.Builder().build());
}
//Interstitial Ads
private void showFacebookInterstitial() {
facebookInterstitialAds = new InterstitialAd(this, "Interstitial_Ad_ID");
facebookInterstitialAds.setAdListener(new InterstitialAdListener() {
@Override
public void onInterstitialDisplayed(Ad ad) {
}
@Override
public void onInterstitialDismissed(Ad ad) {
//any work on ads close
finish();
}
@Override
public void onError(Ad ad, AdError adError) {
//if load fail then
loadAdMobInterstitial();
}
@Override
public void onAdLoaded(Ad ad) {
}
@Override
public void onAdClicked(Ad ad) {
}
@Override
public void onLoggingImpression(Ad ad) {
}
});
facebookInterstitialAds.loadAd();
}
private void loadAdMobInterstitial() {
adMobInterstitialAds = new com.google.android.gms.ads.InterstitialAd(this);
adMobInterstitialAds.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
adMobInterstitialAds.loadAd(new AdRequest.Builder().build());
adMobInterstitialAds.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
//any work on ads close
finish();
}
});
}
//Interstitial Ads show on button click listener
public void showAds(View view){
if (facebookInterstitialAds.isAdLoaded())
facebookInterstitialAds.show();
else if (adMobInterstitialAds!=null)
if (adMobInterstitialAds.isLoaded())
adMobInterstitialAds.show();
}
@Override
protected void onPause() {
super.onPause();
if (admobAdView != null)
admobAdView.pause();
}
@Override
protected void onResume() {
super.onResume();
if (admobAdView != null)
admobAdView.resume();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (facebookAdView != null)
facebookAdView.destroy();
if (admobAdView != null)
admobAdView.destroy();
if (facebookInterstitialAds != null)
facebookInterstitialAds.destroy();
}
}
公共类MainActivity扩展了AppCompatActivity{
私人线路布局横幅视图;
//横幅
私人AdView facebookAdView;
私有com.google.android.gms.ads.AdView admobAdView;
//间隙的
私人插页簿插页;
private com.google.android.gms.ads.interstitalad admobinterstitalads;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bannerView=(线性布局)findViewById(R.id.bannerView);
//加载横幅广告
showFacebookBannerAds();
//加载间隙式广告
ShowFaceBookInterstitual();
}
私有void showFacebookBannerAds(){
facebookAdView=newAdview(这是“Facebook\u Banner\u ID”,AdSize.Banner\u HEIGHT\u 50);
bannerView.addView(facebookAdView);
setAdListener(新的AdListener(){
@凌驾
公共无效者(广告、广告、广告){
//如果加载失败,则
showAdMobBanner();
}
@凌驾
已加载的公共无效(Ad){
}
@凌驾
已单击公共无效(Ad){
}
@凌驾
公众虚无在线印象(Ad){
}
});
facebookAdView.loadAd();
}
私有void showdmobbanner(){
admobAdView=new com.google.android.gms.ads.AdView(此);
setAdSize(com.google.android.gms.ads.AdSize.S