Admob interstitial cra sh и выскочить из приложения без ошибок - PullRequest
1 голос
/ 02 мая 2020

Я использую в своем приложении admob interstitial, и у меня очень фатальная проблема. Через некоторое время приложение выполнит sh скачок без ошибок.

Я использую баннер admob внутри промежуточной рекламы. и у меня возникает вот такая ошибка, когда я использую промежуточную рекламу.

мое состояние:

implementation 'com.google.android.gms:play-services-ads:19.1.0'

compileSdkVersion 28

multiDexEnabled true

некоторые из моих ошибок на android панели запуска студии:

E/art: invalid stream - problem with parameter iterator in /data/data/com.google.android.gms/app_chimera/m/0000001f/dl-AdsFdrDynamite.integ_21460000004.apk for method void com.google.android.gms.ads.nonagon.ad.event.p.a(java.lang.Object)

и в последней ошибке:

W/BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 31485
W/Ads: #004 The webview is destroyed. Ignoring action.
W/Ads: #004 The webview is destroyed. Ignoring action.
    #004 The webview is destroyed. Ignoring action.
D/StateSaver: onDestroy() called with: savedState = [null]
D/DynamitePackage: Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads: This request is sent from a test device.
W/Ads: #004 The webview is destroyed. Ignoring action.
    #004 The webview is destroyed. Ignoring action.
W/Ads: #004 The webview is destroyed. Ignoring action.
W/Ads: #004 The webview is destroyed. Ignoring action.
W/ScreenOrientationListener: Removing an inexistent observer!
I/art: Explicit concurrent mark sweep GC freed 76971(4MB) AllocSpace objects, 39(1242KB) LOS objects, 25% free, 46MB/62MB, paused 2.487ms total 237.228ms
W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
    Chrome build fingerprint:
    1
    1
    cdd40672-1595-45ee-a623-1018fca0e2a6
    ### ### ### ### ### ### ### ### ### ### ### ### ###
E/chromium: ### WebView Version 42.0.2311.137 (code 2311137)
A/libc: Fatal signal 11 (SIGSEGV), code -6, fault addr 0x7afd in tid 31485 (pers.myplayer)

и в другом случае: я запустил приложение в Debug (Shift + F9), он находит ошибку на нативном. но они не могут показать это, потому что это было из библиотеки admob.

MyCode:

    @Override
    protected void initViews(View rootView, Bundle savedInstanceState) {
        super.initViews(rootView, savedInstanceState);

        prefs = getActivity().getSharedPreferences("org.andlopers.tplayer_preferences", MODE_PRIVATE);
        fullid = prefs.getString("fullid", "");

        aplayer(rootView);
}



   public void aplayer(View rootView) {
        try {
            new Handler().postDelayed(
                    new Runnable() {
                        @Override
                        public void run() {
                            if (getadac().equals("1") || getadac().equals("")) {
                                String appid = prefs.getString("appid", "");
                                String bannerid = prefs.getString("bannerid", "");
                                String fullid = prefs.getString("fullid", "");
                                if (!appid.equals("") || !bannerid.equals("") || !fullid.equals("")) {
                                    MobileAds.initialize(getActivity(), appid);
                                    List<String> testDeviceIds = Arrays.asList("C009A2721C419BF15906A3218869F2BC");
                                    RequestConfiguration configuration =
                                            new RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build();
                                    MobileAds.setRequestConfiguration(configuration);
                                    ableua = new AdView(getActivity());
                                    ableua.setAdSize(AdSize.BANNER);
                                    ableua.setAdUnitId(bannerid);
                                    AdRequest adRequest = new AdRequest.Builder().build();
                                    ableua.loadAd(adRequest);
                                    layAbd = (LinearLayout) rootView.findViewById(R.id.record_banner);
                                    layAbd.addView(ableua);
                                    LinearLayout top_layad = (LinearLayout) rootView.findViewById(R.id.top_layad);
                                    ableua.setAdListener(new AdListener() {
                                        @Override
                                        public void onAdLoaded() {
                                            top_layad.setVisibility(View.VISIBLE);
                                            top_layad.setOnClickListener(new View.OnClickListener() {
                                                @Override
                                                public void onClick(View view) {
                                                    top_layad.setVisibility(View.GONE);
                                                }
                                            });
                                        }
                                    });
                                    fulldialogload();
                                }
                            }

                        }
                    }, 100);
        } catch (Exception e) {
        }
    }

    public void fulldialogload() {
        if (checktimes(0)) {
            fulltubs = new InterstitialAd(getActivity());
            fulltubs.setAdUnitId(fullid);
            AdRequest adRequestFull = new AdRequest.Builder().build();
            fulltubs.loadAd(adRequestFull);
            fulltubs.setAdListener(new AdListener() {
                @Override
                public void onAdClosed() {
                    // Load the next interstitial.
                    fulltubs.loadAd(new AdRequest.Builder().build());
                }

            });
        }
    }


    @Override
    public void
    onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
                if (fulltubs != null && fulltubs.isLoaded()) {
                    SimpleDateFormat sdf = new SimpleDateFormat("HHmm", Locale.ENGLISH);
                    String currentDateandTime = sdf.format(new Date());
                    setAdcheckTimes(currentDateandTime);
                    fulltubs.show();
                }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...