2013-09-19 6 views
2

Я слежу за этим уроком (http://www.kilobolt.com/day-7-creating-an-android-game-from-start-to-finish.html) для создания Android-игры. Теперь я хотел бы добавить объявления AdMob к игре в GameScreen Класс внутри private void drawGameOverUI() {...}.Как добавить объявления AdMob?

Я получил контекст из SampleGame класса с использованием

private static Context context; 
public Screen getInitScreen() { 
     SampleGame.context = getApplicationContext(); 
... 
} 
public static Context getAppContext() { 
     return SampleGame.context; 
} 

В GameScreen класса внутри private void drawGameOverUI() У меня есть этот

contextGameScreen = SampleGame.getAppContext(); 
LinearLayout layout = new LinearLayout(contextGameScreen);  
adView = new AdView(contextGameScreen, AdSize.BANNER, "..."); 
layout.addView(adView); 
adView.loadAd(new AdRequest()); 

, но я получил эту ошибку "Cannot resolve constructor 'AdView(android.content.Context, com.google.ads.AdSize, java.lang.String)'" для (contextGameScreen, AdSize.BANNER, "...");.

В Google Developers (https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android) они используют «это», но когда я использую (this, AdSize.BANNER, "...");, я получил ошибку "Cannot resolve constructor 'AdView(com.name.GameScreen, com.google.ads.AdSize, java.lang.String)'".

Не могли бы вы помочь мне в этом, как решить эту ошибку и заставить ее работать? Это значит для меня много. А также что такое «это»?

ответ

1

Ваша проблема заключается в том, что contextGameScreen в

new AdView(contextGameScreen, AdSize.BANNER, "...") 

не является экземпляром android.content.Context. Например, действие или приложение.

Очень сложно точно определить, что вы делаете, поскольку вы предоставили только отключенные фрагменты кода, но вам нужно предоставить конструктор AdView, в который будет встроен объект.

+0

Вы знаете, как мне это сделать? Весь код находится по первой ссылке, которую я опубликовал. На этой странице есть класс SampleGame, класс GameScreen и все остальное. Я мог бы скопировать все это и опубликовать здесь, но поскольку сообщение будет большим, я просто разместил ссылку на весь код. – user2668638

+0

В соответствии с этой статьей «Этот класс SampleGame расширяет класс AndroidGame (который расширяет Activity) и, следовательно, является Activity.», Поэтому вы должны иметь возможность передать экземпляр SampleGame. – William

+0

Я передал контекст из SampleGame, но это не работает. Не могли бы вы дать мне совет, как это сделать? Спасибо. – user2668638

Смежные вопросы