تحتل إعلانات البانر موضعًا داخل تصميم التطبيق، إما في أعلى شاشة الجهاز أو أسفلها. وهي تبقى على الشاشة بينما يتفاعل المستخدمون مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة معينة من الوقت. إذا كنت مستخدمًا جديدًا لإعلانات الجوّال، فهي نقطة بداية رائعة. دراسة حالة.
يشرح لك هذا الدليل كيفية دمج إعلانات البانر منAdMob في تطبيق متوافق مع Android. وبالإضافة إلى مقتطفات الرمز والتعليمات، يتضمّن أيضًا معلومات حول تغيير حجم إعلانات البانر بشكل سليم وروابط إلى مراجع إضافية.
المتطلّبات الأساسية
- استيراد حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"، إما بمفردها أو كجزء من Firebase.
إضافة 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
:
النشاط الرئيسي (المقتطف)
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()
عندما يفتح الإعلان تراكبًا يغطّي الشاشة.
|
أحجام البانر
يسرد الجدول التالي أحجام إعلانات البانر العادية.
الحجم بالبكسل (xxH) | الوصف | أماكن التوفّر | ثابت حجم الإعلان |
---|---|---|---|
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