הגדרת גישה ישירה ל-Ad Exchange

Google Mobile Ads SDK תומך במונטיזציה של אפליקציות באמצעות נכס ב-Ad Exchange. במדריך הזה מוסבר איך להגדיר את האפליקציות לכל הפורמטים של המודעות שנתמכים ב-Ad Exchange.

דרישות מוקדמות

הגדרת האפליקציה לגישה אל Ad Exchange

מוסיפים את מזהה האפליקציה של Ad Manager (שזוהה בממשק המשתמש של Ad Manager) לקובץ AndroidManifest.xml של האפליקציה באמצעות תג <meta-data> עם android:name="com.google.android.gms.ads.APPLICATION_ID". עבור android:value, צריך להוסיף את מזהה האפליקציה האישי שלכם ב-Ad Manager ומוקף במירכאות.

<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. אותם שלבים יכולים לחול על כל פורמט של מודעה שנתמך ב-Google Mobile Ads SDK.

טעינת מודעה מ-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 Manager כדי ליצור תג 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, תוכלו לקרוא ל-method loadAd() במחלקה AdManagerAdView ולהתאים אישית את התנהגות המודעה באמצעות אירועים של מודעות.

זהו! האפליקציה שלך מוכנה עכשיו לטעינה ולהצגה של מודעות באנר מ-Ad Exchange.

בנוסף, אפשר להשתמש בנכס אינטרנט של Ad Exchange כדי לטעון ולהציג פורמטים אחרים של מודעות מ-Ad Exchange. לשם כך, פועלים לפי המדריכים המתאימים:

(בעלי אתרים שאושרו באירופה בלבד) הוספת מחירי מינימום

תוכלו לשלוח בקשה לשימוש בתכונה 'מחיר מינימום'.

לאחר האישור, תוכלו לכלול קומה ציבורית או קומה פרטית בבקשה להצגת מודעה באמצעות הפרמטרים pubf ו-pvtf בהתאמה. בדוגמה הבאה של הקוד, מחליפים את "123" במחירי המינימום ב-Micros ובמטבע ברירת המחדל של הרשת. דוגמה לאופן שבו אנחנו משתמשים במיקרו-נתונים: אם המטבע שמוגדר כברירת מחדל הוא USD, מזינים '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();