#android
#Android
Вопрос:
Все, что я пытался сделать с AdMob, полностью провалилось, и я, кажется, не совсем понимаю, почему. Если я попытаюсь сделать действие, предоставляемое Google, своим основным видом деятельности, приложение выйдет из строя. Если я сделаю это своим собственным классом. реклама просто появляется, и я даже не знаю, как правильно создать XML-файл для AdMob. Вот моя активность в AdMob, если вы хотите взглянуть:
package com.dogger20011.mcpemodlocater;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
/**
* A simple {@link Activity} that embeds an AdView.
*/
public class AdMob extends Activity {
/** The view to show the ad. */
private AdView adView;
/* Your ad unit id. Replace with your actual ad unit id. */
private static final String AD_UNIT_ID = "INSERT_YOUR_AD_UNIT_ID_HERE";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_page);
// Create an ad.
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);
// Add the AdView to the view hierarchy. The view will have no size
// until the ad is loaded.
LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout);
layout.addView(adView);
// Create an ad request. Check logcat output for the hashed device ID to
// get test ads on a physical device.
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE")
.build();
// Start loading the ad in the background.
adView.loadAd(adRequest);
}
@Override
public void onResume() {
super.onResume();
if (adView != null) {
adView.resume();
}
}
@Override
public void onPause() {
if (adView != null) {
adView.pause();
}
super.onPause();
}
/** Called before the activity is destroyed. */
@Override
public void onDestroy() {
// Destroy the AdView.
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
Ответ №1:
Я последовал этому совету, чтобы интегрировать ADMOB в свое приложение
МОЙ Xml-код выглядит следующим образом
<com.google.ads.AdView android:id="@ id/ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="xxxxxx-xxxx-xxxx-xx"
ads:testDevices="TEST_EMULATOR,TEST_DEVICE_ID_GOES_HERE"
ads:loadAdOnCreate="true"
/>
У меня это сработало идеально
Комментарии:
1. Когда у меня есть этот XML, это приводит к сбою моего приложения. Когда я перехожу к предварительному просмотру, там написано «Не удалось найти следующие классы: com.google.Ads.AdView
2. И я добавил сервисы Google Play в качестве библиотеки и скопировал play services.jar в мою папку lib
3. Изначально я столкнулся с тем же самым.. Затем Вы должны добавить GoogleAdMobAdsSdk-6.4.1.jar в вашей папке libs … это решит проблему
4. Итак, я сделал это, и теперь в нем говорится «Не удалось создать экземпляр следующих классов: — com.google.ads.AdView», когда нажимаете Открыть класс, в нем говорится, что источник для AdView.class не удалось быть найденным.
5. Вы добавили GoogleAdMobAdsSdk-6.4.1.jar в вашем java buildpath ??