libGDX Appodeal 横幅广告展示

libGDX Appodeal Banner Ad Display

我目前使用 Appodeal SDK 在我的应用程序 PlayScreen 中展示横幅广告。 onCreate() 方法如下所示

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        ...

        View gameView = initializeForView(new MyGame(this, this, this), config);

        GdxAppodeal.getInstance().disableLocationPermissionCheck();
        GdxAppodeal.getInstance().initialize("myappkey", GdxAppodeal.BANNER);
        GdxAppodeal.getInstance().setTesting(true);
        GdxAppodeal.getInstance().setLogging(true);

        layout.addView(gameView);
        setContentView(layout);
    } 

onResume() 看起来像这样

    @Override
    protected void onResume(){
        super.onResume();
        Appodeal.onResume(this, Appodeal.BANNER);
    }

并且通过

显示横幅
    GdxAppodeal.getInstance().show(GdxAppodeal.BANNER_BOTTOM);

问题:

在应用程序启动时,横幅在 PlayScreen 中正确显示并隐藏在 MenuScreen 中。但是,当我使用 Gdx.app.exit 退出应用程序时,按下主页按钮并重新启动它,PlayScreen 中没有显示横幅。 Appodeal 在两种情况下记录相同的行

    [..] D/Appodeal: Showing Banner (debugType: banner_320, isLoaded: true, isLoading: false) 
    [..] D/Appodeal: Mraid onBannerShown

我最好的猜测是,当应用程序在后台仍处于活动状态时,它与 GdxAppodeal.getInstance() (Singletone) 没有被重新创建有关。每次新创建此实例时,都会显示横幅。

因为我是通过我的 libGDX 核心项目和 Android 项目实现的接口使用 appodeal SDK,所以我能够通过更改 获得所需的结果每个 GdxAppodeal.getInstance()Appodeal

例如:

    GdxAppodeal.getInstance().initialize("myappkey", GdxAppodeal.BANNER);

变成了

    Appodeal.initialize(this, "myappkey", GdxAppodeal.BANNER);