إعداد الوصول المباشر إلى Ad Exchange

تتيح حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" تحقيق الربح من تطبيقاتك باستخدام موقع Ad Exchange. يوضِّح لك هذا الدليل كيفية ضبط تطبيقاتك لجميع أشكال الإعلانات التي يدعمها Ad Exchange.

المتطلبات الأساسية

إعداد تطبيقك للوصول إلى 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();