为什么我无法在 android studio 中使用 andengine 显示 admob 奖励视频广告?

mg2647

我在 android studio 有一个与 andengine 的游戏。我想在我的应用中展示 admob 激励视频广告。但我不能显示它。有人可以帮助我吗?

我在自己的设备(小米 6)上运行该应用程序。该应用程序在我自己的设备上正确启动。但是当我点击广告显示按钮(“anaMenuEngland.oSprite”)时应用程序关闭。

主活动.java

public class MainActivity extends BaseGameActivity implements RewardedVideoAdListener {

    private static final int CAMERA_WIDTH = 800;
    private static final int CAMERA_HEIGHT = 480;
    private Camera camera;
    private Engine engine;
    private Nesne anaMenuArka,anaMenuEngland,bayrakhover;
    Scene sahneOyun;

    @Override
    public Engine onLoadEngine() {
        camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
        final EngineOptions engineOptions = new EngineOptions(true, EngineOptions.ScreenOrientation.LANDSCAPE, new FillResolutionPolicy(), camera);
        engineOptions.getTouchOptions().setRunOnUpdateThread(true);
        engine = new Engine(engineOptions);

        return engine;
    }

    @Override
    public void onLoadResources() {
        anaMenuArka = new Nesne(1024, 512, TextureOptions.BILINEAR_PREMULTIPLYALPHA, this, "gfx/arkaplan.png", 0, 0,null);
        anaMenuEngland=new Nesne(64,32,TextureOptions.BILINEAR_PREMULTIPLYALPHA,this,"gfx/england.png",0,0,null);
        bayrakhover=new Nesne(64,32,TextureOptions.BILINEAR_PREMULTIPLYALPHA,this,"gfx/bayrakhover.png",0,0,null);

        Texture[]textures = {anaMenuArka.oTexture,anaMenuEngland.oTexture,bayrakhover.oTexture};
        this.engine.getTextureManager().loadTextures(textures);
    }

    @Override
    public Scene onLoadScene() {

        anaMenuArka.oSprite = new Sprite(0, 0, anaMenuArka.oTextureRegion);
        bayrakhover.oSprite = new Sprite(0, 200, bayrakhover.oTextureRegion);
        anaMenuEngland.oSprite = new Sprite(0, 248, anaMenuEngland.oTextureRegion)
        {
            @Override
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
                                         float pTouchAreaLocalX, float pTouchAreaLocalY)
            {
                if(pSceneTouchEvent.isActionDown())
                {
                }
                if(pSceneTouchEvent.isActionUp())
                {
                 //when this section is clicked to close the application (error)
                    if (mRewardedVideoAd.isLoaded()) {
                        mRewardedVideoAd.show();
                    }

                }
                return true;
            }
        };


        this.sahneOyun = new Scene();
        this.sahneOyun.attachChild(anaMenuArka.oSprite);
        this.sahneOyun.attachChild(anaMenuEngland.oSprite);
        this.sahneOyun.attachChild(bayrakhover.oSprite);

        this.sahneOyun.registerTouchArea(anaMenuEngland.oSprite);

        return sahneOyun;
    }
    private RewardedVideoAd mRewardedVideoAd;
    @Override
    public void onLoadComplete() {
        MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");

        mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
        mRewardedVideoAd.setRewardedVideoAdListener((RewardedVideoAdListener) this);
        loadRewardedVideoAd();

    }
    private void loadRewardedVideoAd() {
        mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());

    }

    @Override
    public void onRewardedVideoAdLoaded() {

    }

    @Override
    public void onRewardedVideoAdOpened() {

    }

    @Override
    public void onRewardedVideoStarted() {

    }

    @Override
    public void onRewardedVideoAdClosed() {
        loadRewardedVideoAd();
    }

    @Override
    public void onRewarded(RewardItem rewardItem) {

    }

    @Override
    public void onRewardedVideoAdLeftApplication() {

    }

    @Override
    public void onRewardedVideoAdFailedToLoad(int i) {

    }

    @Override
    public void onRewardedVideoCompleted() {

    }
}

内斯尼.java

public class Nesne{

    public int oTextureWidth, oTextureHeight;
    public Texture oTexture;
    public TextureRegion oTextureRegion;
    public Sprite oSprite;
    public TimerHandler timer;

    public Nesne(int oTextureWidth, int oTextureHeight, TextureOptions oTextureOptions, Context oContext, String oAssetPath, int oTexturePositionX, int oTexturePositionY, ITextureSource oTextureSource)
    {
        this.oTextureWidth = oTextureWidth;
        this.oTextureHeight = oTextureHeight;
        oTexture = new Texture(oTextureWidth, oTextureHeight, oTextureOptions);
        if (oAssetPath==null){
            oTextureRegion=TextureRegionFactory.createFromSource(oTexture,oTextureSource,oTexturePositionX,oTexturePositionY);
        }else{
            oTextureRegion = TextureRegionFactory.createFromAsset(oTexture, oContext, oAssetPath, oTexturePositionX, oTexturePositionY);
        }

    }

    public Nesne() {

    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.deneme">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
德里克·K

您必须从主线程调用与广告相关的方法。只需使用runOnUiThread方法包装您的代码

runOnUiThread(new Runnable() {
   @Override
   public void run() {
       if (mRewardedVideoAd.isLoaded()) {
           mRewardedVideoAd.show();
       }
   }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在andengine中显示带有admob的插页式广告

来自分类Dev

无法在andengine中显示带有admob的插页式广告

来自分类Dev

在Android中使用Google Admob的视频广告

来自分类Dev

android - 在点击列表后显示奖励视频广告

来自分类Dev

iOS AdMob Reward Video - 使用“Skip after time”功能实现奖励视频广告播放

来自分类Dev

我如何知道用户是否在 android 中观看了我的完整奖励视频广告或跳过广告?

来自分类Dev

AdMob广告无法在Android SDL应用中正确显示

来自分类Dev

使用Google Play服务SDK的Android Admob不显示广告

来自分类Dev

admob广告未显示在android应用中

来自分类Dev

在Android中关闭奖励视频广告

来自分类Dev

Android admob无法加载广告

来自分类Dev

如何在Swift中添加Admob非奖励视频广告

来自分类Dev

AdMob 激励视频广告的静态奖励金额

来自分类Dev

在 IOS 模块(libGDX)中实现 AdMob 奖励视频广告

来自分类Dev

Admob无法在Phonegap和Android中使用

来自分类Dev

以统一单例模式使用admob奖励广告

来自分类Dev

在Android中使用XML的Admob广告,广告可以在模拟器上正确显示,但不能在真实设备上显示

来自分类Dev

在Android中使用XML的Admob广告,广告可以在模拟器上正确显示,但不能在真实设备上显示

来自分类Dev

如何使用Android Studio 0.8.9配置Andengine,Andengine Tiled Map,Physics2DBox?

来自分类Dev

如何在 Android 应用中使用 AdMob 广告中介?

来自分类Dev

无法使AdMob广告显示在libgdx游戏中

来自分类Dev

如何在Mac上的Android Studio中使用andEngine制作“ Hello World”

来自分类Dev

我正在我的应用程序中实施 admob 奖励广告,但锁定主菜单上的功能之一并在观看视频时解锁它们是否正确

来自分类Dev

已加载AdMob标语,但无法在android studio中的设备上显示

来自分类Dev

在OnCreateView中显示Admob插页式广告时,无法加载Android片段布局

来自分类Dev

自定义AdMob,使其仅在我的Android应用上显示应用广告

来自分类Dev

自定义AdMob,使其仅在我的android应用上显示应用广告

来自分类Dev

链接后 Admob 广告未显示 - 无法加载广告:0

来自分类Dev

Android AdMob不显示

Related 相关文章

  1. 1

    无法在andengine中显示带有admob的插页式广告

  2. 2

    无法在andengine中显示带有admob的插页式广告

  3. 3

    在Android中使用Google Admob的视频广告

  4. 4

    android - 在点击列表后显示奖励视频广告

  5. 5

    iOS AdMob Reward Video - 使用“Skip after time”功能实现奖励视频广告播放

  6. 6

    我如何知道用户是否在 android 中观看了我的完整奖励视频广告或跳过广告?

  7. 7

    AdMob广告无法在Android SDL应用中正确显示

  8. 8

    使用Google Play服务SDK的Android Admob不显示广告

  9. 9

    admob广告未显示在android应用中

  10. 10

    在Android中关闭奖励视频广告

  11. 11

    Android admob无法加载广告

  12. 12

    如何在Swift中添加Admob非奖励视频广告

  13. 13

    AdMob 激励视频广告的静态奖励金额

  14. 14

    在 IOS 模块(libGDX)中实现 AdMob 奖励视频广告

  15. 15

    Admob无法在Phonegap和Android中使用

  16. 16

    以统一单例模式使用admob奖励广告

  17. 17

    在Android中使用XML的Admob广告,广告可以在模拟器上正确显示,但不能在真实设备上显示

  18. 18

    在Android中使用XML的Admob广告,广告可以在模拟器上正确显示,但不能在真实设备上显示

  19. 19

    如何使用Android Studio 0.8.9配置Andengine,Andengine Tiled Map,Physics2DBox?

  20. 20

    如何在 Android 应用中使用 AdMob 广告中介?

  21. 21

    无法使AdMob广告显示在libgdx游戏中

  22. 22

    如何在Mac上的Android Studio中使用andEngine制作“ Hello World”

  23. 23

    我正在我的应用程序中实施 admob 奖励广告,但锁定主菜单上的功能之一并在观看视频时解锁它们是否正确

  24. 24

    已加载AdMob标语,但无法在android studio中的设备上显示

  25. 25

    在OnCreateView中显示Admob插页式广告时,无法加载Android片段布局

  26. 26

    自定义AdMob,使其仅在我的Android应用上显示应用广告

  27. 27

    自定义AdMob,使其仅在我的android应用上显示应用广告

  28. 28

    链接后 Admob 广告未显示 - 无法加载广告:0

  29. 29

    Android AdMob不显示

热门标签

归档