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

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

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

ضبط إعدادات تطبيقك للوصول إلى Ad Exchange

أضِف معرّف تطبيقك على "مدير إعلانات Google" (المحدّد في واجهة مستخدم "مدير إعلانات Google") إلى ملف AndroidManifest.xml الخاص بتطبيقك من خلال علامة <meta-data> تتضمّن android:name="com.google.android.gms.ads.APPLICATION_ID". بالنسبة إلى android:value، أدرِج معرّف تطبيق "مدير إعلانات Google" الخاص بك بين علامتَي اقتباس.

<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 مع شرطة مائلة لاحقة، بدلاً من رقم تعريف الوحدة الإعلانية. مثلاً: ca-mb-app-pub-5629679302779023/

يضيف المثال التالي رمز الموقع على الويب في Ad Exchange إلى طلب إعلان بانر:

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

Java

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

يُرجى العِلم أنّ عدم إضافة شرطة مائلة للأمام في نهاية رمز الموقع على الويب في Ad Exchange يؤدي إلى حدوث خطأ في طلب الإعلان مع ظهور الرسالة التالية:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

يمكنك أيضًا تحويل رمز موقع ويب على Ad Exchange إلى وحدة إعلانية. بعد ذلك، استخدِم واجهة مستخدم &quot;مدير إعلانات Google&quot; من أجل إنشاء علامة Ad Exchange ونسخها إلى تطبيقك. يجب أن تتضمّن العلامة التي تم إنشاؤها رمز الموقع على الويب في Ad Exchange، متبوعًا بمعرّفات وحدات إعلانية فرعية بدون شرطة مائلة لاحقة، على سبيل المثال: ca-mb-app-pub-5629679302779023/banner.

هذا كل شيء! أصبح تطبيقك الآن جاهزًا لتحميل وعرض إعلانات بانر من Ad Exchange.

بالإضافة إلى ذلك، يمكنك استخدام موقع إلكتروني على Ad Exchange لتحميل وعرض تنسيقات إعلانات أخرى من Ad Exchange باتّباع الأدلة ذات الصلة:

(الناشرون الأوروبيون المعتمَدون فقط) إضافة الأسعار الدنيا

يمكنك إرسال طلب للحصول على ميزة "حدود الأسعار الدنيا".

بعد الموافقة، يمكنك تضمين سعر حد أدنى علني أو خاص في طلب الإعلان باستخدام المَعلمتَين pubf وpvtf على التوالي. في مثال الرمز التالي، استبدِل "123" بالحدود الدنيا للأسعار بالميكرو وعملة شبكتك التلقائية. مثال على كيفية تطبيق وحدات الميكرو: إذا كانت عملتك التلقائية هي الدولار الأمريكي، فإنّ إدخال "6000000" يعادل 6.00 دولار أمريكي.

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();