2015-05-14 63 views
0

我想在遊戲開始前在我的遊戲中添加插頁式廣告。Admob遊戲開始前的插播式廣告

當您運行應用程序時,您有3種不同的遊戲模式,因此當您選擇一種遊戲模式時,遊戲將以該模式啓動。這個想法是在遊戲開始之前按下按鈕後顯示插頁式廣告。

我遵循了Android開發者頁面上的指南,here,但這並不符合我的需要。我已經修改了一些以適合我的代碼,但是在開始遊戲之前沒有顯示插頁式廣告,當您完成遊戲並返回到mainActivity時會顯示它。

這是我的代碼:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    btn1Player = (ImageButton) findViewById(R.id.OnePlayerImgBtn); 
    btnVersus = (ImageButton) findViewById(R.id.VersusImgBtn); 
    btnLocalMultiP = (ImageButton) findViewById(R.id.LCLMultiPlayerImgBtn); 

    mInterstitialAd = new InterstitialAd(this); 
    mInterstitialAd.setAdUnitId(getString(R.string.ad_intersticial_1_id)); 
    requestNewInterstitial(); 


    btn1Player.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      displayInterstitial(); 
      startGame(false,true,MODE_SINGLE); 
     } 
    }); 
    btnVersus.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      displayInterstitial(); 
      startGame(false,true,MODE_VERSUS); 
     } 
    }); 
    btnLocalMultiP.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      displayInterstitial(); 
      startGame(true,true,MODE_LOCALMULTI); 
     } 
    }); 

    mInterstitialAd.setAdListener(new AdListener() { 
     @Override 
     public void onAdClosed() { 
      requestNewInterstitial(); 
     } 
    }); 
} 



private void requestNewInterstitial() { 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    mInterstitialAd.loadAd(adRequest); 
} 


public void displayInterstitial() { 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 
} 
+0

請務必使該活動的第一個運行異常。除了病毒或崩潰之外,沒有更好的方式來激怒用戶,而不是在他們看到遊戲之前向他們展示廣告。 – SmulianJulian

回答

1
String singlemode ="Off"; 
String versus ="Off"; 
String multi ="Off"; 

btn1Player.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     displayInterstitial(); 
     String singlemode ="On"; 
    } 
}); 
btnVersus.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     displayInterstitial(); 
     String versus ="On"; 
    } 
}); 
btnLocalMultiP.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     displayInterstitial(); 
     String multi="On"; 
    } 
}); 

mInterstitialAd.setAdListener(new AdListener() { 
    @Override 
    public void onAdClosed() { 

if singlemode.equals("On"); 
{startGame(false,true,MODE_SINGLE);} 

if versus.equals("On"); 
{startGame(false,true,MODE_VERSUS);} 

if multimode.equals("On"); 
{startGame(true,true,MODE_LOCALMULTI);} 
     requestNewInterstitial(); 
    } 
}); 
+0

我必須對代碼進行一些修改才能使其正常工作,這就是我所需要的! – masmic

+0

我想使用開關,但忘記了如何。但是,你有它的工作!對你有好處。希望你的遊戲取得成功。 – SmulianJulian