تشغل إعلانات البانر مساحة داخل تصميم التطبيق، إما في الجزء العلوي أو السفلي من شاشة الجهاز. وتظل على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن تحديثها تلقائيًا بعد فترة زمنية معينة. إذا كنت مستخدمًا جديدًا لإعلانات الجوّال، فهي نقطة بداية جيدة. دراسة حالة
يوضّح لك هذا الدليل كيفية دمج إعلانات البانر من AdMob في تطبيق Android. وبالإضافة إلى مقتطفات الشفرة والتعليمات، يشمل أيضًا معلومات عن تحديد حجم إعلانات بانر بشكل سليم وروابط إلى موارد إضافية.
المتطلبات الأساسية
- أكمل دليل البدء.
إضافة 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
آليًا:
لغة Java
AdView adView = new AdView(this); adView.setAdSize(AdSize.BANNER); adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); // TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdView(this) adView.adSize = AdSize.BANNER adView.adUnitId = "ca-app-pub-3940256099942544/6300978111" // TODO: Add adView to your view hierarchy.
الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، تأكد من استخدام إعلانات اختبارية بدلاً من إعلانات إنتاجية مباشرة. وقد يؤدي عدم الالتزام بذلك إلى تعليق حسابك.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام رقم تعريف الوحدة الإعلانية الاختبارية المخصصة لبانر Android:
ca-app-pub-3940256099942544/6300978111
وقد تم تكوينه خصيصًا لعرض إعلانات اختبارية لكل طلب، ويمكنك استخدامه في تطبيقاتك أثناء الترميز والاختبار وتصحيح الأخطاء. تأكد فقط من استبداله برقم تعريف وحدتك الإعلانية الخاصة قبل نشر تطبيقك.
لمزيد من المعلومات عن آلية عمل الإعلانات الاختبارية لحزمة تطوير البرامج (SDK) لإعلانات الأجهزة الجوّالة، اطّلع على الإعلانات الاختبارية.
تحميل إعلان
بعد AdView وضع الإعلان في الموضع الصحيح، تتمثل الخطوة التالية في
تحميل إعلان. يتم ذلك باستخدام طريقة
loadAd()
في الصف AdView
. ويتطلّب الأمر معلمة
AdRequest
تحمل معلومات وقت التشغيل (مثل معلومات الاستهداف) عن
طلب إعلان واحد.
في ما يلي مثال يوضّح كيفية تحميل إعلان باستخدام طريقة onCreate()
من Activity
:
MainActivity (مقتطف)
لغة Java
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); } }
Kotlin
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()
:
لغة Java
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. } });
Kotlin
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 المقصود للإعلان.
يمكن لتطبيقك استخدامه لاستئناف الأنشطة المعلقة
أو تنفيذ أي عمل آخر ضروري ليكون جاهزًا للتفاعل.
يُرجى الرجوع إلى
AdMob
AdListener مثال لتطبيق طرق معالجة
الإعلانات في تطبيق Android API التجريبي.
|
onAdFailedToLoad()
|
إن طريقة onAdFailedToLoad()
هي الطريقة الوحيدة التي تتضمن معلمة. تصف معلمة الخطأ من النوع LoadAdError الخطأ الذي حدث. لمزيد من المعلومات، ارجع إلى وثائق تصحيح أخطاء تحميل الإعلانات.
|
onAdImpression()
|
يتم استدعاء طريقة onAdImpression()
عند تسجيل مرة ظهور لإعلان.
|
onAdLoaded()
|
يتم تنفيذ طريقة onAdLoaded()
عند انتهاء تحميل الإعلان. إذا كنت ترغب في تأخير إضافة AdView إلى نشاطك أو مجزأك، إلى أن تتأكد من تحميل إعلان، على سبيل المثال، يمكنك إجراء ذلك هنا.
|
onAdOpened()
|
يتم استدعاء طريقة onAdOpened()
عندما يفتح أحد الإعلانات تراكبًا يغطي الشاشة.
|
أحجام البانر
يسرد الجدول التالي أحجام البانر القياسية.
الحجم بالبكسل (عرض × ارتفاع) | الوصف | مدى التوفّر | ثابت AdSize |
---|---|---|---|
320 × 50 | "بانر" | الهواتف والأجهزة اللوحية | BANNER |
320×100 | بانر كبير | الهواتف والأجهزة اللوحية | LARGE_BANNER |
300 × 250 | مستطيل متوسط من IAB | الهواتف والأجهزة اللوحية | MEDIUM_RECTANGLE |
468×60 | بانر IAB بالحجم الكامل | الأجهزة اللوحية | FULL_BANNER |
728×90 | ليدربورد لـ IAB | الأجهزة اللوحية | LEADERBOARD |
العرض المُقدَّم × الارتفاع التكيُّفي | إعلان البانر التكيُّفي | الهواتف والأجهزة اللوحية | لا ينطبق |
عرض الشاشة × 32|50|90 | البانر الذكي | الهواتف والأجهزة اللوحية | SMART_BANNER |
اطّلِع على مزيد من المعلومات عن إعلانات البانر التكيُّفية، والتي تهدف إلى استبدال إعلانات البانر الذكي. |
لتحديد حجم إعلان بانر مخصّص، اضبط AdSize
المطلوب، كما هو موضّح أدناه:
لغة Java
AdSize adSize = new AdSize(300, 50);
Kotlin
val adSize = AdSize(300, 50)
تسريع الأجهزة لإعلانات الفيديو
حتى يتسنى عرض إعلانات الفيديو بنجاح في طرق عرض إعلانات البانر، يجب تمكين تسارع الأجهزة.
يتم تفعيل ميزة تسريع الأجهزة تلقائيًا، ولكن يمكن لبعض التطبيقات إيقافها. إذا كان ذلك ينطبق على تطبيقك، نقترح تفعيل تسريع الأجهزة لصفوف النشاط التي تستخدم الإعلانات.
تفعيل تسريع الأجهزة
إذا كان تطبيقك لا يتصرف بشكل صحيح عند تشغيل تسريع الأجهزة عالميًا، يمكنك التحكم فيه للأنشطة الفردية أيضًا. لتفعيل ميزة "تسريع الأجهزة" أو إيقافها، يمكنك استخدام السمة 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>
يمكنك الاطّلاع على دليل تسريع الأجهزة بالموجات اللاسلكية للحصول على مزيد من المعلومات حول خيارات التحكّم في تسريع الأجهزة. تجدر الإشارة إلى أنه لا يمكن تفعيل مشاهدات الإعلان الفردية لتسريع الأجهزة في حال إيقاف النشاط، لذلك يجب أن يتم تفعيل تسريع الأجهزة في النشاط نفسه.
مراجع إضافية
أمثلة على GitHub
نموذج تطبيق بانر بانر RecyclerView: Java