2017-03-13 1 views
0

私はJavaの初心者です。 私はEclipseとAndroid Studioで開いているAndroidゲームを持っていました。 onCreateメソッドを含まないMainActivityクラスをゲームの標準クラスとして追加する場合例:Pause - Menu ...、まだ現在のオブジェクトnew InterstitialAd(this);赤い色で下線が引かれています。メソッドonCreateを使わずにインタースティシャルAdMobを他のクラスのMainActivityに追加するにはどうすればよいですか?

私は助けてもらえますか? ここに私のソースコードに持ってくるすべてのデータがあります。

//Class PauseLayer : 

import com.exemplapp.myapptetest.RacingActivity; 
import com.exemplapp.myapptetest.scene.GameScene; 
import com.exemplapp.myapptetest.scene.TitleScene; 
import com.exemplapp.nodes.GrowButton; 
import com.exemplapp.nodes.MyScene; 
import com.google.android.gms.ads.AdListener; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.InterstitialAd; 
import org.cocos2d.nodes.CCDirector; 
import org.cocos2d.nodes.CCSprite; 
import org.cocos2d.transitions.CCFadeTransition; 

public class PauseLayer extends MyScene { 

    private InterstitialAd interstitial; 

    public PauseLayer() { 
     super(); 
     RacingActivity activity = (RacingActivity) CCDirector.sharedDirector().getActivity(); 
     activity.revmob(); 

     CCSprite sprBg = CCSprite.sprite(PATH_BG + "pause_bg-ipad.png"); 
     this.addChild(sprBg); 
     sprBg.setPosition(SCREEN_WIDTH/2, SCREEN_HEIGHT/2); 

     GrowButton btnResume = GrowButton.buttonWithSpriteFileName(PATH_BTN 
       + "btnResume-ipad.png", PATH_BTN + "btnResume-ipad.png", 
       this, "onResume"); 
     this.addChild(btnResume); 
     btnResume.setPosition(SCREEN_WIDTH/2, 260 * 32/15); 

     GrowButton btnReplay = GrowButton.buttonWithSpriteFileName(PATH_BTN 
       + "btnReplay-ipad.png", PATH_BTN + "btnReplay-ipad.png", 
       this, "onReplay"); 
     this.addChild(btnReplay); 
     btnReplay.setPosition(SCREEN_WIDTH/2, 220 * 32/15); 

     GrowButton btnMenu = GrowButton.buttonWithSpriteFileName(PATH_BTN 
       + "btnMenu1-ipad.png", PATH_BTN + "btnMenu1-ipad.png", this, 
       "onMenu"); 
     this.addChild(btnMenu); 
     btnMenu.setPosition(SCREEN_WIDTH/2, 180 * 32/15); 


//Admon Interstitial 

     interstitial = new InterstitialAd(this); 

     interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712"); 
     AdRequest adRequest = new AdRequest.Builder().build(); 
     interstitial.loadAd(adRequest); 

     interstitial.setAdListener(new AdListener() { 
      @Override 
      public void onAdLoaded() { 
       displayInterstitial(); 
      } 
     }); 


    } 

    private void displayInterstitial() { 
     if (interstitial.isLoaded()) { 
      interstitial.show(); 
     } 
    } 


    public void onResume(Object sender) { 
     this.removeFromParentAndCleanup(true); 
    } 

    public void onReplay(Object sender) { 
     CCDirector 
       .sharedDirector() 
       .replaceScene(
         CCFadeTransition.transition(0.7f, GameScene 
           .scene(GameScene.sharedInstance().m_nGameMode))); 
    } 

    public void onMenu(Object sender) { 
     CCDirector.sharedDirector().replaceScene(
       CCFadeTransition.transition(0.7f, TitleScene.scene())); 
    } 
} 

//Certificate of AndroidManifest : 

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <activity 
      android:name="com.exemplapp.myapptetest.RacingActivity" 
      android:label="@string/title_activity_sling_shot_racing" 
      android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.exemplapp.myapptetest.scene.game.PauseLayer" 
      android:screenOrientation="portrait" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
      android:theme="@android:style/Theme.Translucent" /> 

    </application> 

答えて

0

オブジェクト作成のパスコンテキストまたはアクティビティのインタースティシャル広告メソッド。私たちは、あなたが活動は、最終的なコードの上に宣言したRacingActivityあるこの

interstitial = new InterstitialAd(activity); 

のように書くことができ、コンテキストまたは活動

を渡すことができます意味

はイエス

public PauseLayer() { 
    super(); 
    RacingActivity activity = (RacingActivity) CCDirector.sharedDirector().getActivity(); 
    activity.revmob(); 

    CCSprite sprBg = CCSprite.sprite(PATH_BG + "pause_bg-ipad.png"); 
    this.addChild(sprBg); 
    sprBg.setPosition(SCREEN_WIDTH/2, SCREEN_HEIGHT/2); 

    GrowButton btnResume = GrowButton.buttonWithSpriteFileName(PATH_BTN 
      + "btnResume-ipad.png", PATH_BTN + "btnResume-ipad.png", 
      this, "onResume"); 
    this.addChild(btnResume); 
    btnResume.setPosition(SCREEN_WIDTH/2, 260 * 32/15); 

    GrowButton btnReplay = GrowButton.buttonWithSpriteFileName(PATH_BTN 
      + "btnReplay-ipad.png", PATH_BTN + "btnReplay-ipad.png", 
      this, "onReplay"); 
    this.addChild(btnReplay); 
    btnReplay.setPosition(SCREEN_WIDTH/2, 220 * 32/15); 

    GrowButton btnMenu = GrowButton.buttonWithSpriteFileName(PATH_BTN 
      + "btnMenu1-ipad.png", PATH_BTN + "btnMenu1-ipad.png", this, 
      "onMenu"); 
    this.addChild(btnMenu); 
    btnMenu.setPosition(SCREEN_WIDTH/2, 180 * 32/15); 


    //Admon Interstitial 

    interstitial = new InterstitialAd(activity); 

    interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712"); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    interstitial.loadAd(adRequest); 

    interstitial.setAdListener(new AdListener() { 
     @Override 
     public void onAdLoaded() { 
      displayInterstitial(); 
     } 
    }); 


} 
+0

のように見えるのおかげで返事のために、私は変更しました。 (活動)と; ボタンのゲームを一時停止するともう動作しません。 あなたのアイデアは何ですか? – yaszin

+0

デバッグを試して、何が起きるかをhttps://developer.android.com/studio/debug/index.html – vishal

+0

私はあらゆる場所の公式ではない解決策を探して何でも助けることができます見ることができます。 RevmobのパブとApplovinはうまく動作しますが、Admobはうまく動作しません。 また、ApplovinとRevmobのすべての証明書とコンテンツを削除していますが、解決策はありません。 – yaszin

関連する問題