¿Cómo hago anuncios de banners (admob) comunes para todas mis actividades
Tengo alrededor de tres actividades, y todas estas tres actividades tienen anuncios de banners en la parte inferior que se establecen por código en el método OnCreate()
de las tres actividades.
Y debido a alguna razón necesito terminar cada actividad mientras que startActivity()
de una actividad a la otra, y startActivity()
para volver a la primera actividad.
- obtiene el objeto Activity mientras está en el contexto View
- Cómo llamar a startactivity para obtener resultados de una clase que no sea de actividad para obtener los resultados
- Android: startActivityForResult no llamando aActivityResult
- Android.app.Application no se puede convertir en android.app.Activity
- Si Asynctask se está ejecutando la actividad estará vivo incluso después del método finish ()?
Quiero saber, ¿cómo puedo hacer sólo un Banner Ad para todos estos tres Actividad en lugar de llamar individualmente de diferente onCreate
, porque mi duda es que en la transición de las actividades estoy refrescando anuncios (tranquilamente) que no es una buena Práctica de sus clics.
¿Debo declararlo en una clase estática para que pueda ser llamado desde cualquier actividad y sólo una instancia estaría allí (por lo que no refrescante debido a la creación de actividad)
Sugerencias son bienvenidas.
- Llamar a un método en otra actividad de una actividad
- Cómo cambiar la línea de fondo de EditText mediante programación
- Obtener cadena del paquete android devuelve null
- Creación de actividad sin cuerpo
- Manera más fácil de usar svg en android?
- Invocar actividad de APK en otra aplicación de Android
- Android Fragment creó dos veces el cambio de orientación
- Android - Actividad como diálogo con ActionBar
¿Conoces la implementación de ViewStub?
Para su problema, ViewStub se utiliza para colocar anuncios de AdMob en Pie de página , sólo tiene que crear el diseño para este Pie de página y, a continuación, incluir este diseño en sus diseños XML (diseños de actividad) mediante el ejemplo de ViewStub.
Aquí está un ejemplo para la implementación de ViewStub, sí es para la barra de título, pero usted puede tomar el concepto de ella.
Ahora, para optimizar la solución (código), puede crear una clase Abstracta y extender la clase de actividad e incluir su código de anuncios de AdMob dentro de esta clase.
Por ejemplo:
public abstract class BaseActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } public void setFooterAds() { // Make ViewStub visible // include your Ads code } }
Ahora, sólo tiene que extender esta clase BaseActivity en sus clases de actividad y llamar al método setFooterAds () para mostrar los anuncios de AdMob.
Puede poner el código como este en su actividad principal, de modo que el banner de anuncios se muestre en las tres actividades.
import com.google.ads.*; public class testActivity extends Activity { private static final String MY_AD_UNIT_ID = "yourId"; private AdView adView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.loadUrl("file:///android_asset/www/index.html"); // Create the adView adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID); LinearLayout layout = super.root; // this is the only change layout.addView(adView); adView.loadAd(new AdRequest());
Xml Archivo:
<com.admob.android.ads.AdView android:id="@+id/ad" android:layout_width="fill_parent" android:layout_height="wrap_content" xmlns:backgroundColor="#000000" xmlns:primaryTextColor="#ffffff" xmlns:secondaryTextColor="#cccccc"
Creo que la única manera de salir aquí es usar una sola actividad y múltiples fragmentos .. la actividad tendrá un diseño de marco y un fragmento que contiene Ad .. Mientras que las diferentes pantallas (fragmentos) serán reemplazados dependiendo de la UX, Fragmento se quedará como está, común a todas las pantallas!