تتيح حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" تحقيق الربح من تطبيقاتك باستخدام موقع Ad Exchange. يوضِّح لك هذا الدليل كيفية ضبط تطبيقاتك لجميع أشكال الإعلانات التي يدعمها Ad Exchange.
المتطلبات الأساسية
- أكمِل المتطلبات الأساسية.
- اضبط تطبيقك لحزمة SDK لإعلانات Google على الأجهزة الجوّالة.
إعداد تطبيقك للوصول إلى Ad Exchange
أضِف رقم تعريف تطبيق "مدير الإعلانات" (المحدّد في واجهة مستخدم "مدير الإعلانات") إلى ملف
AndroidManifest.xml في تطبيقك من خلال علامة <meta-data>
مع
android:name="com.google.android.gms.ads.APPLICATION_ID"
. بالنسبة إلى android:value
،
أدخِل رقم تعريف تطبيق "مدير الإعلانات" الخاص بك، محاطًا بعلامات اقتباس.
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
تجدر الإشارة أيضًا إلى أنّ عدم إضافة العلامة <meta-data>
كما هو موضّح أعلاه يؤدي إلى
تعطُّل الرسالة:
Missing application ID.
بعد ذلك، يمكنك إعداد حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة واختيار شكل إعلان لعرضه. يتضمّن الجزء المتبقي من هذا الدليل شكل إعلان البانر لتوضيح كيفية تحميل إعلان من Ad Exchange. يمكن تطبيق الخطوات نفسها على أي أشكال إعلانات متوافقة مع حزمة SDK لإعلانات Google على الأجهزة الجوّالة
تحميل إعلان من Ad Exchange
يمكنك استخدام رمز موقع ويب Ad Exchange مع شرطة مائلة للأمام في تطبيقك بدلاً من رقم تعريف الوحدة الإعلانية.
على سبيل المثال، لتحميل إعلان بانر من خلال وضع AdManagerAdView
في تنسيق Activity
على النحو التالي:
# main_activity.xml
...
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adManagerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-mb-app-pub-5629679302779023/">
</com.google.android.gms.ads.admanager.AdManagerAdView>
لاحظ أن عدم إضافة شرطة مائلة للأمام إلى رمز موقع الويب في Ad Exchange كما هو موضح أعلاه يؤدي إلى حدوث خطأ في طلب الإعلان مع الرسالة:
Invalid Request. Cannot determine request type. Is your ad unit id correct?
لاحظ أيضًا أنه يمكنك تحويل رمز موقع ويب Ad Exchange إلى وحدة إعلانية.
بعد ذلك، يمكنك استخدام واجهة مستخدم "مدير الإعلانات" من أجل إنشاء علامة
Ad Exchange ونسخها إلى
تطبيقك. يجب أن تتضمّن العلامة التي تم إنشاؤها رمز موقع الويب في Ad Exchange، متبوعًا بأرقام تعريف الوحدة الإعلانية الفرعية بدون شرطة مائلة للأمام، على سبيل المثال:
ca-mb-app-pub-5629679302779023/banner
بدلاً من ذلك، يمكنك إنشاء AdManagerAdView
آليًا:
Java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdManagerAdView(this)
adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"
// TODO: Add adView to your view hierarchy.
بعد الانتهاء من إعداد AdManagerAdView
، يمكنك استدعاء الطريقة loadAd()
في فئة
AdManagerAdView
وتخصيص سلوك إعلانك باستخدام أحداث
الإعلانات.
أكملت هذه الخطوة. تطبيقك جاهز الآن لتحميل إعلانات البانر وعرضها من Ad Exchange.
إضافةً إلى ذلك، يمكنك استخدام موقع ويب Ad Exchange لتحميل أشكال إعلانات أخرى من Ad Exchange وعرضها، وذلك عن طريق اتباع الأدلة ذات الصلة:
(الناشرون الأوروبيون الموافَق عليهم فقط) إضافة حدود للسعر
يمكنك إرسال طلب لميزة "حدود الأسعار".
وبعد الموافقة عليه، يمكنك إدراج حد عام أو حد خاص في طلب الإعلان باستخدام المعلمتين pubf
وpvtf
على التوالي. في مثال الرمز التالي، استبدِل "123" بالأسعار الدنيا بالمايكرو والعملة
التلقائية لشبكتك. مثال على كيفية استخدام وحدات الماكرو: إذا كانت العملة التلقائية هي الدولار الأمريكي، فإن إدخال "6000000" هو
ما يعادل 6.00 دولار أمريكي.
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
.build();