2015-09-27 35 views
0

我試圖向使用setContentView的應用添加插頁式廣告。我已經有了一個「監聽者」,可以在需要廣告時正確調用。您可以通過調用此函數「Listener」{...}來縮寫您的答案,並假定每當應用程序發出廣告信號時,括號內的所有內容都會發生。以下答案對橫幅廣告有很好的方法。使用setContentView的插頁式廣告

Implementing Admob banner when setContentView() is used for the Surfaceview

我的問題是,在這種情況下,我應該如何實現一個質?

我的代碼基本上是從鏈接答案,再加上這樣的:

...  
     setContentView(layout); 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

     listener= new PropertyChangeListener() { 
      @Override 
      public void propertyChange(PropertyChangeEvent event) { 
       if (event.getPropertyName()=="sharing1") { 
        caring(); 
        game.dead=false; 
        game.sharing1=false; 
       } 
       if(event.getPropertyName()=="dead") 
       { 
       //Make an interstitial ad here 
       } 
      } 
     }; 

回答

0

不知道你要問什麼,但不像橫幅廣告,插頁廣告是一個彈出其獨立的顯示基本活動的內容視圖。

你可以在調用#setContentView()之後調用你的函數。也許你應該張貼一些代碼,所以我們知道哪些具體的問題你面對

UPDATE: 您可以預加載和顯示它僅在需要的時候,在這種情況下,當玩家「死亡」。這會減少延遲。每次展示廣告後,您必須重新加載廣告,以便在隨後的調用中顯示廣告。另外,如果您的偵聽器將在非UI線程中調用,則使用處理程序。這裏有一個解決方案:

... 



    InterstitialAd interstitial; 
     setContentView(layout); 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
     InterstitialAd interstitial = new InterstitialAd(this); 
     interstitial.setAdUnitId("your-ad-unit"); 
     AdRequest adRequest = new AdRequest.Builder().build(); 
     // Preload your interstitial to avoid load time delays 
     interstitial.loadAd(adRequest); 
     listener= new PropertyChangeListener() { 
      @Override 
      public void propertyChange(PropertyChangeEvent event) { 
       if (event.getPropertyName()=="sharing1") { 
        caring(); 
        game.dead=false; 
        game.sharing1=false; 
       } 
       if(event.getPropertyName()=="dead") 
       { 
       //Make an interstitial ad here 
     runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
     if (interstitial != null && interstitial.isLoaded()){ 
      interstitial.show(); 
      //reload ad 
      interstitial.loadAd(new AdRequest.Builder().build());    
      } 
     } 
    }); 
       } 
      } 
     }; 
+0

代碼本質上就是鏈接的。唯一的區別是我有一個可以多次致電廣告的「聽衆」。 –

+0

@ArriFerrari好的。我修改了我的答案。希望它有幫助 –

+0

嗯,我遇到的問題是通過使用setContentView();我似乎在阻止廣告。 –