AdSelectionManager

public class AdSelectionManager
extends Object

java.lang.Object
android.adservices.adsselect.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.

getAdSelectionData (بيانات تحديد الإعلانات)

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

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

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

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

يمرّر المتلقّي المخرجات، ما يعرض خطأ 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.

حدث التقرير

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 لإعداد تقارير المشترين الفائزين، تجلب الخدمة منطق 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 الذي يتم الإبلاغ عنه عندما تستدعي حزمة تطوير البرامج reportEvent(ReportEventRequest, Executor, OutcomeReceiver).

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

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

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

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

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

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

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

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

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

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

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

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

selectAds

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

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

يتم توفير الإدخال adSelectionFromOutcomesConfig من خلال حزمة تطوير البرامج (SDK) لعرض الإعلانات، ويتم نقل العنصر AdSelectionFromOutcomesConfig من خلال طلب الصنف Binder. لهذا السبب، يرتبط الحجم الإجمالي لهذه العناصر بقيود IPC لنظام التشغيل Android. في حال تعذُّر نقل 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.

selectAds

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

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

يتم توفير الإدخال adSelectionConfig من خلال حزمة تطوير البرامج (SDK) لعرض الإعلانات، ويتم نقل العنصر AdSelectionConfig من خلال طلب الصنف Binder. لهذا السبب، يرتبط الحجم الإجمالي لهذه العناصر بقيود IPC لنظام التشغيل Android. في حال تعذُّر نقل 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.

updateAdCounterHistogram

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.