مدير تحديد الإعلانات

public class AdSelectionManager
extends Object

java.lang.Object
android.adservices.adselection.AdSelectionManager


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

ملخّص

الطرق العامة

static AdSelectionManager get(Context context)

طريقة المصنع لإنشاء مثيل من AdSelectionManager.

void getAdSelectionData(GetAdSelectionDataRequest request, Executor executor, OutcomeReceiver<GetAdSelectionDataOutcomeException> receiver)

يجمع بيانات الجمهور المخصّصة من الجهاز.

TestAdSelectionManager getTestAdSelectionManager()
void persistAdSelectionResult(PersistAdSelectionResultRequest request, Executor executor, OutcomeReceiver<AdSelectionOutcomeException> receiver)

مواصلة نتائج اختيار الإعلانات من جهة الخادم

void reportEvent(ReportEventRequest request, Executor executor, OutcomeReceiver<ObjectException> receiver)

يتم إشعار الخدمة بتوفّر حدث إعلان جديد للإبلاغ عنه للإعلان الذي اختاره المستخدِم تم تحديد تشغيل اختيار الإعلان بواسطة adSelectionId.

void reportImpression(ReportImpressionRequest request, Executor executor, OutcomeReceiver<ObjectException> receiver)

يتم إشعار الخدمة بحدوث مرة ظهور جديدة للإعلان الذي اختاره المستخدم، تم تحديد تشغيل اختيار الإعلان بواسطة adSelectionId.

void selectAds(AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, Executor executor, OutcomeReceiver<AdSelectionOutcomeException> receiver)

اختيار إعلان من نتائج اختيارات الإعلانات التي تم عرضها سابقًا

void selectAds(AdSelectionConfig adSelectionConfig, Executor executor, OutcomeReceiver<AdSelectionOutcomeException> receiver)

تشغيل عملية اختيار الإعلانات على الجهاز لاختيار إعلان تجديد نشاط تسويقي للمتصل التطبيق.

void updateAdCounterHistogram(UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, Executor executor, OutcomeReceiver<ObjectException> outcomeReceiver)

لتعديل المدرّجات التكرارية للإعلانات التي تم اختيارها سابقًا من خلال الاتصال بخدمة selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver).

الطرق المكتسبة

الطرق العامة

احصل على

public static AdSelectionManager get (Context context)

طريقة المصنع لإنشاء مثيل من AdSelectionManager.

المعلمات
context Context: السمة Context المطلوب استخدامها لا يمكن أن تكون هذه القيمة null.

المرتجعات
AdSelectionManager مثال AdSelectionManager لا يمكن أن تكون هذه القيمة null.

الحصول على بيانات اختيار الإعلان

public void getAdSelectionData (GetAdSelectionDataRequest request, 
                Executor executor, 
                OutcomeReceiver<GetAdSelectionDataOutcomeException> receiver)

يجمع بيانات الجمهور المخصّصة من الجهاز. لعرض كائن ثنائي كبير مضغوط ومشفّر لإرساله إلى خوادم مزادات لاختيار الإعلانات لمزيد من التفاصيل، يُرجى زيارة عروض الأسعار وشرح خدمات المزادات.

يجب أن تحتوي إعلانات الجمهور المخصّص على ad_render_id حتى تكون مؤهَّلة ليتم جمعها.

يمكنك الاطّلاع على AdSelectionManager#persistAdSelectionResult لمعرفة كيفية معالجة نتائج يتم تشغيل اختيار الإعلانات من جانب الخادم مع الكائن الثنائي الكبير (blob) الذي تم إنشاؤه بواسطة واجهة برمجة التطبيقات هذه.

يتم تمرير الناتج من قِبل المُستلِم، والذي يعرض إما GetAdSelectionDataOutcome لعملية تشغيل ناجحة، أو يتضمن Exception نوع طرح الاستثناء ورسالة الخطأ المقابلة.

إذا تم طرح IllegalArgumentException، يكون السبب هو وسيطة إدخال غير صالحة. واجهة برمجة التطبيقات التي تم الحصول عليها لعرض اختيار الإعلانات.

إذا تم طرح IllegalStateException مع ظهور رسالة الخطأ "تعذُّر اختيار الإعلان بسبب عطل داخلي في خدمة اختيار الإعلانات.

إذا تم طرح قيمة السمة TimeoutException، يكون السبب هو انتهاء المهلة. أثناء تقديم عروض الأسعار أو تسجيل النتائج أو عملية الاختيار الشاملة للعثور على الإعلان الفائز

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

إذا تم طرح رسالة SecurityException، يكون السبب هو عدم منح الإذن للمتصل. أو لا يتم طلب الإذن.
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
request GetAdSelectionDataRequest: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

receiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.

getTestAdSelectionManager

public TestAdSelectionManager getTestAdSelectionManager ()

المرتجعات
TestAdSelectionManager لا يمكن أن تكون هذه القيمة null.

استمرار ظهور AdSelectionResult

public void persistAdSelectionResult (PersistAdSelectionResultRequest request, 
                Executor executor, 
                OutcomeReceiver<AdSelectionOutcomeException> receiver)

مواصلة نتائج اختيار الإعلانات من جهة الخادم لمزيد من التفاصيل، يُرجى زيارة عروض الأسعار وشرح خدمات المزادات

يُرجى الانتقال إلى AdSelectionManager#getAdSelectionData لمعرفة كيفية إنشاء كائن ثنائي كبير مشفّر من أجل اختيار إعلان من جانب الخادم

يتم تمرير الناتج من قِبل المُستلِم، والذي يؤدي إما إلى إرجاع AdSelectionOutcome إتمام عملية تنفيذ ناجحة، أو تتضمن السمة Exception نوع الاستثناء الذي تم طرحه رسالة الخطأ المقابلة.

إذا تم طرح IllegalArgumentException، يكون السبب هو وسيطة إدخال غير صالحة. واجهة برمجة التطبيقات التي تم الحصول عليها لعرض اختيار الإعلانات.

إذا تم طرح IllegalStateException مع ظهور رسالة الخطأ "تعذُّر اختيار الإعلان بسبب عطل داخلي في خدمة اختيار الإعلانات.

إذا تم طرح قيمة السمة TimeoutException، يكون السبب هو انتهاء المهلة. أثناء تقديم عروض الأسعار أو تسجيل النتائج أو عملية الاختيار الشاملة للعثور على الإعلان الفائز

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

إذا تم طرح رسالة SecurityException، يكون السبب هو عدم منح الإذن للمتصل. أو لا يتم طلب الإذن.
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
request PersistAdSelectionResultRequest: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

receiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.

حدث reportEvent

public void reportEvent (ReportEventRequest request, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

يتم إشعار الخدمة بوجود حدث إعلان جديد للإبلاغ عنه للإعلان الذي اختاره المستخدِم تم تحديد تشغيل اختيار الإعلان بواسطة adSelectionId. حدث الإعلان هو أي موضع ورود التي تحدث لإعلان مرتبط بسمة adSelectionId المحدّدة. ليس هناك ضمان حول ووقت الإبلاغ عن حدث الإعلان. قد يتأخر إعداد تقارير الأحداث، وقد تتعرض التقارير دُفعة واحدة.

باستخدام ReportEventRequest#getKey()، ستجلب الخدمة reportingUri التي تم تسجيلها في registerAdBeacon يمكنك الاطّلاع على مستندات "reportImpression(ReportImpressionRequest, Executor, OutcomeReceiver)" للحصول على مزيد من التفاصيل حول "registerAdBeacon". بعد ذلك، تستخدم الخدمة تُرفِق ReportEventRequest#getData() بنص الطلب في طلب POST لإرسال الطلب. سيحتوي نص طلب POST على content-type من text/plain، وسيتم إرسال البيانات في charset=UTF-8.

يقدّم المستلِم المخرجات، ويؤدي إما إلى إرجاع Object فارغة أو Exception يتضمن نوع الاستثناء الذي تم طرحه رسالة الخطأ المقابلة.

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

إذا تم طرح IllegalStateException مع ظهور رسالة الخطأ "تعذُّر اختيار الإعلان بسبب عطل داخلي في خدمة اختيار الإعلانات.

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

إذا تم طرح رسالة SecurityException، يكون السبب هو عدم منح الإذن للمتصل. أو لا يتم طلب الإذن.

سيتم الإبلاغ عن الأحداث مرة واحدة على الأكثر كمحاولة للجهود المبذولة.
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
request ReportEventRequest: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null.

receiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.

الظهور في التقرير

public void reportImpression (ReportImpressionRequest request, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

يتم إشعار الخدمة بوجود مرة ظهور جديدة للإعلان الذي تم اختياره من خلال الإعلان تم تحديد تشغيل اختيار الإعلان بواسطة adSelectionId. ليس هناك ما يضمن موعد الإبلاغ عن مرة ظهور. قد يتأخر إعداد تقارير مرات الظهور، وقد تتعرض التقارير دُفعة واحدة.

لاحتساب عنوان URL لإعداد تقارير البائع الفائز، تجلب الخدمة رمز JavaScript الخاص بالبائع. المنطقي من AdSelectionConfig#getDecisionLogicUri() الموجود في ReportImpressionRequest.getAdSelectionConfig(). بعد ذلك، تنفذ الخدمة أحد الوظائف المتوفرة في نص JavaScript للبائع المسمى reportResult، والتي تقدم إشارات على الجهاز فقط وكذلك ReportImpressionRequest#getAdSelectionConfig() كمعلمات الإدخال.

تعريف الدالة reportResult هو:

function reportResult(ad_selection_config, render_url, bid, contextual_signals) { return { 'status': status, 'results': {'signals_for_buyer': signals_for_buyer, 'reporting_url': reporting_url } }; }

لحساب عنوان URL الفائز لإعداد تقارير المشترين، تجلب الخدمة عناوين URL الخاصة بالمشتري الفائز منطق JavaScript الذي يتم استرجاعه من خلال CustomAudience.getBiddingLogicUri() للمشتري بعد ذلك، تستخدم الخدمة تنفذ إحدى الدوال الموجودة في JavaScript للمشتري المسمى reportWin، مما يوفر إشارات على الجهاز فقط، ويتم حساب signals_for_buyer من خلال reportResult، خاصة حقول من ReportImpressionRequest#getAdSelectionConfig() كمعلمات إدخال.

تعريف الدالة reportWin هو:

function reportWin(ad_selection_signals, per_buyer_signals, signals_for_buyer, contextual_signals, custom_audience_reporting_signals) { return {'status': 0, 'results': {'reporting_url': reporting_url } }; }

بالإضافة إلى ذلك، يمكن للمشترين والبائعين التسجيل لتلقّي تقارير عن أحداث الإعلانات. لإجراء ذلك، يمكنهم استدعاء الدالة registerAdBeacon التي توفّرها المنصة. داخل reportWin وreportResult للمشترين والبائعين، على التوالي.

تعريف الدالة registerBeacon هو:

function registerAdBeacon(beacons)، حيث إن beacons هي إملاء سلسلة نصية على أزواج السلاسل

بالنسبة إلى كل حدث إعلاني يهتم المشتري/البائع بالتقارير، عليه إضافة زوج event_key: event_reporting_uri إلى القاموس beacons، حيث يكون event_key معرِّفًا لهذا الحدث المحدّد. يجب أن تتطابق قيمة event_key مع ReportEventRequest#getKey() عندما تستدعي حزمة تطوير البرامج (SDK) reportEvent(ReportEventRequest, Executor, OutcomeReceiver) بالإضافة إلى ذلك، يجب تحليل كل event_reporting_uri بشكل صحيح إلى Uri. هذا النمط سيتم الإبلاغ عن "Uri" عند استدعاء حزمة تطوير البرامج (SDK) reportEvent(ReportEventRequest, Executor, OutcomeReceiver).

عندما يضيف المشتري/البائع جميع عمليات الإقران التي يريد تلقّي الأحداث بشأنها، يمكنه عليك استدعاء registerAdBeacon(beacons)، حيث يكون beacons هو اسم الإملاء. الأزواج إليها.

ستعرض registerAdBeacon TypeError في الحالات التالية:

  1. يتم استدعاء "registerAdBeacon" أكثر من مرة. إذا تم اكتشاف هذا الخطأ reportWin/reportResult، سيتم تسجيل المجموعة الأصلية من حالات الإقران
  2. لا يحتوي registerAdBeacon على وسيطة قاموس واحدة بالضبط.
  3. لا يشتمِل محتوى وسيطة القاموس الواحد على جميع أزواج String: String.

يتم تمرير الناتج من خلال receiver، والذي يؤدي إما إلى عرض Object فارغ إتمام عملية تشغيل ناجحة، أو أن Exception تتضمن نوع الاستثناء الذي تم طرحه رسالة الخطأ المقابلة.

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

إذا تم طرح IllegalStateException مع ظهور رسالة الخطأ "تعذُّر اختيار الإعلان بسبب عطل داخلي في خدمة اختيار الإعلانات.

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

إذا تم طرح رسالة SecurityException، يكون السبب هو عدم منح الإذن للمتصل. أو لا يتم طلب الإذن.

سيتم الإبلاغ عن مرات الظهور مرة واحدة على الأكثر كمحاولة لأفضل جهد.
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
request ReportImpressionRequest: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null.

receiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.

اختيار الإعلانات

public void selectAds (AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, 
                Executor executor, 
                OutcomeReceiver<AdSelectionOutcomeException> receiver)

اختيار إعلان من نتائج اختيارات الإعلانات التي تم عرضها سابقًا

يتم توفير الإدخال adSelectionFromOutcomesConfig من خلال حزمة تطوير البرامج (SDK) لعرض الإعلانات، ويتم نقل العنصر AdSelectionFromOutcomesConfig من خلال طلب Binder. لهذا السبب، يرتبط الحجم الإجمالي لهذه العناصر بقيود Android IPC. تعذّر نقل ستطرح AdSelectionFromOutcomesConfig TransactionTooLargeException.

يتم تمرير الناتج من قِبل المُستلِم، والذي يؤدي إما إلى إرجاع AdSelectionOutcome إتمام عملية تنفيذ ناجحة، أو تتضمن السمة Exception نوع الاستثناء الذي تم طرحه رسالة الخطأ المقابلة.

يحتوي الإدخال adSelectionFromOutcomesConfig على:

  • يجب أن تكون "Seller" AdTechIdentifier مسجّلة. بخلاف ذلك، IllegalStateException سيتم التخلص منها.
  • يجب أن يكون List of ad selection ids متاحًا وأن تأتي من مكالمات selectAds(AdSelectionConfig, Executor, OutcomeReceiver) التي نشأت من التطبيق نفسه. وإلا، سيؤدي استخدام IllegalArgumentException للتحقق من صحة الإدخال إلى زيادة الإعلان الذي ينتهك بطاقة بيانات المتجر. معرّفات الاختيار.
  • Selection logic URI التي يمكن أن تتبع إما HTTPS أو اختيار الإعلان المحدّد مسبقًا المخططات.

    إذا كان معرّف الموارد المنتظم (URI) يتّبع مخطط HTTPS، يجب أن يتطابق المضيف مع seller. وبخلاف ذلك، سيتم رمي IllegalArgumentException.

    معرفات الموارد المنتظمة (URI) المصممة مسبقًا هي طريقة لاستبدال منطق عام تم إنشاؤه مسبقًا ملفات JavaScript لـ selectOutcome يجب أن يتبع معرّف الموارد المنتظم (URI) المصمم مسبقًا لنقطة النهاية هذه؛

    • ad-selection-prebuilt://ad-selection-from-outcomes/<name>?<script-generation-parameters>

    في حال تمرير معرّف موارد منتظم (URI) غير متوافق معد مسبقًا أو إيقاف ميزة معرّف الموارد المنتظم (URI) المنشأة مسبقًا من خلال الخدمة، فسيتم طرح IllegalArgumentException.

    الاطّلاع على AdSelectionFromOutcomesConfig.Builder#setSelectionLogicUri لمعرفة المزيد عن الدعم <name> مطلوبة <script-generation-parameters>.

إذا تم طرح IllegalArgumentException، يكون السبب هو وسيطة إدخال غير صالحة. واجهة برمجة التطبيقات التي تم الحصول عليها لعرض اختيار الإعلانات.

إذا تم طرح IllegalStateException مع ظهور رسالة الخطأ "تعذُّر اختيار الإعلان بسبب عطل داخلي في خدمة اختيار الإعلانات.

إذا تم طرح قيمة السمة TimeoutException، يكون السبب هو انتهاء المهلة. أثناء تقديم عروض الأسعار أو تسجيل النتائج أو عملية الاختيار الشاملة للعثور على الإعلان الفائز

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

إذا تم طرح رسالة SecurityException، يكون السبب هو عدم منح الإذن للمتصل. أو لا يتم طلب الإذن.
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
adSelectionFromOutcomesConfig AdSelectionFromOutcomesConfig: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

receiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.

اختيار الإعلانات

public void selectAds (AdSelectionConfig adSelectionConfig, 
                Executor executor, 
                OutcomeReceiver<AdSelectionOutcomeException> receiver)

تشغيل عملية اختيار الإعلانات على الجهاز لاختيار إعلان تجديد نشاط تسويقي للمتصل التطبيق.

يتم توفير الإدخال adSelectionConfig من خلال حزمة تطوير البرامج (SDK) لعرض الإعلانات، ويتم نقل العنصر AdSelectionConfig من خلال طلب Binder. لهذا السبب، قد تم اختيار الحجم الإجمالي هذه الكائنات في قيود Android IPC. ستؤدي تعذُّر تحويل AdSelectionConfig إلى طرح TransactionTooLargeException.

يحتوي الإدخال adSelectionConfig على Decision Logic Uri الذي يمكن أن يتبع إما مخطّط HTTPS أو مخطّط اختيار الإعلان المُنشأ مسبقًا

إذا كان معرّف الموارد المنتظم (URI) يتّبع مخطط HTTPS، يجب أن يتطابق المضيف مع seller. وإلا، سيتم رمي IllegalArgumentException.

معرفات الموارد المنتظمة (URI) المصممة مسبقًا هي طريقة لاستبدال منطق عام تم إنشاؤه مسبقًا ملفات JavaScript لـ scoreAds يجب أن يتبع معرّف الموارد المنتظم (URI) المصمم مسبقًا لنقطة النهاية هذه؛

  • ad-selection-prebuilt://ad-selection/<name>?<script-generation-parameters>

في حال تمرير معرّف موارد منتظم (URI) غير متوافق معد مسبقًا أو إيقاف ميزة معرّف الموارد المنتظم (URI) المنشأة مسبقًا من خلال الخدمة، فسيتم طرح IllegalArgumentException.

يمكنك الانتقال إلى AdSelectionConfig.Builder#setDecisionLogicUri للاطّلاع على سمات <name> المتوافقة مطلوب <script-generation-parameters>.

يتم تمرير الناتج من قِبل المُستلِم، والذي يؤدي إما إلى إرجاع AdSelectionOutcome إتمام عملية تنفيذ ناجحة، أو تتضمن السمة Exception نوع الاستثناء الذي تم طرحه رسالة الخطأ المقابلة.

إذا تم طرح IllegalArgumentException، يكون السبب هو وسيطة إدخال غير صالحة. واجهة برمجة التطبيقات التي تم الحصول عليها لعرض اختيار الإعلانات.

إذا تم طرح IllegalStateException مع ظهور رسالة الخطأ "تعذُّر اختيار الإعلان بسبب عطل داخلي في خدمة اختيار الإعلانات.

إذا تم طرح قيمة السمة TimeoutException، يكون السبب هو انتهاء المهلة. أثناء تقديم عروض الأسعار أو تسجيل النتائج أو عملية الاختيار الشاملة للعثور على الإعلان الفائز

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

إذا تم طرح رسالة SecurityException، يكون السبب هو عدم منح الإذن للمتصل. أو لا يتم طلب الإذن.
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
adSelectionConfig AdSelectionConfig: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

receiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.

تحديث المدرّج التكراري للإعلانات

public void updateAdCounterHistogram (UpdateAdCounterHistogramRequest updateAdCounterHistogramRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> outcomeReceiver)

لتعديل المدرّجات التكرارية للإعلانات التي تم اختيارها سابقًا من خلال الاتصال بخدمة selectAds(android.adservices.adselection.AdSelectionConfig, java.util.concurrent.Executor, android.os.OutcomeReceiver).

تُستخدَم المدرجات التكرارية المضادة في اختيار الإعلانات لتوجيه فلترة تحديد عدد مرات الظهور على الإعلانات المرشحة، حيث تُزال الإعلانات التي تحققت أو تجاوزت عدد مرات ظهور الإعلان من تقديم عروض الأسعار أثناء اختيار الإعلان.

لا يمكن تعديل المدرّجات التكرارية إلا للإعلانات المحدّدة من خلال adSelectionId المحدّد الذي تم إرجاعه من خلال اختيار إعلان FLEDGE من التطبيق نفسه.

يتم إرجاع SecurityException عبر outcomeReceiver في الحالات التالية:

  1. لم يفصح التطبيق عن الأذونات الصحيحة في ملف البيان الخاص به.
  2. التطبيق أو الكيان المحدّدان من قِبل callerAdTechIdentifier غير مصرَّح له استخدام واجهة برمجة التطبيقات.
يتم إرجاع IllegalStateException عبر outcomeReceiver إذا لم يتم إجراء المكالمة. ألا تأتي من تطبيق يعمل في المقدّمة

يتم إرجاع LimitExceededException عبر outcomeReceiver إذا كانت المكالمة يتجاوز حد واجهة برمجة التطبيقات لتطبيق الاتصال.

وفي جميع حالات الإخفاق الأخرى، ستعرض outcomeReceiver قيمة Object فارغة. ملاحظة: لحماية خصوصية المستخدم، لن يتم إرسال الأخطاء الداخلية مرة أخرى عبر .
يتطلب AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE

المعلمات
updateAdCounterHistogramRequest UpdateAdCounterHistogramRequest: لا يمكن أن تكون هذه القيمة null.

executor Executor: لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

outcomeReceiver OutcomeReceiver: لا يمكن أن تكون هذه القيمة null.