标签: interstitial

必须在主UI线程上调用AdMob插页式广告和错误isLoaded

用户William建议我更改我的代码以显示插页式广告

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    //setDebugMode(true);
    initialiseAccelerometer();

    interstitial = new InterstitialAd(this);
    interstitial.setAdUnitId(getResources().getString(R.string.InterstitialAd_unit_id));

    interstitial.setAdListener(new AdListener() {
        public void onAdClosed() {
            // Create another ad request.
            final AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .build();
            interstitial.loadAd(adRequest);
        }
    });
    // Create ad request.
    final AdRequest adRequest = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();
    interstitial.loadAd(adRequest);
}
Run Code Online (Sandbox Code Playgroud)

并显示广告:

public synchronized void GameOver() {
    if (lives_left > 0) {
        //success! - game passed - save score
        ScoreManager.save_localscore_simple(score_times[currentLevel], "" + currentLevel, false);

        if (Level_Buttons.length >= currentLevel …
Run Code Online (Sandbox Code Playgroud)

java android interstitial admob

9
推荐指数
1
解决办法
6595
查看次数

插页式广告后,Exoplayer播放错误

我正在用ExoPlayer播放视频,并显示Google AdMob插页式广告。

广告消失后,无法播放视频并显示以下错误:

Playback error.com.google.android.exoplayer2.ExoPlaybackException
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.throwDecoderInitError(MediaCodecRenderer.java:441)
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:428)
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:920)
   at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:503)
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:557)
   at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518)
   at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:193)
   at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, video/avc, -1, null, [720, 420, -1.0], [-1, -1])
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:428) 
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:920) 
   at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:503) 
   at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:557) 
   at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518) 
   at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301) 
   at android.os.Handler.dispatchMessage(Handler.java:102) 
   at android.os.Looper.loop(Looper.java:193) 
   at android.os.HandlerThread.run(HandlerThread.java:65) 
Run Code Online (Sandbox Code Playgroud)

我正在使用库:

implementation 'com.google.android.exoplayer:exoplayer:2.8.1'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.8.1'
Run Code Online (Sandbox Code Playgroud)

android interstitial admob exoplayer exoplayer2.x

9
推荐指数
1
解决办法
394
查看次数

按admob广告类型是否存在收入不平等

我的应用程序中有3种广告类型。展示次数最高的奖励广告,但不知何故,横幅广告的收入也要比奖励广告高。奖励广告的展示次数是非页内广告但收入不变的三倍。

在此处输入图片说明

在最初的几周内,没有这样的事情,然后收入突然下降。

在此处输入图片说明

如果某人以前有问题并且知道为什么,可以帮助我吗?我怀疑自己制作的奖励广告过多,但找不到任何文档

感谢您的任何建议或帮助

android interstitial admob adbannerview admob-rewardedvideoad

9
推荐指数
1
解决办法
122
查看次数

我的插页式广告导致内存泄漏?

我也尝试使用 ,ApplicationContext但由于某种原因它仍然泄漏。

在 Android 版 AdMob (SDK 7.0) 上的 AdActivity 泄漏中找到了有关此问题的类似帖子,但没有答案。

还尝试在 onDestroy() 中将 adlistener 和广告设置为 null 但没有任何运气并且仍然泄漏活动。

我的代码在 onCreate() 中调用

private void refreshInterstitial(){
        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("AD_ID");
        mInterstitialAd.loadAd(new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).addTestDevice("877BCC97E130A0DC62B2E5770D854496").build());

        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                mInterstitialAd.show();
            }
            @Override
            public void onAdClosed() {
            }
        });
}
Run Code Online (Sandbox Code Playgroud)

Leakcanary 泄漏跟踪

 ????
    ? GC Root: Global variable in native code
    ?
    ?? mx instance
    ?    Leaking: UNKNOWN
    ?    ? mx.a
    ?         ~
    ?? com.google.android.gms.ads.internal.webview.w instance …
Run Code Online (Sandbox Code Playgroud)

java android memory-leaks interstitial

8
推荐指数
1
解决办法
1226
查看次数

错误:找不到符号导入 com.google.android.gms.ads.InterstitialAd

我已将 google AdMob 添加到项目中并发现此错误:错误:找不到符号导入 com.google.android.gms.ads.InterstitialAd; ^ 符号:InterstitialAd 类 位置:包 com.google.android.gms.ads

android interstitial admob

8
推荐指数
2
解决办法
1万
查看次数

有没有关于如何实现Android全屏广告的例子?

有没有关于如何使用AdMob实现Android全屏广告的示例?

我研究并发现了这些教程:

编辑 - 添加了一些相关问题:

  1. 在教程中,您似乎必须使用Android 4.0才能使插页式广告投放使用.在早期版本中不可能吗?

android ads interstitial admob

7
推荐指数
1
解决办法
2万
查看次数

iAd iOS 7委托方法未被调用

如果我在XCode 5.0.2中创建一个新的单一视图项目,添加iAd Framework,在ViewController.h中实现ADInterstitialAdDelegate

#import <UIKit/UIKit.h>
#import <iAd/iAd.h>

@interface ViewController : UIViewController <ADInterstitialAdDelegate>

@end
Run Code Online (Sandbox Code Playgroud)

和ViewController.m中的委托方法

-(void)viewDidLoad
{

    [super viewDidLoad];

    [ self performSelector:@selector(onDelay) withObject:nil afterDelay:2 ];

}

-(void)onDelay
{

    self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual;

    [ self requestInterstitialAdPresentation ];

}

-(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error
{
    NSLog(@"interstitialAd didFailWithError");
}

-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd
{
    NSLog(@"interstitialAdDidLoad");
}
Run Code Online (Sandbox Code Playgroud)

没有调用任何ADInterstitialAdDelegate方法.在iOS 6及更低版本中使用旧实现时,我也遇到了一些问题

interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self; 
[ interstitial presentFromViewController:self ];
Run Code Online (Sandbox Code Playgroud)

只要

-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd
Run Code Online (Sandbox Code Playgroud)

然后被称为,但没有

- (void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd
Run Code Online (Sandbox Code Playgroud)

关闭广告后.有没有人记得有同样的问题或知道这里发生了什么?

delegates interstitial iad

7
推荐指数
0
解决办法
1439
查看次数

为什么我的Facebook插页式广告不会显示在我的应用中?

我在Swift中,每次我调用它们委托func didFailWithError被调用.我在我的所有应用程序中使用与facebook inteitial广告相同的代码,除了我创建的这个新应用程序外,它完美无缺.没有广告弹出,我在控制台中收到一条消息说:

DiskCookieStorage将策略从2更改为0,cookie文件:file:///private/var/mobile/Containers/Data/Application/4E5FA239-208C-4B08-87C6-E4DB1CC3CC76/Library/Cookies/Cookies.binarycookies

这是我在GameViewController中设置代码的方法:

import UIKit
import SpriteKit

let interstitialFBAD: FBInterstitialAd = FBInterstitialAd(placementID: "2320559454634478_1321860725967683")

class GameViewController: UIViewController, FBInterstitialAdDelegate {

override func viewDidLoad() {
    super.viewDidLoad()

    if let scene = GameScene(fileNamed:"GameScene") {

        loadFBInterstitialAd()

    }
}

//fbAds--------------------------------------------------------------------------------------------------------

func loadFBInterstitialAd() {
    interstitialFBAD.delegate = self
    interstitialFBAD.load()
    print("what")
}


func interstitialAdDidLoad(_ interstitialAd: FBInterstitialAd) {
    interstitialFBAD.show(fromRootViewController: self)
    print("popup")
}

func interstitialAd(_ interstitialAd: FBInterstitialAd, didFailWithError error: Error) {
    print("failed")
}

//fbAds--------------------------------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

xcode interstitial swift facebook-audience-network

7
推荐指数
1
解决办法
677
查看次数

为什么关闭插页式广告和打开目标 Activity 之间存在延迟?

我实现了这个 Android 代码来加载并显示插页式广告,关闭广告后它将打开目标 Activity,但我的问题是关闭和打开目标 Activity 之间有 3 秒的延迟...这是我的代码:

AdRequest adRequest = new AdRequest.Builder().build();

InterstitialAd.load(HomeActivity.this, UNIT_ID, adRequest, new InterstitialAdLoadCallback() {
    @Override
    public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        admobInterstitialAd = interstitialAd;
        admobInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
            @Override
            public void onAdDismissedFullScreenContent() {
                super.onAdDismissedFullScreenContent();
                admobInterstitialAd = null;
            
                /**********Here is the delay when starting the activity for about 3 seconds*******/
                Intent intent = new Intent(HomeActivity.this, SettingsActivity.class);
                startActivity(intent);
                /********************************************************************************/
            }

            @Override
            public void onAdFailedToShowFullScreenContent(com.google.android.gms.ads.AdError adError) …
Run Code Online (Sandbox Code Playgroud)

callback interstitial android-activity

6
推荐指数
1
解决办法
764
查看次数

为什么最近会调用 onAdDismissedFullScreenContent ?

我创建了一个功能,可以在显示其他活动之前显示插页式广告。它正在工作,但onAdDismissedFullScreenContent最近在关闭广告后 2-3 秒被调用。它使前一个屏幕进入待机状态。有机会重新单击该按钮以显示所需的活动。

我真的不明白如何解决这个问题。

这是我的代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AdManager.showInterstitial(MainActivity.this, () -> {
                    Intent i = new Intent(MainActivity.this, MainActivity2.class);
                    startActivity(i);
                });
            }
        });
        AdManager.loadInterstitial(this);
    }
}

Run Code Online (Sandbox Code Playgroud)

这是应用程序类:


public class App  extends Application {
    private static Context mContext;


    @Override
    public void onCreate() {
        super.onCreate();
        mContext = getApplicationContext();
        AdManager.Init(this);
    }

    public static Context getContext() {
        return mContext; …
Run Code Online (Sandbox Code Playgroud)

java android interstitial admob

6
推荐指数
1
解决办法
776
查看次数