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

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

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

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

المتطلبات

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

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

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

إذا كان طلب عرض السعر يتيح شكل الإعلان هذا، يمكنك تحديد إعلان يتم عرضه باستخدام حزمة 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) الخاصة بالمشتري لعرض إعلانك.

يجب أن تحدّد عروض الأسعار لعرض إعلان مستند إلى حزمة تطوير البرامج الخاصة بالمشتري تصميم إعلان في الحقل 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 من أجل إرسال تصاميم الإعلانات للمراجعة قبل تضمينها في ردّ على عرض سعر.

اطّلِع على دليل 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"

مراجعة تصميم الإعلان

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

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

Real-time Bidding API (موصى به)

يمكنك استخدام طريقة buyers.creatives.create في Real-time Bidding API من أجل إرسال تصاميم إعلانات للمراجعة.

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

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

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

يجب استخدام الحقل declared_ad في العنصر SdkRenderedAd لإرسال ردّ على عرض سعر يتضمّن تصميم إعلان من حزمة تطوير البرامج (SDK) الخاصة بالمشتري بغرض المراجعة.

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

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