unity studio paga google funciona cuanto como application android admob

studio - android admob banner



Anuncio de Android Admob en PreferenceActivity (5)

Hay algunos cambios en la respuesta de P.Melch en la clase de Adpreference como a continuación (porque no funciona con la última biblioteca de anuncios de Google Play):

public class AdPreference extends Preference { public AdPreference(Context context, AttributeSet attrs, int defStyle) {super (context, attrs, defStyle);} public AdPreference(Context context, AttributeSet attrs) {super(context, attrs);} public AdPreference(Context context) {super(context);} @Override protected View onCreateView(ViewGroup parent) { // this will create the linear layout defined in ads_layout.xml View view = super.onCreateView(parent); // the context is a PreferenceActivity Activity activity = (Activity)getContext(); AdView adView = new AdView(getContext()); adView.setAdUnitId("<your ad id>"); adView.setAdSize(AdSize.BANNER); AdRequest adRequest = new AdRequest.Builder().build(); adView.loadAd(adRequest); ((LinearLayout)view).addView(adView); return view; } }

¿Hay alguna manera de agregar un anuncio de Admob a una actividad de preferencia? ¿Cómo?


La respuesta de Dan Dyer es correcta. Me gustaría elaborar un poco, solo para aclarar con el ejemplo. Puede usar un diseño como este (llamado config.xml bajo res / layout).

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:myapp="http://schemas.android.com/apk/res/com.xxxx" android:layout_height="fill_parent" android:layout_width="fill_parent"> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent"/> <com.admob.android.ads.AdView android:id="@+id/ad" android:layout_alignParentBottom="true" android:layout_width="fill_parent" android:layout_height="wrap_content" myapp:backgroundColor="#000000" myapp:primaryTextColor="#FFFFFF" myapp:secondaryTextColor="#CCCCCC"/> </RelativeLayout>

En su Actividad que extiende PreferenceActivity, escribe algo como esto en el método onCreate;

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.config); }


Lo que también puede hacer es crear una Preferencia personalizada que se pueda agregar fácilmente a cualquier pantalla de preferencias.

Agregue un archivo de diseño llamado ad_layout.xml a su carpeta res / layout que se llenará más tarde con AdMob.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout>

Crea una clase llamada AdPreference así:

package com.example.adpreference; import com.google.ads.AdRequest; import com.google.ads.AdSize; import com.google.ads.AdView; import android.app.Activity; import android.content.Context; import android.preference.Preference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; public class AdPreference extends Preference { public AdPreference(Context context, AttributeSet attrs, int defStyle) {super (context, attrs, defStyle);} public AdPreference(Context context, AttributeSet attrs) {super(context, attrs);} public AdPreference(Context context) {super(context);} @Override protected View onCreateView(ViewGroup parent) { // this will create the linear layout defined in ads_layout.xml View view = super.onCreateView(parent); // the context is a PreferenceActivity Activity activity = (Activity)getContext(); // Create the adView AdView adView = new AdView(activity, AdSize.BANNER, "<your add id>"); ((LinearLayout)view).addView(adView); // Initiate a generic request to load it with an ad AdRequest request = new AdRequest(); adView.loadAd(request); return view; } }

Ahora, en el archivo xml de preferencias, puede agregar, agregar cualquier posición que desee (en la parte superior o entre cualquier otra preferencia).

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> ... <com.example.adpreference.AdPreference android:layout="@layout/ad_layout"/> ... </PreferenceScreen>


Sí, una PreferenceActivity es solo una subclase de ListActivity y, al igual que con ListActivity , puede especificar su propio diseño personalizado siempre que contenga un ListView con una ID de android.R.id.list . Así que cree cualquier archivo de diseño XML que necesite que contenga un ListView y un AdView y use ese diseño para PreferenceActivity .


ViewGroup viewGroup = (ViewGroup) findViewById(android.R.id.list).getParent().getParent().getParent(); viewGroup.addView(new AdView(...));