ערכת Google Mobile Ads SDK תומכת בחיוב על השימוש באפליקציות באמצעות נכס Ad Exchange. במדריך הזה מוסבר איך להגדיר את האפליקציות לכל הפורמטים של המודעות שנתמכים על ידי Ad Exchange.
דרישות מוקדמות
- ממלאים את הדרישות המוקדמות.
- מגדירים את האפליקציה ל-Google Mobile Ads SDK.
הגדרת האפליקציה לצורך גישה ל-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.
לאחר מכן, תוכלו להפעיל את Google Mobile Ads SDK ולבחור פורמט מודעה להצגה. בהמשך המדריך נעשה שימוש בפורמט באנר כדי להמחיש איך אפשר לטעון מודעה מ-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
באופן פרוגרמטי:
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
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' במחירי רצפה ב-micros ובמטבע ברירת המחדל של הערוץ. דוגמה לאופן שבו נעשה שימוש ב-micros: אם מטבע ברירת המחדל שלכם הוא USD, הזנת הערך '6000000' תוביל לערך של 6.00$.
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();
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();