הגדרת מודעות מותאמות

מודעות מותאמות מספקות לכם נכסים שמצורפים למודעה, כמו כותרת, תמונות וטקסט להנעה לפעולה, שאתם יכולים לעצב ולסדר כך שיתאימו לעיצוב החזותי של האפליקציה. כדי לטפל במעקב אחרי קליקים, חשיפות והפעלת מדיה, Google Mobile Ads SDK for React Native מספק את הרכיבים הבאים:

פרטים על הצגת מודעות מותאמות בהתאם למדיניות זמינים במאמר מודעות מותאמות שמשתמשות בפורמט "מודעה מותאמת מסוג Advanced".

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

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

לפני שממשיכים, צריך לבצע את הפעולות הבאות:

Android

פורמט מזהה יחידת מודעות לדוגמה
מותאם ca-app-pub-3940256099942544/2247696110
מודעת וידאו מותאמת ca-app-pub-3940256099942544/1044960115

iOS

פורמט מזהה יחידת מודעות לדוגמה
מותאם ca-app-pub-3940256099942544/3986624511
מודעת וידאו מותאמת ca-app-pub-3940256099942544/2521693316

טעינת מודעה

כדי לטעון מודעה מותאמת, מפעילים את ה-method‏ NativeAd.load עם אובייקט NativeAdRequest שמכיל את מזהה יחידת המודעות. השיטה הזו מחזירה הבטחה (promise) שמתקבלת עם האובייקט NativeAd שנטען, או נדחית עם האובייקט LoadAdError.

בדוגמה הבאה נטענת מודעה מותאמת אחת, המודעה שנטענה מוחזרת אם הפעולה הצליחה, ומוצגת הודעת שגיאה אם הפעולה נכשלה:

export async function loadNativeAd(adUnitId: string): Promise<NativeAd | null> {
  try {
    const ad = await NativeAd.load({adUnitId});
    return ad;
  } catch (error) {
    const loadError = error as LoadAdError;
    console.error('Failed to load native ad:', loadError.message);
    return null;
  }
}

כשאתם טוענים ומנהלים מודעות מותאמות, מומלץ לבצע את הפעולות הבאות:

  • הגבלת מספר המודעות שנטענות: נכסים שמצורפים למודעות מותאמות צורכים זיכרון. כדאי לטעון רק מודעות שהמשתמשים עומדים לראות, כמו מיקום המודעה הבא או שני מיקומי המודעות הבאים, במקום לטעון קבוצות גדולות של מודעות בבת אחת.
  • ניקוי מודעות שלא נטענו: כשמסירים או מחליפים מודעה במסך, או כשהרכיב שמכיל את המודעה לא נטען, צריך להפעיל את השיטה ad.destroy. השיטה הזו משחררת את המשאבים והזיכרון שהמודעה משתמשת בהם.
  • הצגת מודעות שנטענו תוך שעה: התוקף של נכסי קריאייטיב של מודעות מותאמות פג אחרי 60 דקות. אם לא הצגתם מודעה שנטענה תוך שעה, צריך להשמיד את המודעה ולבקש מודעה אחרת.

אופציונלי: טעינה של כמה מודעות

כדי לטעון כמה מודעות בבקשה אחת, צריך להפעיל את ה-method‏ NativeAd.loadAds עם אובייקט NativeAdRequest, מספר המודעות שרוצים לבקש ואובייקט NativeAdLoadCallback. הבקשה יכולה להכיל עד חמש מודעות.

בדוגמה הבאה, נשלחת בקשה להצגת כמה מודעות מותאמות, וכל מודעה שנטענת, שגיאה בטעינה והשלמת בקשה מטופלות באמצעות קריאות חוזרות (callbacks):

export function loadMultipleNativeAds(adUnitId: string, numAds: number): void {
  NativeAd.loadAds({adUnitId}, numAds, {
    // Called when an individual native ad finishes loading.
    onNativeAdLoad: (ad) => {
      console.log('Loaded native ad:', ad.headline);
    },
    // Called when an individual native ad fails to load.
    onAdFailedToLoad: (error) => {
      console.error('Failed to load native ad:', error.message);
    },
    // Called when all requested ads have finished loading.
    onAdLoadingCompleted: () => {
      console.log('All requested native ads finished loading.');
    },
  });
}

אם אתם מציגים מודעות בפיד שניתן לגלול בו, כדאי לטעון את המודעות מראש. התהליך הזה מאפשר למודעות להופיע כשהמשתמשים מגיעים אליהן.

הפעלה של שיפור מהירות באמצעות חומרה

כדי להציג מודעות וידאו בתצוגות של מודעות מותאמות ב-Android, צריך להפעיל את שיפור המהירות באמצעות חומרה.

כברירת מחדל, שיפור המהירות באמצעות חומרה מופעל ב-Android. יכול להיות שאפליקציות ישביתו את שיפור המהירות באמצעות חומרה באופן גלובלי. אם האפליקציה משביתה את שיפור המהירות באמצעות חומרה באופן גלובלי, צריך להפעיל את ההגדרה למחלקות Activity שמציגות מודעות.

אם מפעילים את שיפור המהירות באמצעות חומרה באופן גלובלי והאפליקציה לא פועלת כמו שצריך, אפשר לשלוט בשיפור המהירות באמצעות חומרה לפעילויות ספציפיות. כדי להפעיל או להשבית את שיפור המהירות באמצעות חומרה, משתמשים במאפיין android:hardwareAccelerated ברכיבים application ו-activity בקובץ AndroidManifest.xml.

בדוגמה הבאה, שיפור מהירות באמצעות חומרה מופעל באופן גלובלי באפליקציה, וההגדרה מושבתת לפעילות אחת:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

השלבים הבאים

אחרי שטוענים מודעה, מעבדים אותה בממשק המשתמש של React Native באמצעות הרכיבים NativeAdView ו-NativeAdMediaView. פרטים נוספים זמינים במאמר הצגת מודעות מותאמות.