WebHU - Programozási kérdések és válaszok

A DFP leállítja a hirdetések megjelenítését az alkalmazás újraindításáig

A PublisherAdView alkalmazást használom a hirdetések integrációjához. Megtekintésenként 3 hirdetésem van, és ez a ViewPager-on belül van. A hirdetések kezdetben láthatóak, de miután meglátogattak bizonyos számú töredéket a ViewPager-ban, a hirdetések leállnak, és ezt adják a naplóban:

I/Ads: Ad is not visible. Not refreshing ad.
I/Ads: Scheduling ad refresh 60000 milliseconds from now.

mindenki számára, amíg az alkalmazás újra nem indul. Valamennyi PublsihersAdView-hoz onPause(), onResume() és onDestroy() metódust is implementáltam.

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context="com.expressdigital.express.fragments.NewsDetailFragment">

<android.support.v4.widget.SwipeRefreshLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:id="@+id/news_details_swipe_to_refresh">

<android.support.v4.widget.NestedScrollView
    android:id="@+id/news_details_scroll_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:background="@android:color/transparent"
    android:fillViewport="true"
    android:scrollbars="none"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants">
    <RelativeLayout
        android:id="@+id/news_details_relative_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:descendantFocusability="blocksDescendants">

        <!-- top ad layout-->
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/news_details_top_ad_view_layout"
            android:layout_centerHorizontal="true"

            />

        <TextView
            android:id="@+id/news_details_screen_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/news_details_top_ad_view_layout"
            android:layout_marginTop="10dp"
            android:lineSpacingMultiplier="1.2"
            android:paddingLeft="@dimen/news_details_title_left_padding"
            android:paddingRight="@dimen/news_details_title_right_padding"
            android:textColor="@color/black"
            android:textSize="@dimen/news_details_heading_text_size"
            android:textStyle="bold" />

        <LinearLayout
            android:id="@+id/author_name_and_time_passed_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/news_details_screen_title"
            android:orientation="horizontal"
            android:paddingBottom="@dimen/author_time_layout_vertical_padding"
            android:paddingTop="@dimen/author_time_layout_vertical_padding">

            <TextView
                android:id="@+id/details_author_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/news_details_author_name_left_margin"
                android:layout_marginRight="@dimen/news_details_author_name_right_margin"
                android:textColor="@color/login_top"
                android:textSize="@dimen/news_details_author_name_text_size" />

            <com.expressdigital.express.utils.CircleImageView
                android:layout_width="8dp"
                android:layout_height="8dp"
                android:layout_gravity="center_vertical"
                android:src="@color/divider_bottom" />

            <TextView
                android:id="@+id/details_publish_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/news_details_time_horizontal_margin"
                android:layout_marginRight="@dimen/news_details_time_horizontal_margin"
                android:textAllCaps="true"
                android:textColor="@color/login_top"
                android:textSize="@dimen/news_details_time_text_size" />

        </LinearLayout>

        <ImageView
            android:id="@+id/news_description_top_image"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/author_name_and_time_passed_layout"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop" />

        <WebView
            android:id="@+id/news_description_detail"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/news_description_top_image"
            android:layout_marginLeft="@dimen/news_details_content_horizontal_padding"
            android:layout_marginRight="@dimen/news_details_content_horizontal_padding"
            android:layout_marginTop="@dimen/news_details_content_vertical_padding" />

        <View
            android:layout_width="match_parent"
            android:layout_height="0.8dp"
            android:layout_below="@id/news_description_detail"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:id="@+id/view_above_mrec_ad"
            android:background="@color/divider_bottom"
            />


        <!-- bottom ad layout-->
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/news_details_bottom_ad_view_layout"
            android:layout_centerHorizontal="true"
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:layout_below="@id/view_above_mrec_ad"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center"
            android:layout_below="@id/news_details_bottom_ad_view_layout"
            android:id="@+id/extraSection">
        <View
            android:layout_width="match_parent"
            android:layout_height="0.8dp"
            android:layout_below="@id/news_description_detail"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:id="@+id/view_above_comments_layout"
            android:background="@color/divider_bottom"
            />

        <LinearLayout
            android:id="@+id/details_comments_buttons_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/comment_buttons_layout_bottom_margin"
            android:orientation="horizontal"
            android:visibility="gone">

            <TextView
                android:id="@+id/details_add_comment"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/news_details_add_comment_horizontal_padding"
                android:layout_marginRight="@dimen/news_details_add_comment_horizontal_padding"
                android:layout_weight="1"
                android:paddingTop="@dimen/comments_buttons_vertical_padding"
                android:paddingBottom="@dimen/comments_buttons_vertical_padding"
                android:paddingLeft="@dimen/comments_buttons_horizontal_padding"
                android:paddingRight="@dimen/comments_buttons_horizontal_padding"
                android:gravity="center"
                android:textAllCaps="true"
                android:textSize="@dimen/news_details_comments_button_text_size"
                android:background="@drawable/add_comment_button_background"
                android:text="@string/add_comment"
                android:textColor="@color/read_all" />

            <TextView
                android:id="@+id/details_read_comments"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/news_details_comment_horizontal_padding"
                android:layout_marginRight="@dimen/news_details_comment_horizontal_padding"
                android:layout_weight="1"
                android:paddingTop="@dimen/comments_buttons_vertical_padding"
                android:paddingBottom="@dimen/comments_buttons_vertical_padding"
                android:paddingLeft="@dimen/comments_buttons_horizontal_padding"
                android:paddingRight="@dimen/comments_buttons_horizontal_padding"
                android:gravity="center"
                android:textAllCaps="true"
                android:textSize="@dimen/news_details_comments_button_text_size"
                android:text="@string/read_comments"
                android:background="@drawable/read_comments_background"
                android:textColor="@color/white" />

        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="0.8dp"
            android:layout_below="@id/details_comments_buttons_layout"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:background="@color/divider_bottom"
            android:id="@+id/view_below_comments_layout"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/details_next_story_layout"
            android:layout_below="@id/view_below_comments_layout"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_weight="1">

            <TextView
                android:id="@+id/details_next_story_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/details_comments_buttons_layout"
                android:paddingLeft="@dimen/news_details_recommend_text_horizontal_padding"
                android:paddingRight="@dimen/news_details_recommend_text_horizontal_padding"
                android:text="@string/next_story"
                android:textColor="@color/we_recommend"
                android:textSize="@dimen/we_recommend_text_size"
                android:textAllCaps="true"
                android:textStyle="bold"
                android:paddingBottom="10dp" />

            <TextView
                android:id="@+id/details_next_story_heading"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/details_comments_buttons_layout"
                android:paddingLeft="@dimen/news_details_recommend_text_horizontal_padding"
                android:paddingRight="@dimen/news_details_recommend_text_horizontal_left_padding"
                android:text="@string/next_story"
                android:textSize="@dimen/story_heading_text_size"
                android:paddingBottom="10dp" />

            </LinearLayout>

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:src="@drawable/next_story_icon"
                android:layout_weight="8"
                android:layout_gravity="center_vertical"
                android:padding="10dp"/>

        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="0.8dp"
            android:layout_below="@id/details_next_story_layout"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:background="@color/divider_bottom"
            android:id="@+id/view_below_next_story"
            />


        <View
            android:id="@+id/view_for_detail_news_lazy_loading"
            android:layout_width="match_parent"
            android:layout_height="@dimen/news_details_blank_views_below_comment_layout_height"
            android:layout_below="@id/news_description_detail"
            android:layout_marginTop="@dimen/news_details_blank_views_below_comment_layout_top_margin"
            android:visibility="gone"
            android:background="@android:color/transparent" />


        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="@dimen/news_details_bottom_progress_layout_width"
            android:layout_height="@dimen/news_details_bottom_progress_layout_height"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:layout_below="@id/view_below_next_story"
            android:id="@+id/detail_news_progress_bar"
            >

            <com.expressdigital.express.utils.CircleImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/express_loader"
                android:alpha="0.7"
                 android:layout_marginRight="@dimen/news_details_bottom_logo_padding"
                android:layout_marginLeft="@dimen/news_details_bottom_logo_padding"
                android:layout_margin="@dimen/news_details_bottom_logo_padding"
                android:layout_marginBottom="@dimen/news_details_bottom_logo_padding"
                />

            <ProgressBar
                android:indeterminate="true"
                android:layout_width="@dimen/news_details_bottom_progress_layout_width"
                android:layout_height="@dimen/news_details_bottom_progress_layout_height"
                style="@style/CustomProgressBar"
                />

        </RelativeLayout>

        <TextView
            android:id="@+id/details_we_recommend_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/view_for_detail_news_lazy_loading"
            android:paddingLeft="@dimen/news_details_recommend_text_horizontal_padding"
              android:paddingRight="@dimen/news_details_recommend_text_horizontal_padding"
            android:text="@string/related_stories"
            android:textColor="@color/we_recommend"
            android:textSize="@dimen/we_recommend_text_size"
            android:textAllCaps="true"
            android:textStyle="bold"
            android:visibility="gone" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/details_we_recommend_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/details_we_recommend_text"
            android:foregroundGravity="center"
            android:gravity="center"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:visibility="gone" />

        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="0.8dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:layout_below="@id/extraSection"
            android:background="@color/divider_bottom"
            android:id="@+id/view_above_details_ad_view"
            />

        <!-- ad type mrec layout-->
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/news_details_ad_view"
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:layout_centerHorizontal="true"
            android:layout_below="@id/view_above_details_ad_view"
            />

        <View
            android:layout_width="match_parent"
            android:layout_height="0.8dp"
            android:layout_below="@id/news_details_ad_view"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:background="@color/divider_bottom"
            android:id="@+id/view_below_details_ad_view"
            />
    </RelativeLayout>
    </FrameLayout>
</android.support.v4.widget.NestedScrollView>

</android.support.v4.widget.SwipeRefreshLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/news_details_progress_layout"
    android:layout_marginBottom="@dimen/actionbar_size">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="@dimen/actionbar_size">

    <RelativeLayout
    android:layout_width="@dimen/news_details_progress_layout_width"
    android:layout_height="@dimen/news_details_progress_layout_height"
    android:layout_centerInParent="true"
    android:gravity="center"
    >

    <com.expressdigital.express.utils.CircleImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/express_loader"
        android:alpha="0.7"
        android:layout_marginRight="@dimen/news_details_logo_padding"
        android:layout_marginLeft="@dimen/news_details_logo_padding"
        android:layout_margin="@dimen/news_details_logo_padding"
        android:layout_marginBottom="@dimen/news_details_logo_padding"
        />

    <ProgressBar
        android:layout_width="@dimen/news_details_progress_layout_width"
        android:layout_height="@dimen/news_details_progress_layout_height"
        style="@style/CustomProgressBar"
        />

</RelativeLayout>
    </LinearLayout>
</RelativeLayout>


  • Lehetséges a másolata stackoverflow.com/questions/23922978/ 14.03.2017
  • @Shailesh ebben a szálban a hirdetések nem mindig láthatók, de nem ez a helyzet, amikor megnyitjuk az alkalmazást. 14.03.2017
  • A probléma az, hogy azonnal megpróbálja betölteni a hirdetést a töredékébe, amikor elcsúsztatja a viewpage. Lehetséges, akkor kérjük, ossza meg xml fájlját, ahol beállíthatja a ad 14.03.2017
  • Hol van a hirdetésed network címkéje? 14.03.2017
  • A hirdetéseket a Java osztályba adták hozzá: mAdRequest = new PublisherAdRequest.Builder().build(); topAdViewLayout = (RelativeLayout) view.findViewById(R.id.news_details_top_ad_view_layout); topAdView = new PublisherAdView(context); topAdView.setAdSizes(AdSize.BANNER); topAdView.setAdUnitId((String)CommonObjects.getSharedPreferences(context, ad_id_top, )); topAdViewLayout.addView(mAdRequest); // mindhárom különböző hirdetéshez: top/bottom/mrec 14.03.2017
  • @AndroidDev Kérjük, ne írjon kódrészleteket a megjegyzésekbe (ezeket szinte lehetetlen elolvasni). Kérem, szerkessze a kérdést. 14.03.2017

Válaszok:


1

Ha hirdetést használ a viewPager-ben, akkor van néhány probléma az elrendezéssel.

  1. az orientáció csak a Lineáris elrendezésnél releváns.
  2. A layout_alignParentBottomnak logikai értékre van szüksége, nem "top"-ra.
  3. Az elrendezés_súlya csak a LinearLayout és a RelativeLayout esetén releváns.

Mivel Ön RelativeLayoutot használ, cserélje ki a szalaghirdetés példakódját a következőre:

// Create the adView     
AdView adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);     
// Lookup your RelativeLayoutLayout assuming it’s been given     
// the attribute android:id="@+id/ad"     
RelativeLayoutlayout layout = (RelativeLayout)findViewById(R.id.ad);     
// Add the adView to it
layout.addView(adView);     
// Initiate a generic request to load it with an ad     
adView.loadAd(new AdRequest());

Más megoldás az

AdView adView = (AdView) findViewById(R.id.ad);
adView.bringToFront();

Remélem megkapod a megoldást. A részletekért tekintse meg ezt a link1 és link2.

14.03.2017
  • Az AdView az Admobhoz használatos, és kipróbáltam ezt a megközelítést, de nekem nem működött. 14.03.2017
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..