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

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

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

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

المتطلّبات

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

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

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

طلب عرض السعر

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

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

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

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

  • الشراة المعتمَدون: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

يمكنك الاطّلاع على مزيد من المعلومات حول رسالة InstalledSdk في دليلَي بروتوكول Google وOpenRTB.

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

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

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

  • الشراة المعتمَدون: BidRequest.AdSlot.ad_unit_mapping
  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping

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

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

يجب قراءة كائن المعرّف الممتد، وهو الإضافة العادية المستخدَمة لتمرير الإشارات الآمنة التي يختارها الناشر.

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

  • الشراة المعتمَدون: BidRequest.AdSlot.SecureSignal.data
  • OpenRTB: BidRequest.user.ext.eids.uids.id

يمكنك الاطّلاع على مزيد من المعلومات حول الكائن Extended Id في دليلَي بروتوكول Google وOpenRTB.

طلبات تجريبية

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

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

  • الشراة المعتمَدون: BidRequest.is_test
  • OpenRTB: BidRequest.test

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

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

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:

  • الشراة المعتمَدون:

    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height
  • OpenRTB:

    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.cid
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h

يمكنك الاطّلاع على مزيد من المعلومات حول رسالة SeatBid في دليلَي بروتوكول Google وOpenRTB.

يجب أن يحتوي استجابة عرض السعر على SdkRenderedAd بما يلي:

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

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

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

  • الشراة المعتمَدون: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

يمكنك الاطّلاع على مزيد من المعلومات حول رسالة InstalledSdk في دليلَي بروتوكول Google وOpenRTB.

إعلان معلن

استخدِم الحقل declared_ad لتوفير تصميم إعلان يستوفي متطلبات CreativeEnforcementSettings لطلب عرض السعر ويمثّل بيانات العرض الخاصة بالإعلان. بالنسبة إلى أشكال الإعلانات غير المدمجة مع المحتوى، يجب تقديم واحد فقط من html_snippet أو video_url أو video_vast_xml. بالنسبة إلى شكل الإعلان المدمج مع المحتوى، يجب تقديم native_response فقط.

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

عرض البيانات

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

  • الشراة المعتمَدون: BidResponse.ad.sdk_rendered_ad.rendering_data
  • OpenRTB: BidResponse.seatbid.bid.ext.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) للمشتري بغرض مراجعته.

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

اطّلِع على دليل تصاميم الإعلانات للحصول على مزيد من التفاصيل.