شكل الإعلان في حزمة تطوير البرامج (SDK) للمشتري

تستخدِم إعلانات حزمة تطوير البرامج (SDK) الخاصة بالمشتري تصاميم إعلانات معروضة بواسطة حزمة SDK الخاصة بك.

مستودع تطبيقات الأجهزة الجوّالة من الناشرين الذين يدمجون عروض أسعارك محوّل إلى تطبيقهم يمكنه قبول عروض الأسعار مع شكل الإعلان المعروض لحزمة تطوير البرامج (SDK) للمشتري. تعتمد طريقة عرضها على تنفيذ حزمة تطوير البرامج (SDK) وSDKRenderedAd الذي ترسله في استجابة عرض السعر.

يمكنك تقديم عرض سعر يتضمّن إما إعلانًا يعرضه SDK للمشتري أو أي إعلان آخر التنسيق معتمد من قبل SDK لإعلانات Google على الأجهزة الجوّالة، ولكن أي حيث تتم تصفية عروض الأسعار التي تحتوي على كليهما.

المتطلبات

إعلانات SDK للمشتري متاحة للمشترين الموافَق عليهم. يتطلب هذا التنسيق والجهد المبذول منك ومن الناشر يُرجى التواصل مع المدير التقني للحسابات تهيئة حسابك لإعلانات SDK للمشتري. يمكنك بعد ذلك تنفيذ عرض أسعار محوّل يتيح لحزمة تطوير البرامج (SDK) التواصل مع حزمة "SDK لإعلانات Google على الأجهزة الجوّالة". يجب على الناشر الدمج حزمة SDK والمحول إلى تطبيقات الأجهزة الجوّالة لديهم.

نقترح عليك إرسال تصميمات الإعلانات مراجعة قبل تضمينها في الاستجابة لعرض السعر. التواصل مع المدير التقني للحسابات إذا لم تكن تعرف نوع تصميم الإعلان في وقت عرض السعر

إذا كان طلب عرض السعر يدعم شكل الإعلان هذا، يمكنك تحديد إعلان يتم عرضه بحزمة SDK من خلال إعداد الحقل sdk_rendered_ad في عرض السعر الردّ.

طلب عرض السعر

تشتمل طلبات عروض الأسعار لمستودع تطبيقات الأجهزة الجوّالة على تفاصيل عن حزم SDK في تطبيق الناشر، ويمكنك استخدامها للعرض في ما يلي الحقول:

رقم تعريف حزمة تطوير البرامج (SDK)

يمكنك استخدام طلب عرض السعر للعثور على id التي يجب تقديمها في عرض السعر. استجابة لإعلان معروض على حزمة تطوير البرامج (SDK) للمشتري

اطّلِع على الحقول التالية:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف): BidRequest.mobile.installed_sdk

يمكنك معرفة المزيد من المعلومات عن رسالة "InstalledSdk" في OpenRTB وGoogle والبروتوكولات.

ربط الوحدة الإعلانية

ويمكنك استخدام طلب عرض السعر لقراءة عمليات ربط الوحدات الإعلانية التي تتطابق مع شريحة عرض السعر.

اطّلِع على الحقول التالية:

  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف): BidRequest.AdSlot.ad_unit_mapping

يمكنك معرفة المزيد من المعلومات حول الكائن AdUnitMapping في OpenRTB و Google والبروتوكولات.

الإشارات الآمنة

يمكن للناشرين مشاركة الإشارات الآمنة مع مقدِّمي عروض الأسعار. يمكنك قراءتها من كائن BuyerGeneratedRequestData في OpenRTB أو من تطبيق Google المتوقّف كائن SecureSignal في بروتوكول RTB.

اطّلِع على الحقول التالية:

  • OpenRTB: BidRequest.imp.ext.buyer_generated_request_data.data
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف): BidRequest.AdSlot.SecureSignal.data

يمكنك معرفة المزيد عن كيفية تمثيل الإشارات الآمنة في OpenRTB Google والبروتوكولات.

طلبات الاختبار

ويمكنك قراءة حقل "طلب الاختبار" لمعرفة ما إذا كان طلب عرض السعر الاختبار.

اطّلِع على الحقول التالية:

  • OpenRTB: BidRequest.test
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف): BidRequest.is_test

يمكنك الاطّلاع على مزيد من المعلومات حول الحقل Test في OpenRTB و Google والبروتوكولات.

نموذج طلب عرض سعر

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>"
  ...
}

الاستجابة لعرض السعر

يجب إدراج الحقول التالية في استجابة عرض السعر:

  • OpenRTB:
    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.ext.billing_id
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف):
    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height

بالإضافة إلى ذلك، يجب أن تحتوي استجابة عرض السعر على SdkRenderedAd مع التالي:

رقم تعريف حزمة تطوير البرامج (SDK)

استخدِم الحقل id لتوفير رقم التعريف لحزمة تطوير البرامج (SDK) من أجل عرض الإعلان.

يمكنك العثور على رقم التعريف في طلب عرض السعر باستخدام الحقول التالية:

  • OpenRTB: BidRequest.app.ext.installed_sdk
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف): BidRequest.mobile.installed_sdk

يمكنك معرفة المزيد من المعلومات عن رسالة "InstalledSdk" في OpenRTB و Google والبروتوكولات.

إعلان تم تعريفه

استخدم حقل declared_ad لتقديم تصميم إعلان يلبي طلب عرض السعر متطلبات CreativeEnforcementSettings ويمثل عرض البيانات. نوع واحد فقط من html_snippet أو video_url أو video_vast_xml أو يجب ملء native_response.

في حال عدم تعبئة declared_ad، لن نتمكّن من مراجعة تصميم الإعلان تتم تصفية جميع عروض الأسعار التي لها تصميم الإعلان من المزاد.

عرض البيانات

استخدِم الحقل rendering_data لتوفير البيانات لحزمة تطوير البرامج (SDK) للمشتري من أجل استخدامها لعرض إعلانك.

  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
  • بروتوكول عرض الأسعار في الوقت الفعلي (RTB) من Google (متوقف): BidResponse.ad.sdk_rendered_ad.rendering_data

يجب أن تحدّد عروض أسعار وضع إعلان 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>",
  }
}

نوصي باستخدام واجهة برمجة تطبيقات عروض الأسعار في الوقت الفعلي من أجل إرسال تصميمات الإعلانات مراجعة قبل تضمينها في الاستجابة لعرض السعر.

يمكنك الاطّلاع على Google أدلة بروتوكول OpenRTB للحصول على مزيد من التفاصيل حول الحقول SdkRenderedAd.

نموذج استجابة لعرض السعر

في ما يلي أمثلة على ردود عروض الأسعار لكل شكل من أشكال الإعلانات:

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"

مراجعة المواد الإبداعية

تتم مراجعة تصاميم الإعلانات قبل أن يتم عرضها لضمان توافقها مع السياسات والناشر الإعدادات.

في ما يلي طريقتان يمكنك من خلالهما إرسال تصميمات الإعلانات للمراجعة:

واجهة برمجة تطبيقات عروض الأسعار في الوقت الفعلي (يُنصح بها)

يمكنك استخدام صفحة buyers.creatives.create في واجهة برمجة تطبيقات عروض الأسعار في الوقت الفعلي أرسِل تصميمات الإعلانات للمراجعة.

لا تتطلب واجهة برمجة التطبيقات سوى عملية إرسال واحدة لكل تصميم إعلان، كما تسمح لك بالتحقق من حالة مراجعة تصميمك.

الاستجابة لعرض السعر

يمكنك إرسال تصميمات الإعلانات الجديدة مباشرةً في الاستجابة لعرض السعر.

يجب استخدام الحقل declared_ad لكائن SdkRenderedAd لإرسال الطلب. استجابة عرض السعر من خلال تصميم إعلان حزمة SDK للمشتري للمراجعة

لا تتم مراجعة تصاميم الإعلانات المُرسَلة في استجابة عرض السعر إلا بعد عدة عروض أسعار. وتتم فلترة جميع عروض الأسعار المقدَّمة قبل اكتمال المراجعة من المزاد. يمكنك استخدام واجهة "عرض الأسعار في الوقت الفعلي". أو عروض الأسعار في الوقت الفعلي واجهة برمجة التطبيقات للتحقّق من حالة تصميم الإعلان بعد بدء المراجعة

راجع دليل المواد الإبداعية للحصول على المزيد من التفاصيل.