0

我解决了这个问题大约 3 天。我正在实施 Appodeal 的奖励广告。当我第一次启动我的应用程序时它工作正常。调用了 Appodeal onRewardedVideoLoaded 函数,它工作正常。但是在关闭应用程序并再次运行后。它总是调用 onRewardedVideoFailedToLoad 函数并且不加载广告。下面是我的代码。

请检查此代码。谢谢

    /** Set up button to show an ad when clicked */
    show_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //ad.show();




            if (Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)) {
                Appodeal.show(getActivity(), Appodeal.REWARDED_VIDEO);
            }

        }
    });


    //appodeal


    Appodeal.setAutoCache(Appodeal.REWARDED_VIDEO, false);

    Appodeal.initialize(getActivity(), appKey, Appodeal.REWARDED_VIDEO);
    // Appodeal.setTesting(true);
    Appodeal.setLogLevel(com.appodeal.ads.utils.Log.LogLevel.verbose);
    Appodeal.cache(getActivity(), Appodeal.REWARDED_VIDEO);

    if (Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)) {
        progress.setVisibility(View.INVISIBLE);
        System.out.println("Is loaded so enable");
        show_button.setText("Earn Reward");
    }


    Appodeal.setRewardedVideoCallbacks(new RewardedVideoCallbacks() {
        private Toast mToast;

        @Override
        public void onRewardedVideoLoaded() {
            System.out.println("onRewardedVideoLoaded");
            show_button.setEnabled(true);
            progress.setVisibility(View.INVISIBLE);
            show_button.setText("Earn Reward");
        }

        @Override
        public void onRewardedVideoFailedToLoad() {
            System.out.println("onRewardedVideoFailedToLoad");
            progress.setVisibility(View.INVISIBLE);
        }

        @Override
        public void onRewardedVideoShown() {
            System.out.println("onRewardedVideoShown");
            show_button.setEnabled(false);
            show_button.setText("Not Avalible");
            progress.setVisibility(View.VISIBLE);
        }

        @Override
        public void onRewardedVideoFinished(int amount, String name) {
            System.out.println(String.format("onRewardedVideoFinished. Reward: %d %s", amount, name));

            SharedPref.putIntPref("rewards_count", SharedPref.getIntPref("rewards_count", getContext()) + amount, getContext());
            //   watcher.RemainingRewards(SharedPref.getIntPref("rewards_count", getContext()));

            UpdateRewards();
        }

        @Override
        public void onRewardedVideoClosed(boolean finished) {
            System.out.println(String.format("onRewardedVideoClosed,  finished: %s", finished));


        }

        void showToast(final String text) {
            if (mToast == null) {
                mToast = Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT);
            }
            mToast.setText(text);
            mToast.setDuration(Toast.LENGTH_SHORT);
            mToast.show();
        }
    });


    return view;
}
4

1 回答 1

0

我有一个类似的问题,但实际上它与我使用的框架有关(在我联系他们后才发现),所以我建议直接询问他们的支持,通常他们会很快回复 + 你可以从 LiveChat 窗口中向他们发送消息主页,右下角。这将是解决您的问题 imo 的最佳方法。不确定我的案例是否能解决您的问题,但它仍然可能以某种方式帮助您。

我想在几个项目中展示可跳过和不可跳过的视频。

总而言之,使用可跳过视频很简单,我只需要在初始化时实现 GdxAppodeal.VIDEO。

所以要显示我使用的GdxAppodeal.getInstance().show(GdxAppodeal.VIDEO); 视频+视频回调:

   GdxAppodeal.getInstance().setVideoCallbacks(new VideoCallback() {
       @Override
        public void onVideoLoaded() { }

        @Override
        public void onVideoFailedToLoad() { }

        @Override
        public void onVideoShown() { }

        @Override
        public void onVideoFinished() { }

        @Override
        public void onVideoClosed() { }
      });

重要的细微差别是您不能在现场为可跳过的视频设置奖励设置。这仅适用于 rev vids。

因此,用户将在 RewardedVideoFinished 回调中获得奖励

于 2016-10-24T12:19:57.097 回答