Java 没有XML的Android AdMob
我有一个巨大的问题要问,因为我真的被困在这个问题上,这将是为了在我的免费应用程序上获得广告而创建的,好吧,首先我一直在关注这本书 2011年开始安卓游戏Java 没有XML的Android AdMob,java,android,eclipse,admob,Java,Android,Eclipse,Admob,我有一个巨大的问题要问,因为我真的被困在这个问题上,这将是为了在我的免费应用程序上获得广告而创建的,好吧,首先我一直在关注这本书 2011年开始安卓游戏 http://www.apress.com/9781430230427 现在,这本书实现了一个非常好的简单的游戏框架,我使用它(一个更简单的版本可以在这里找到) http://www.kilobolt.com/day-5-the-android-game-framework-part-i.html 现在这个框架不使用任何类型的XML文件,它
http://www.apress.com/9781430230427
现在,这本书实现了一个非常好的简单的游戏框架,我使用它(一个更简单的版本可以在这里找到)
http://www.kilobolt.com/day-5-the-android-game-framework-part-i.html
现在这个框架不使用任何类型的XML文件,它使用帧缓冲区在屏幕上绘制东西
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
boolean isPortrait = getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
int frameBufferWidth = isPortrait ? 480: 800;
int frameBufferHeight = isPortrait ? 800: 480;
Bitmap frameBuffer = Bitmap.createBitmap(frameBufferWidth,
frameBufferHeight, Config.RGB_565);
float scaleX = (float) frameBufferWidth
/ getWindowManager().getDefaultDisplay().getWidth();
float scaleY = (float) frameBufferHeight
/ getWindowManager().getDefaultDisplay().getHeight();
renderView = new AndroidFastRenderView(this, frameBuffer);
graphics = new AndroidGraphics(getAssets(), frameBuffer);
fileIO = new AndroidFileIO(this);
audio = new AndroidAudio(this);
input = new AndroidInput(this, renderView, scaleX, scaleY);
screen = getInitScreen();
setContentView(renderView);
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "MyGame");
}
在这里我可以在哪里尝试实现admob横幅?这也是screen类的外观
public LogoScreen(Game game)
{
super(game);
}
@Override
public void update(float deltaTime)
{
Graphics g = game.getGraphics();
List<TouchEvent> touchEvents = game.getInput().getTouchEvents();
int len = touchEvents.size();
for(int i = 0; i < len; i ++)
{
try
{
TouchEvent event = (TouchEvent) touchEvents.get(i);
if(event.type == TouchEvent.TOUCH_DOWN)
{
game.setScreen(new MainMenuScreen(game));
}
}
catch(IndexOutOfBoundsException io)
{
}
}
}
@Override
public void paint(float deltaTime)
{
Graphics g = game.getGraphics();
g.drawImage(Assets.logoScreen, 0, 0);
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void backButton()
{
android.os.Process.killProcess(android.os.Process.myPid());
}
创建布局容器并将AdView和renderView放入其中:
RelativeLayout layout = new RelativeLayout(this);
AdView adView = new AdView(this, AdSize.BANNER, "a151bf25136cf46");
layout.addView(renderView);
layout.addView(adView);
setContentView(layout);
adView.loadAd(new AdRequest());
编辑2020:
上面的代码已经有7年的历史了,从那以后Google Mobile Ads SDK发生了很大的变化
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
adView.loadAd(new AdRequest.Builder().build());
setContentView(layout);
创建布局容器并将AdView和renderView放入其中:
RelativeLayout layout = new RelativeLayout(this);
AdView adView = new AdView(this, AdSize.BANNER, "a151bf25136cf46");
layout.addView(renderView);
layout.addView(adView);
setContentView(layout);
adView.loadAd(new AdRequest());
编辑2020:
上面的代码已经有7年的历史了,从那以后Google Mobile Ads SDK发生了很大的变化
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
adView.loadAd(new AdRequest.Builder().build());
setContentView(layout);
我昨晚试过了,结果很酷,请在活动的
Oncreate()
中查看我的代码:
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.BOTTOM|Gravity.CENTER);
// Create a banner ad
mAdView = new AdView(this);
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
/*For Test On Real Device*/
AdRequest adRequest= new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setId(R.id.linear);
linearLayout.setGravity(Gravity.BOTTOM | Gravity.CENTER);
LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0, 9f);
layoutParams1.gravity = Gravity.TOP;
view.setLayoutParams(layoutParams1);
int heightPixels = AdSize.FULL_BANNER.getHeightInPixels(this);
LinearLayout.LayoutParams layoutParams2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, heightPixels, 0f);
layoutParams2.gravity = Gravity.BOTTOM;
mAdView.setLayoutParams(layoutParams2);
layout.addView(view);
layout.addView(mAdView);
// Start loading the ad.
setContentView(layout);
这将显示底部的广告,GL;)我昨晚试过,结果很酷,请参见活动的
Oncreate()
中的我的代码:
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.BOTTOM|Gravity.CENTER);
// Create a banner ad
mAdView = new AdView(this);
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
/*For Test On Real Device*/
AdRequest adRequest= new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setId(R.id.linear);
linearLayout.setGravity(Gravity.BOTTOM | Gravity.CENTER);
LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0, 9f);
layoutParams1.gravity = Gravity.TOP;
view.setLayoutParams(layoutParams1);
int heightPixels = AdSize.FULL_BANNER.getHeightInPixels(this);
LinearLayout.LayoutParams layoutParams2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, heightPixels, 0f);
layoutParams2.gravity = Gravity.BOTTOM;
mAdView.setLayoutParams(layoutParams2);
layout.addView(view);
layout.addView(mAdView);
// Start loading the ad.
setContentView(layout);
这将显示底部的广告,GL;) 我猜这与
androidFasterEnderView
有关,因为这是传递给setContentView
的内容,我已经用FastRenderView更新了我的帖子FastRenderView codeFastRenderView是SurfaceView
的扩展,现在是凌晨2:30,我正在慢慢入睡:p为链接欢呼,我试着把它添加到我的FastAnroidRender中“AdView AdView=new AdView(这个,AdSize.BANNER,“a151bf25136cf46”);“但是声明没有一个方法在末尾使用字符串,我知道如何修复它吗?”?这个链接对我也没有帮助,因为它没有提供足够的代码。我猜它与androidFastEnderView
有关,因为这是传递给setContentView
的内容。我已经用FastRenderView代码更新了我的帖子FastRenderView是SurfaceView
的扩展。这是我不久前将给出的一个链接,现在是凌晨2:30,我正在慢慢入睡:p为链接干杯,我会试一试,然后在我试图将此添加到FastAnroidRender的时候给你回复“AdView AdView=new AdView(这个,AdSize.BANNER,“a151bf25136cf46”);“但是国家没有一个方法在结尾使用字符串,我知道如何解决这个问题吗?另外,这个链接也帮不了我,因为它没有提供足够的代码。这是res文件夹中的一个xml文件吗?您可以直接在代码中创建它。尝试替换setContentView(renderView)代码>在您的代码中使用上面的代码。你可能需要使用布局参数来让它看起来恰到好处,但这会在你的renderView上放置一个横幅。我也有同样的问题,我试过你的代码,一切正常,但广告没有出现。如果您已经解决了您的问题,请您添加您是如何解决的信息。这是不正确的。。请把它修好。我不能在当前SDK的allUpdated上使用它。那是res文件夹中的xml文件吗?您可以直接在代码中创建它。尝试替换setContentView(renderView)代码>在您的代码中使用上面的代码。你可能需要使用布局参数来让它看起来恰到好处,但这会在你的renderView上放置一个横幅。我也有同样的问题,我试过你的代码,一切正常,但广告没有出现。如果您已经解决了您的问题,请您添加您是如何解决的信息。这是不正确的。。请把它修好。我不能在当前SDK的更新版本中使用它。