פורמט מודעת SDK של הקונה

במודעות של SDK של קונה נעשה שימוש בנכסי קריאייטיב שעברו עיבוד על ידי ה-SDK שלכם.

מלאי שטחי הפרסום באפליקציות לנייד של בעלי תוכן דיגיטלי שמשלבים את מתאם הבידינג שלכם באפליקציה שלהם יכול לקבל הצעות מחיר עם פורמט מודעה שעבר עיבוד על ידי ה-SDK של הקונה. אופן הרינדור שלהם מבוסס על ההטמעה של ה-SDK ועל הערך של SDKRenderedAd ששולחים בתשובה לבידינג.

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

דרישות

מודעות Buyer SDK זמינות לקונים שאושרו. הפורמט הזה דורש מאמץ נוסף מצידכם ומצד בעל התוכן הדיגיטלי. כדי להגדיר את החשבון להצגת מודעות של SDK לקונים, צריך לפנות למנהל החשבונות הטכני. לאחר מכן תוכלו להטמיע מתאם לבידינג שיאפשר ל-SDK שלכם לתקשר עם Google Mobile Ads SDK. בעלי התוכן הדיגיטלי צריכים לשלב את ה-SDK והמתאם שלכם באפליקציות שלהם לנייד.

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

אם בקשת הצעת המחיר תומכת בפורמט המודעה הזה, תוכלו לציין מודעה שתוצג באמצעות ה-SDK שלכם על ידי הגדרת השדה sdk_rendered_ad בתגובה להצעת המחיר.

בקשה להצעת מחיר

בקשות להצעות מחיר למלאי שטחי פרסום באפליקציות לנייד כוללות פרטים על ערכות ה-SDK והמתאמים באפליקציה של בעל האפליקציה, שאפשר להשתמש בהם לצורך עיבוד (רנדרינג) בשדות הבאים:

מזהה ה-SDK

אפשר להשתמש בבקשת הצעת המחיר כדי למצוא את מזהה ה-SDK שצריך לספק בתשובה להצעת המחיר באמצעות השדה BidRequest.app.ext.installed_sdk.id.

מידע נוסף זמין במאמרי העזרה של InstalledSdk.

מיפוי של יחידות של מודעות

אפשר להשתמש בבקשת הצעת המחיר כדי למצוא את המיפויים של יחידות המודעות שתואמים למיקום הצעת המחיר באמצעות השדה BidRequest.imp.ext.ad_unit_mapping.

מידע נוסף זמין במאמרי העזרה של AdUnitMapping.

אותות מאובטחים

בעלי תוכן דיגיטלי יכולים לשתף אותות מאובטחים עם מגישי הצעות מחיר. אפשר למצוא אותם ב-BidRequest.imp.ext.buyer_generated_request_data.data.

מידע נוסף על ייצוג של אותות מאובטחים זמין במסמכי העזרה של BuyerGeneratedRequestData.

בקשות לבדיקה

אתם יכולים להשתמש בשדה BidRequest.test כדי לוודא שהבקשה להצעת מחיר היא בדיקה.

מידע נוסף על השדה הזה זמין במשאבי העזרה של BidRequest.

בקשה לדוגמה להצעת מחיר

id: "<bid_request_id>"
imp {
  id: "1"
  banner {
    w: 320
    h: 50
    ...
  }
...
  adx_ext {
   ...
    ad_unit_mapping {
      keyvals {
        key: "key_1"
        value: "value_1"
      }
      keyvals {
        key: "key_2"
        value: "value_2"
      }
      ...
      format: FORMAT_BANNER
    }
  }
}
app {
 ...
  adx_ext {
    installed_sdk {
      id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      sdk_version {
        major: 1
        minor: 2
        micro: 30
      }
      adapter_version {
        major: 1
        minor: 2
        micro: 3000
      }
    }
    installed_sdk {
    ...
    }
    ...
  }
}
device {
  ...
}
user {
  ...
  }
  adx_ext {
    eids {
      source: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      uids {
        id: "<partner_signal_string>"
      }
    }
  }
}
at: 1
tmax: 1000
cur: "USD"
test: 1
...
adx_ext {
  google_query_id: "<query_string>"
  ...
}

תגובה לבקשה להצעת מחיר

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

  • BidResponse.seatbid.bid.adomain
  • BidResponse.seatbid.bid.ext.billing_id
  • BidResponse.seatbid.bid.crid
  • BidResponse.seatbid.bid.w
  • BidResponse.seatbid.bid.h

בנוסף, תגובת הצעת המחיר צריכה לאכלס את השדה BidResponse.seatbid.bid.ext.sdk_rendered_ad בפרטים הבאים:

מזהה ה-SDK

בשדה id מציינים את המזהה של ה-SDK כדי להציג את המודעה.

המזהה מופיע ב-BidRequest.app.ext.installed_sdk.

מודעה שהוצהרה

משתמשים ב-BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad כדי לספק נכס קריאייטיב שעומד בדרישות שמפורטות ב-BidRequest.imp.ext.creative_enforcement_settings ומייצג את נתוני העיבוד של המודעה. צריך לאכלס רק אחד מהמאפיינים הבאים: html_snippet, video_url, video_vast_xml או native_response.

אם לא מאכלסים את השדה declared_ad, לא נוכל לבדוק את הקריאייטיב וכל הצעות המחיר עם הקריאייטיב מסוננות מהמכרז.

מידע נוסף על המודעה המוצגת מופיע במשאבי העזרה של DeclaredAd.

עיבוד נתונים

משתמשים בשדה BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data כדי לספק את הנתונים ש-SDK של הקונה ישתמש בהם כדי להציג את המודעה.

בהצעות מחיר להצגת מודעה של קונה מבוססת-SDK, צריך לציין קריאייטיב בשדה declared_ad. המודעה המוצגת חייבת לייצג במדויק את rendering_data.

זוהי דוגמה לאובייקט SdkRenderedAd:

{
  "id": "1234567",
  "rendering_data": "\xd58...,\xd4\x89\xd\xf9",
  "declared_ad": {
    "html_snippet": "<iframe src=\"https://example.com/ads?id=123&
      curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
  }
}

מומלץ להשתמש ב-Real-time Bidding API כדי לשלוח נכסי קריאייטיב לבדיקה לפני שמצרפים אותם לתגובה להצעת מחיר.

לפרטים נוספים על השדות SdkRenderedAd, אפשר לעיין במדריך OpenRTB.

דוגמה לתגובה לבקשה להצעת מחיר

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

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 99
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 320
    h: 50
    burl: "https://abc.com/billing?td=fn&win_price=${AUCTION_PRICE}"
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          html_snippet: "<!doctype html> <html> ... </html>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
      billing_id: 141763360450
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

מעברון

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

סרטון מתגמל

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

מותאם

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 1200
    h: 627
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          native_response {
            ...
            assets {
              id: 1
              title {
                text: ""
              }
            }
            assets {
              id: 2
              data {
                value: "<some_string>"
              }
            }
            assets {
              id: 3
              data {
                value: "View now"
              }
            }
            assets {
              id: 4
              img {
                url: "<valid_image_url>"
                w: 1200
                h: 627
                type: 3
              }
            }
            assets {
              id: 5
              img {
                url: "<valid_image_url>"
                w: 100
                h: 100
                type: 1
              }
            }
            assets {
              id: 6
              data {
                value: ""
              }
            }
            assets {
              id: 7
              data {
                value: "<some_string>"
              }
            }
            link {
              url: "<destination_link>"
            }
          }
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

בדיקת קריאייטיב

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

יש שתי דרכים לשלוח נכסי קריאייטיב לבדיקה:

Real-time Bidding API (מומלץ)

אפשר להשתמש ב-method‏ buyers.creatives.create של Real-time Bidding API כדי לשלוח נכסי קריאייטיב לבדיקה.

ה-API דורש שליחה אחת בלבד לכל נכס קריאייטיב, ומאפשר לכם לבדוק את סטטוס הבדיקה של הנכס.

תגובה לבקשה להצעת מחיר

אפשר לשלוח נכסי קריאייטיב חדשים ישירות בתגובה לבידינג.

כדי לשלוח לבדיקה תשובה לבידינג עם קריאייטיב של SDK של קונה, צריך להשתמש בשדה declared_ad של האובייקט SdkRenderedAd.

קריאייטיב שנשלח בתשובה לבידינג נבדק רק אחרי שליחת מספר רב של הצעות מחיר. כל הצעות המחיר שהוגשו לפני שהבדיקה הסתיימה מסוננות מהמכרז. אפשר להשתמש בממשק של בידינג בזמן אמת או ב-Real-time Bidding API כדי לבדוק את הסטטוס של נכס קריאייטיב אחרי שהבדיקה מתחילה.

פרטים נוספים זמינים במדריך בנושא נכסי קריאייטיב.