تبلیغات بنری

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.
-l10nl10n

تبلیغات بنری یک نقطه را در طرح‌بندی برنامه اشغال می‌کنند، چه در بالا یا پایین صفحه دستگاه. در حالی که کاربران در حال تعامل با برنامه هستند، روی صفحه می مانند و می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. اگر در زمینه تبلیغات موبایلی تازه کار هستید، آنها مکان خوبی برای شروع هستند.مطالعه موردی .

این راهنما به شما نشان می دهد که چگونه تبلیغات بنری را ازAdMob در یک برنامه اندروید ادغام کنید. علاوه بر تکه‌های کد و دستورالعمل‌ها، اطلاعاتی در مورد اندازه‌بندی صحیح بنرها و پیوندهایی به منابع اضافی نیز دارد.

پیش نیازها

AdView را به طرح اضافه کنید

اولین قدم برای نمایش یک بنر این است که AdView را در طرح Activity یا Fragment ای که می خواهید در آن نمایش دهید قرار دهید. ساده ترین راه برای انجام این کار اضافه کردن یکی به فایل طرح بندی XML مربوطه است. در اینجا یک مثال آمده است که AdView یک فعالیت را نشان می دهد:

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

به ویژگی های مورد نیاز زیر توجه کنید:

  • ads:adSize - این را روی اندازه تبلیغی که می خواهید استفاده کنید تنظیم کنید. اگر نمی خواهید از اندازه استاندارد تعریف شده توسط ثابت استفاده کنید، می توانید به جای آن یک اندازه سفارشی تنظیم کنید. برای جزئیات بیشتر به بخش اندازه بنر زیر مراجعه کنید.
  • ads:adUnitId - این را روی شناسه منحصربه‌فردی که به واحد تبلیغات در برنامه‌تان داده می‌شود، تنظیم کنید، جایی که تبلیغات قرار است نمایش داده شوند. اگر تبلیغات بنری را در فعالیت های مختلف نشان دهید، هر کدام به یک واحد تبلیغات نیاز دارند.

همچنین می‌توانید AdView را به صورت برنامه‌نویسی ایجاد کنید:

جاوا

AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

کاتلین

val adView = AdView(this)

adView.adSize = AdSize.BANNER

adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

همیشه با تبلیغات آزمایشی تست کنید

هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید. عدم انجام این کار می تواند منجر به تعلیق حساب شما شود.

ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای بنرهای اندروید است:

ca-app-pub-3940256099942544/6300978111

این به‌طور ویژه پیکربندی شده است تا تبلیغات آزمایشی را برای هر درخواست بازگرداند، و شما می‌توانید هنگام کدنویسی، آزمایش و اشکال‌زدایی از آن در برنامه‌های خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آن را با شناسه واحد تبلیغاتی خود جایگزین کنید.

برای کسب اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK Ads Mobile، به Test Ads مراجعه کنید.

یک تبلیغ را بارگیری کنید

هنگامی که AdView در محل قرار گرفت، گام بعدی بارگذاری آگهی است. این کار با loadAd() در کلاس AdView انجام می شود. این یک پارامتر AdRequest را می‌گیرد که اطلاعات زمان اجرا (مانند اطلاعات هدف‌یابی) را در مورد یک درخواست آگهی نگه می‌دارد.

در اینجا مثالی آورده شده است که نشان می دهد چگونه یک تبلیغ را در onCreate() یک Activity بارگیری کنید:

MainActivity (گزیده)

جاوا

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

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

کاتلین

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

خودشه! اکنون برنامه شما برای نمایش تبلیغات بنری آماده است.

رویدادهای تبلیغاتی

برای سفارشی‌سازی بیشتر رفتار تبلیغ خود، می‌توانید به تعدادی از رویدادها در چرخه عمر آگهی متصل شوید: بارگیری، باز کردن، بسته شدن و غیره. می توانید از طریق کلاس AdListener به این رویدادها گوش دهید.

برای استفاده از AdListener با AdView ، setAdListener() را فراخوانی کنید:

جاوا

mAdView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

کاتلین

mAdView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

هر یک از روش های قابل جبران در AdListener مربوط به یک رویداد در چرخه حیات یک تبلیغ است.

روش های غلبه پذیر
onAdClicked() onAdClicked() زمانی فراخوانی می شود که کلیکی برای یک تبلیغ ثبت شود.
onAdClosed() onAdClosed() زمانی فراخوانی می شود که کاربر پس از مشاهده URL مقصد تبلیغ به برنامه بازگردد. برنامه شما می‌تواند از آن برای از سرگیری فعالیت‌های معلق یا انجام هر کار دیگری که برای آماده‌سازی خود برای تعامل لازم است استفاده کند.برای اجرای روش های شنونده تبلیغات در برنامه نمایشی Android API به مثال AdMob AdListener مراجعه کنید.
onAdFailedToLoad() onAdFailedToLoad() تنها روشی است که شامل یک پارامتر است. پارامتر خطا از نوع LoadAdError توصیف می کند که چه خطایی رخ داده است. برای اطلاعات بیشتر، به مستندات خطاهای بارگذاری آگهی اشکال زدایی مراجعه کنید.
onAdImpression() onAdImpression() زمانی فراخوانی می شود که یک نمایش برای یک تبلیغ ثبت شود.
onAdLoaded() onAdLoaded() زمانی اجرا می‌شود که بارگذاری آگهی به پایان برسد. برای مثال، اگر می‌خواهید افزودن AdView به فعالیت یا قطعه خود را تا زمانی که مطمئن شوید آگهی بارگیری می‌شود به تأخیر بیاندازید، می‌توانید این کار را از اینجا انجام دهید.
onAdOpened() onAdOpened() زمانی فراخوانی می شود که یک تبلیغ پوششی را باز می کند که صفحه را می پوشاند.

جدول زیر اندازه های استاندارد بنر را فهرست می کند.

اندازه بر حسب dp (WxH) شرح دسترسی AdSize ثابت
320x50 بنر گوشی و تبلت BANNER
320x100 بنر بزرگ گوشی و تبلت LARGE_BANNER
300x250 مستطیل متوسط ​​IAB گوشی و تبلت MEDIUM_RECTANGLE
468x60 بنر سایز کامل IAB قرص FULL_BANNER
728x90 تابلوی امتیازات IAB قرص LEADERBOARD
عرض ارائه شده x ارتفاع تطبیقی بنر تطبیقی گوشی و تبلت N/A
عرض صفحه x 32|50|90 بنر هوشمند گوشی و تبلت SMART_BANNER
درباره بنرهای تطبیقی ​​که برای جایگزینی بنرهای هوشمند در نظر گرفته شده است، بیشتر بیاموزید.

برای تعریف اندازه بنر سفارشی، AdSize مورد نظر خود را مطابق با اینجا تنظیم کنید:

جاوا

AdSize adSize = new AdSize(300, 50);

کاتلین

val adSize = AdSize(300, 50)

شتاب سخت افزاری برای تبلیغات ویدیویی

برای اینکه تبلیغات ویدیویی با موفقیت در بازدیدهای تبلیغات بنری شما نمایش داده شود، شتاب سخت افزاری باید فعال باشد.

شتاب سخت‌افزاری به‌طور پیش‌فرض فعال است، اما برخی از برنامه‌ها ممکن است آن را غیرفعال کنند. اگر این مورد در مورد برنامه شما صدق می کند، توصیه می کنیم شتاب سخت افزاری را برای کلاس های Activity که از تبلیغات استفاده می کنند فعال کنید.

فعال کردن شتاب سخت افزاری

اگر برنامه شما با روشن شدن جهانی شتاب سخت افزاری به درستی رفتار نمی کند، می توانید آن را برای فعالیت های فردی نیز کنترل کنید. برای فعال یا غیرفعال کردن شتاب سخت‌افزاری، می‌توانید از ویژگی android:hardwareAccelerated برای عناصر <application> و <activity> در AndroidManifest.xml خود استفاده کنید. مثال زیر شتاب سخت افزاری را برای کل برنامه فعال می کند اما آن را برای یک فعالیت غیرفعال می کند:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

برای اطلاعات بیشتر در مورد گزینه های کنترل شتاب سخت افزاری، راهنمای شتاب HW را ببینید. توجه داشته باشید که در صورت غیرفعال شدن Activity، نماهای تبلیغاتی منفرد را نمی توان برای شتاب سخت افزاری فعال کرد، بنابراین خود Activity باید شتاب سخت افزاری را فعال کند.

منابع اضافی

نمونه هایی در GitHub

آموزش تصویری Garage Ads Mobile

داستان های موفقیت