我可以加速Android上的Admob加载吗?

时间:2015-09-03 18:47:10

标签: android admob

我有一个通知应用程序从未以99美分的价格获得。所以我尝试使用免费广告模式。

问题是,Admob很慢。活动显示后,其加载时间可达7秒。该活动只是一个通知,因此用户可以在广告有机会加载之前关闭该应用。

我有一项服务可以打开活动。

服务:

    Intent notificationIntent = new Intent(this, FullScreen.class);
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);

    NotificationManager nm = (NotificationManager) this
            .getSystemService(Context.NOTIFICATION_SERVICE);

    int currentapiVersion = android.os.Build.VERSION.SDK_INT;
    Notification notif;
    if (currentapiVersion >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
        Notification.Builder builder = new Notification.Builder(context)
                .setWhen(System.currentTimeMillis())
                .setContentIntent(contentIntent)
        notif = builder.build();
    } else {
        notif = new Notification.Builder(context)
                .setWhen(System.currentTimeMillis())
                .setContentIntent(contentIntent)
    }

活动&#39> onCreate中的Admob代码(从admob&#39文档中剪下来):

    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);

活动加载速度非常快,我不想延迟加载广告。有什么方法可以让我在服务期间加载AdView,然后将其传递给活动?我猜不到没有。这是设计使人们无法在他们的应用中产生大量虚假广告展示。

3 个答案:

答案 0 :(得分:1)

您可能不希望听到这一点,但听起来您的应用不适合广告收入模式。

您需要一个UI上下文才能加载广告。除非在非常有限的时间段内,否则您没有UI上下文。

正如你已经注意到加载一段时间,你没有。

答案 1 :(得分:0)

AdMob(以及许多其他广告提供商)异步加载广告。方法调用mAdView.loadAd(adRequest)将启动从服务器获取广告的异步过程,并将立即退出。

广告将在稍后加载。您还可以设置自定义广告监听器,一旦获取并显示广告(或出现故障),就会调用该监听器

答案 2 :(得分:0)

如果您已迁移到Kotlin,则可以使用GlobalScope.launch{},它对我有一点帮助。我不知道它是否可以在Java中使用