2010-10-02 4 views
13

Ich habe eine App mit Admob-Anzeigen auf, aber ich finde, dass wenn ich es verwende die Anzeige fast nie aktualisiert, weil ich Aktivitäten nicht ändere, stattdessen aktualisiere ich nur eine Textansicht wenn Schaltflächen sind gedrückt. Ich habe versucht, dies auf Google zu suchen, aber immer wieder kurz.Erzwingen Admob auf Android

Ich möchte der App mitteilen, die Anwendung gelegentlich zu aktualisieren, z. B. nach zwei Tastenklicks oder ähnlichem. Weiß jemand wie man das macht und möglicherweise einen Beispielcode dafür hat?

Antwort

20

Mit dem neuen SDK jetzt ist es:

AdView.loadAd(new AdRequest()); 
+1

Danke. Anmerkung: In meinem Fall funktioniert diese Arbeit nur innerhalb von 'runOnUiThread' –

18

Alte API-Version:

AddView.requestFreshAd() 

Neue API-Version:

AdView.loadAd(new AdRequest()) 

Sie können aber auch einfach ein Aktualisierungsintervall mit dem refreshInterval Attribute auf dem AdView Elemente in Ihrem Layout XML-Datei festgelegt. Oder Sie können den refreshInterval für die Anzeigen in Ihrer App über Ihre Kontoeinstellungen auf der AdMob-Website festlegen.

Dokumentation: http://code.google.com/mobile/ads/docs/android/intermediate.html#adrefresh

+2

Für Menschen, die über diese späte stolpern - requestFreshAd() existiert nicht. Der spätere Teil von refreshInterval funktioniert wunderbar. –

+3

requestFreshAd() wurde irgendwann aus der API entfernt. Allerdings war es verfügbar, als ich diese Antwort ursprünglich geschrieben habe. –

7

Als Alternative auch Admob aktualisieren haben können Anzeigen für Sie in Zeitintervallen Sie angeben. Gehen Sie in Admob zu "Websites und Apps" und klicken Sie dann auf "Einstellungen verwalten" für die gewünschte App. Dann klicke auf "App-Einstellungen". Dort können Sie unter "Automatische Aktualisierung" die Aktualisierungsrate für Anzeigen in Ihrer App ändern.

EDIT: Mit der neuen AdMob-Oberfläche unter Monetisieren ist> My App-Name> Meine Ergänze Einheit Name> Wiederholrate (dank ripegooseberry)

+1

Ich musste gehen Monetarisieren> Mein App-Name> Mein Name hinzufügen> Aktualisierungsrate – ripegooseberry

+1

Danke @ripegooseberry, ich bin sicher, meine Anweisungen von vor zwei Jahren sind veraltet- -sie sind für die alte admob-Schnittstelle – russter

0

declare adView in Tätigkeit als Datenelement, dann Timer-Task erstellen, wie unten in Ihre Erbauer der Aktivität

adView = (AdView) findViewById(R.id.adView); 
     TimerTask tt = new TimerTask() { 

      @Override 
      public void run() { 
      MainActivity.this.runOnUiThread(new Runnable() { 
       public void run() { 
        adView.loadAd(new AdRequest()); 
       } 
      }); 

     } 
    }; 

    Timer t = new Timer(); 
    t.scheduleAtFixedRate(tt, 0, 1000 * 60); 
0
//New AdRequest 

    ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5); 


scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() { 
    public void run() { 
     runOnUiThread(new Runnable() { 
      public void run() { 
       AdRequest adRequest = new AdRequest.Builder().build(); 
       adView.loadAd(adRequest); 
      } 
     }); 
    } 

}, 0, 30, TimeUnit.SECONDS); 
1

auf neue Api Version AdRequest() Konstruktor ist privat; Sie müssen AdRequestBuilder Klasse:

mAdView.loadAd(new AdRequest.Builder().build())