المفاهيم الرئيسية لواجهة برمجة التطبيقات Private Aggregation API
مَن هم المستخدِمون المعنيّون بهذا المستند؟
تتيح Private Aggregation API جمع البيانات المجمّعة من وحدات العمل التي يمكنها الوصول إلى البيانات على جميع المواقع الإلكترونية. إنّ المفاهيم التي تتم مشاركتها هنا مهمة للمطوّرين الذين يبنون وظائف إعداد التقارير ضمن Shared Storage وProtected Audience API.
- إذا كنت مطوّرًا تُنشئ نظام إعداد تقارير لقياس الأداء على مستوى عدّة مواقع
- إذا كنت جهة تسويق أو عالم بيانات أو مستخدِم تقرير تلخيصي آخر، سيساعدك فهم هذه الآليات في اتخاذ قرارات متعلقة بالتصميم لاسترداد تقرير تلخيصي محسّن.
العبارات الرئيسية
قبل قراءة هذا المستند، من المفيد التعرّف على المفاهيم والمصطلحات الرئيسية. وسيتم وصف كلّ من هذه المصطلحات بالتفصيل هنا.
- مفتاح التجميع (المعروف أيضًا باسم الحزمة) هو مجموعة محدّدة مسبقًا من نقاط البيانات. على سبيل المثال، قد تريد جمع مجموعة من بيانات الموقع الجغرافي حيث يُبلغ المتصفّح عن اسم البلد. قد يحتوي مفتاح التجميع على أكثر من سمة واحدة (على سبيل المثال، البلد ورقم تعريف تطبيق مصغّر للمحتوى).
- القيمة القابلة للتجميع هي نقطة بيانات فردية
يتم جمعها في مفتاح تجميع. إذا كنت تريد قياس عدد المستخدِمين
من فرنسا الذين شاهدوا المحتوى الخاص بك، تكون
France
سمة في مفتاح التجميع، وviewCount
من1
هي القيمة التي يمكن تجميعها. - يتم إنشاء التقارير القابلة للتجميع وتشفيرها في المتصفّح. بالنسبة إلى واجهة برمجة التطبيقات Private Aggregation API، يحتوي هذا الحقل على بيانات عن حدث واحد.
- تعالج خدمة تجميع البيانات البيانات من التقارير القابلة للتجميع لإنشاء تقرير تلخيصي.
- التقرير التلخيصي هو الناتج النهائي لخدمة التجميع، ويضمّ بيانات مستخدمين مجمّعة غير مفيدة وبيانات إحالات ناجحة مفصّلة.
- وحدة العمل هي جزء من البنية الأساسية التي تتيح لك تنفيذ دوال JavaScript معيّنة وإرجاع المعلومات إلى المُقدّم. ضمن إحدى وحدات العمل، يمكنك تنفيذ برمجة JavaScript، ولكن لا يمكنك التفاعل مع الصفحة الخارجية أو التواصل معها.
سير عمل "التجميع الخاص"
عند طلب بيانات من واجهة برمجة التطبيقات Private Aggregation API باستخدام مفتاح تجميع وقيمة قابلة للتجميع، يُنشئ المتصفّح تقريرًا قابلاً للتجميع. يتم إرسال التقارير إلى خادمك الذي يجمع التقارير. تتم معالجة التقارير المجمّعة في وقت لاحق من خلال "خدمة تجميع البيانات"، ويتم إنشاء تقرير ملخّص.

- عند طلب Private Aggregation API، ينشئ العميل (المتصفّح) ويُرسِل التقرير القابل للتجميع إلى خادمك ليتم جمعه.
- يجمع الخادم التقارير من العملاء ويجمّعها لتمت إرسالها إلى "خدمة تجميع البيانات".
- بعد جمع عدد كافٍ من التقارير، ستجمّعها وترسلها إلى "خدمة التجميع" التي تعمل في بيئة تنفيذ موثوق بها لإنشاء تقرير تلخيصي.
يشبه سير العمل الموضّح في هذا القسم Attribution Reporting API. ومع ذلك، تربط ميزة "إبلاغات تحديد المصدر" البيانات التي تم جمعها من حدث ظهور وحدث إحالة ناجحة، وكلاهما يحدثان في أوقات مختلفة. تقيس ميزة "التجميع الخاص" حدثًا واحدًا على مستوى عدّة مواقع إلكترونية.
مفتاح التجميع
يمثّل مفتاح التجميع ("المفتاح" اختصارًا) الحزمة التي سيتم تجميع القيم القابلة للتجميع فيها. يمكن ترميز سمة واحدة أو أكثر في المفتاح. تمثّل السمة بعض الجوانب التي تريد الحصول على مزيد من الاطّلاع عليها، مثل الفئة العمرية للمستخدمين أو عدد مرّات الظهور لحملة إعلانية.
على سبيل المثال، قد يكون لديك تطبيق مصغّر مضمّن في عدة مواقع إلكترونية، وأحد أهدافك هو تحليل بلد المستخدِمين الذين شاهدوا تطبيقك المصغّر. أنت تبحث عن إجابة عن أسئلة مثل "كم عدد المستخدمين الذين شاهدوا تطبيقي المصغّر ويقيمون في البلد "س"؟ لإعداد تقارير عن هذا السؤال، يمكنك إعداد مفتاح تجميع يحدِّد سمتَين: رقم تعريف التطبيق المصغّر ورقم تعريف البلد.
المفتاح الذي يتم تقديمه إلى Private Aggregation API هو BigInt، وهو يتألّف من سمات متعدّدة. في هذا المثال، السمات هي
معرّف التطبيق المصغّر ومعرّف البلد. لنفترض أنّه يمكن أن يتألّف معرّف التطبيق المصغّر من 4 أرقام كحدٍ أقصى، مثل 1234
، ويتم ربط كل بلد برقم بترتيب أبجدي، مثل 1
لأفغانستان و61
لفرنسا و195
لزيمبابве.
وبالتالي، سيكون المفتاح القابل للتجميع مكوّنًا من 7 أرقام، حيث تكون أول 4
أحرف مخصّصة للرمز WidgetID
وتكون آخر 3 أحرف
مخصّصة للرمز CountryID
.
لنفترض أنّ المفتاح يمثّل عدد المستخدِمين من فرنسا (رقم تعريف البلد 061
)
الذين شاهدوا رقم تعريف التطبيق المصغّر 3276
، ويكون مفتاح التجميع هو 3276061
.
مفتاح التجميع | |
رقم تعريف التطبيق المصغّر | رقم تعريف البلد |
3276 | 061 |
يمكن أيضًا إنشاء مفتاح التجميع باستخدام آلية تجزئة، مثل
SHA-256. على سبيل المثال، يمكن تجزئة السلسلة
{"WidgetId":3276,"CountryID":67}
ثم تحويلها إلى قيمة
BigInt
تمثل
42943797454801331377966796057547478208888578253058197330928948081739249096287n
.
إذا كانت قيمة التجزئة تحتوي على أكثر من 128 بت، يمكنك اقتطاعها لضمان عدم تجاوزها
الحد الأقصى المسموح به لقيمة الحزمة الذي يبلغ 2^128−1
.
ضمن "وحدة عمل مساحة التخزين المشتركة"، يمكنك الوصول إلى وحدتَي
crypto
و
TextEncoder
التي يمكن أن تساعدك في إنشاء تجزئة. للاطّلاع على مزيد من المعلومات حول إنشاء تجزئة، اطّلِع على مقالة
SubtleCrypto.digest()
على
MDN.
يوضّح المثال التالي كيفية إنشاء مفتاح حزمة من قيمة مجزّأة:
async function convertToBucket(data) {
// Encode as UTF-8 Uint8Array
const encodedData = new TextEncoder().encode(data);
// Generate SHA-256 hash
const hashBuffer = await crypto.subtle.digest('SHA-256', encodedData);
// Truncate the hash
const truncatedHash = Array.from(new Uint8Array(hashBuffer, 0, 16));
// Convert the byte sequence to a decimal
return truncatedHash.reduce((acc, curr) => acc * 256n + BigInt(curr), 0n);
}
const data = {
WidgetId: 3276,
CountryID: 67
};
const dataString = JSON.stringify(data);
const bucket = await convertToBucket(dataString);
console.log(bucket); // 126200478277438733997751102134640640264n
قيمة قابلة للتجميع
يتم تجميع القيم القابلة للتجميع لكل مفتاح على مستوى العديد من المستخدِمين لإنشاء إحصاءات ملفّقة في شكل قيم تلخيصية في التقارير التلخيصية.
لنعود الآن إلى مثال السؤال الذي طرحناه سابقًا: "كم عدد المستخدِمين الذين شاهدوا تطبيقي المصغّر من فرنسا؟" ستبدو الإجابة عن هذا السؤال على النحو التالي: "تقريباً 4881 مستخدمًا شاهدوا تطبيق مصغّر رقم التعريف 3276 ينحدرون من فرنسا". تكون القيمة القابلة للتجميع 1 لكل مستخدم، و "4881 مستخدم" هي القيمة المجمّعة التي تمثّل مجموع كل القيم القابلة للتجميع لهذا مفتاح التجميع.
مفتاح التجميع | قيمة قابلة للتجميع | |
رقم تعريف التطبيق المصغّر | رقم تعريف البلد | عدد مرّات المشاهدة |
3276 | 061 | 1 |
في هذا المثال، نزيد القيمة بمقدار 1 لكل مستخدم يرى التطبيق المصغّر. من الناحية العملية، يمكن توسيع نطاق القيمة القابلة للتجميع لتحسين نسبة الإشارة إلى الضوضاء.
ميزانية المساهمة
يُطلق على كل طلب من Private Aggregation API اسم مساهمة. لحماية خصوصية المستخدم، يتم حصر عدد المساهمات التي يمكن جمعها من أحد المستخدمين.
عند جمع جميع القيم القابلة للتجميع في جميع مفاتيح التجميع، يجب أن يكون المجموع أقل من ميزانية المساهمة. يتم تحديد نطاق الميزانية لكلّ مصدر وحدة عمل، وكلّ يوم، وتكون منفصلة لوحدات عمل Protected Audience API وShared Storage. يتم استخدام ملف شخصي متجدّد يشمل آخر 24 ساعة تقريبًا لليوم. إذا كان تقريرًا جديدًا قابلاً للتجميع سيؤدي إلى تجاوز الميزانية، لن يتم إنشاء التقرير.
يُمثّل ميزانية المساهمات المَعلمة L1، ويتم ضبطها على 216 (65,536) كل عشر دقائق في اليوم مع حدّ أدنى يبلغ 220 (1,048,576). اطّلِع على الشرح لمزيد من المعلومات عن هذه المَعلمات.
تكون قيمة ميزانية المساهمة عشوائية، ولكن يتم توسيع نطاق الضوضاء وفقًا لها. يمكنك استخدام هذه الميزانية لزيادة نسبة الإشارة إلى الضوضاء إلى أقصى حدّ في القيم التلخيصية (يتمّ مناقشة المزيد من المعلومات في قسم الضوضاء والتحجيم).
لمزيد من المعلومات عن ميزانيات المساهمات، اطّلِع على الشرح. يمكنك أيضًا الرجوع إلى ميزانية مساهمة الإعلانات المعروضة على شبكة البحث للحصول على مزيد من الإرشادات.
الحد الأقصى للمساهمة لكل تقرير
قد يختلف الحد الأقصى للمساهمة حسب المتصل. في الوقت الحالي، لا يمكن أن تتضمّن التقارير التي يتم إنشاؤها لمُتصلي Shared Storage API أكثر من 20 مساهمة لكل تقرير. في المقابل، لا يمكن لمُرسِلي طلبات Protected Audience API إرسال أكثر من 100 مساهمة لكل تقرير. تم اختيار هذه الحدود لموازنة عدد المساهمات التي يمكن تضمينها مع حجم الحمولة.
بالنسبة إلى "مساحة التخزين المشتركة"، يتم تجميع المساهمات التي تم إجراؤها ضمن عملية run()
أو selectURL()
واحدة في تقرير واحد. بالنسبة إلى ميزة "الجمهور المحمي"، يتم تجميع المساهمات التي يقدّمها مصدر واحد في مزاد معًا.
المساهمات التي تتضمّن مساحة إضافية
تم تعديل المساهمات أيضًا باستخدام ميزة الحشو. إنّ عملية تعبئة
حمولة البيانات تحمي المعلومات عن العدد الفعلي للمساهمات المضمّنة في
التقرير القابل للتجميع. تزيد الحشوة الحمولة بمساهمات null
(أي بقيمة 0) للوصول إلى طول ثابت.
التقارير القابلة للتجميع
بعد أن يستدعي المستخدم Private Aggregation API، ينشئ المتصفّح
تقارير قابلة للتجميع لتعالجها "خدمة تجميع البيانات" في وقت لاحق
في الوقت المناسب لإنشاء تقارير تلخّصية. يكون التقرير القابل للتجميع بتنسيق JSON ويحتوي على قائمة مشفّرة بالمساهمات، وكلّ مساهمة هي زوج من {aggregation key, aggregatable value}
.
يتم إرسال التقارير القابلة للتجميع بعد تأخير عشوائي يصل إلى ساعة واحدة.
تكون المساهمات مشفّرة ولا يمكن قراءتها خارج "خدمة تجميع البيانات". تفكّ خدمة تجميع البيانات تشفير التقارير وتُنشئ تقريرًا موجزًا. يُصدر المنسق مفتاح التشفير للمتصفّح ومفتاح فك التشفير للخدمة، حيث يعمل المنسق بمثابة خدمة إدارة مفاتيح التشفير. يحتفظ المنسق بقائمة من التجزئات الثنائية لصورة الخدمة للتحقّق مما يلي: يُسمح للمتصل بتلقّي مفتاح فك التشفير.
مثال على تقرير قابل للتجميع مع تفعيل وضع debugging:
"aggregation_service_payloads": [
{
"debug_cleartext_payload": "omRkYXRhgaJldmFsdWVEAAAAgGZidWNrZXRQAAAAAAAAAAAAAAAAAAAE0mlvcGVyYXRpb25paGlzdG9ncmFt",
"key_id": "2cc72b6a-b92f-4b78-b929-e3048294f4d6",
"payload": "a9Mk3XxvnfX70FsKrzcLNZPy+00kWYnoXF23ZpNXPz/Htv1KCzl/exzplqVlM/wvXdKUXCCtiGrDEL7BQ6MCbQp1NxbWzdXfdsZHGkZaLS2eF+vXw2UmLFH+BUg/zYMu13CxHtlNSFcZQQTwnCHb"
}
],
"debug_key": "777",
"shared_info": "{\"api\":\"shared-storage\",\"debug_mode\":\"enabled\",\"report_id\":\"5bc74ea5-7656-43da-9d76-5ea3ebb5fca5\",\"reporting_origin\":\"https://localhost:4437\",\"scheduled_report_time\":\"1664907229\",\"version\":\"0.1\"}"
يمكن فحص التقارير القابلة للتجميع من صفحة
chrome://private-aggregation-internals
:

لأغراض الاختبار، يمكن استخدام الزر "إرسال التقارير المحدّدة" لإرسال التقرير إلى الخادم على الفور.
جمع التقارير القابلة للتجميع ومعالجتها بشكل مجمّع
يُرسِل المتصفّح التقارير القابلة للتجميع إلى مصدر وحدة العمل التي تحتوي على طلب البيانات من Private Aggregation API، وذلك باستخدام المسار المعروف التالي:
- بالنسبة إلى Shared Storage:
/.well-known/private-aggregation/report-shared-storage
- بالنسبة إلى Protected Audience:
/.well-known/private-aggregation/report-protected-audience
في نقاط النهاية هذه، ستحتاج إلى تشغيل خادم يعمل كجامع، ويتلقّى التقارير القابلة للتجميع المُرسَلة من العملاء.
بعد ذلك، من المفترض أن يُجمِّع الخادم التقارير ويرسلها إلى "خدمة تجميع البيانات". أنشئ دفعات استنادًا إلى المعلومات المتاحة في الحمولة غير المشفّرة
للتقرير القابل للتجميع، مثل حقل shared_info
. من الأفضل أن تحتوي الحِزم على 100 تقرير أو أكثر في كل حزمة.
يمكنك اختيار إجراء عمليات الأركان الأساسية بشكلٍ مجمّع على أساس يومي أو أسبوعي. هذه الاستراتيجية مرنة، ويمكنك تغيير استراتيجية تجميع البيانات لأحداث معيّنة تتوقّع فيها زيادة في عدد الإحالات الناجحة، مثل أيام السنة التي تتوقّع فيها زيادة في عدد مرات الظهور. يجب أن تتضمّن الحِزم تقارير من إصدار واجهة برمجة التطبيقات نفسه ومصدر إعداد التقارير و وقت جدولة التقارير.
فلترة الأرقام التعريفية
تسمح واجهة برمجة التطبيقات Private Aggregation API و"خدمة التجميع" باستخدام أرقام تعريف الفلترة لمعالجة القياسات على مستوى أكثر دقة، مثل كل حملة إعلانية بدلاً من معالجة النتائج في طلبات بحث أكبر.

لبدء استخدام هذه الميزة اليوم، إليك بعض الخطوات التقريبية التي يمكنك تطبيقها على عملية التنفيذ الحالية.
خطوات مساحة التخزين المشتركة
إذا كنت تستخدم Shared Storage API في عملية المعالجة:
حدِّد المكان الذي ستُعلِن فيه عن وحدة "مساحة التخزين المشتركة" الجديدة ومكان تشغيلها. في المثال التالي، أطلقنا على ملف الوحدة اسم
filtering-worklet.js
، الذي تم تسجيله ضمنfiltering-example
.(async function runFilteringIdsExample () { await window.sharedStorage.worklet.addModule('filtering-worklet.js'); await window.sharedStorage.run('filtering-example', { keepAlive: true, privateAggregationConfig: { contextId: 'example-id', filteringIdMaxBytes: 8 // optional } }}); })();
يُرجى العِلم أنّه يمكن ضبط
filteringIdMaxBytes
لكل تقرير، وفي حال عدم ضبطه، تكون القيمة التلقائية هي 1. هذه القيمة التلقائية لمنع زيادة حجم الحمولة بدون داعٍ وبالتالي تقليل تكاليف التخزين والمعالجة. يمكنك الاطّلاع على مزيد من المعلومات في الشرح المفصّل للمساهمات المرنة.في الملف الذي استخدمته أعلاه، في هذه الحالة
filtering-worklet.js
، عند تمرير مساهمة إلىprivateAggregation.contributeToHistogram(...)
ضمن وحدة عمل "مساحة التخزين المشتركة"، يمكنك تحديد معرّف فلترة.// Within filtering-worklet.js class FilterOperation { async run() { let contributions = [{ bucket: 1234n, value: 56, filteringId: 3n // defaults to 0n if not assigned, type bigint }]; for (const c of contributions) { privateAggregation.contributeToHistogram(c); } … } }); register('filtering-example', FilterOperation);
سيتم إرسال التقارير القابلة للتجميع إلى المكان الذي حدّدت فيه نقطة النهاية
/.well-known/private-aggregation/report-shared-storage
. انتقِل إلى دليل فلترة الأرقام التعريفية للتعرّف على التغييرات المطلوبة في مَعلمات مهام "خدمة تجميع البيانات".
بعد اكتمال تجميع البيانات وإرسالها إلى "خدمة التجميع" المنشورة، من المفترض أن تظهر النتائج التي تمّت فلترتها في تقرير الملخّص النهائي.
خطوات Protected Audience
إذا كنت تستخدم Protected Audience API في عملية الموافقة:
في إطار عملية التنفيذ الحالية لميزة "شريحة الجمهور المحمية"، يمكنك ضبط ما يلي لربطها بميزة "التجميع الخاص". على عكس "مساحة التخزين المشتركة"، لا يمكن حتى الآن ضبط الحد الأقصى لحجم معرّف الفلترة. الحد الأقصى لحجم معرّف الفلترة هو 1 بايت بشكلٍ تلقائي، وسيتم ضبطه على
0n
. يُرجى العِلم أنّه سيتم ضبط هذه الإعدادات في وظائف إعداد تقارير Protected Audience (مثلreportResult()
أوgenerateBid()
).const contribution = { ... filteringId: 0n }; privateAggregation.contributeToHistogram(contribution);
سيتم إرسال التقارير القابلة للتجميع إلى المكان الذي حدّدت فيه نقطة النهاية
/.well-known/private-aggregation/report-protected-audience
. بعد اكتمال تجميع البيانات وإرسالها إلى "خدمة التجميع" المنشورة، من المفترض أن تظهر النتائج التي تمّت فلترتها في تقرير الملخّص النهائي. تتوفّر المراجع التوضيحية التالية حول Attribution Reporting API وPrivate Aggregation API، بالإضافة إلى الاقتراح الأوّلي.
يمكنك الاطّلاع على دليل فلترة الأرقام التعريفية في خدمة التجميع أو الانتقال إلى أقسام Attribution Reporting API للحصول على وصف أكثر تفصيلاً.
خدمة تجميع البيانات

تتلقّى خدمة تجميع البيانات التقارير المشفّرة القابلة للتجميع من أداة الجمع وتُنشئ تقارير موجزة. للحصول على المزيد من الاستراتيجيات حول كيفية تجميع التقارير القابلة للتجميع في أداة جمع البيانات، يُرجى الاطّلاع على دليل تجميع الطلبات.
تعمل الخدمة في بيئة تنفيذ موثوقة (TEE)، التي توفّر مستوى من الأمان لسلامة البيانات وسرّيتها وسلامة الرمز البرمجي. إذا أردت الاطّلاع عن كثب على كيفية استخدام التنسيقات المنسّقة جنبًا إلى جنب مع تنسيقات TEE، يمكنك الاطّلاع على مزيد من المعلومات عن دورها والغرض منها.
التقارير الموجزة
تتيح لك التقارير التلخيصية الاطّلاع على البيانات التي جمعتها مع إضافة ضوضاء إليها. يمكنك طلب تقارير تلخيصية لمجموعة معيّنة من المفاتيح.
يحتوي التقرير التلخيصي على مجموعة من أزواج المفاتيح والقيم بتنسيق قاموس JSON. يحتوي كل زوج على ما يلي:
-
bucket
: مفتاح التجميع كسلسلة أرقام ثنائية إذا كان مفتاح التجميع المستخدَم هو "123"، يكون الحِزمة "1111011". -
value
: القيمة التلخيصية لهدف قياس معيّن، يتم جمعها من جميع التقارير القابلة للتجميع المتاحة مع إضافة الضوضاء.
على سبيل المثال:
[
{"bucket":` `"111001001",` `"value":` `"2558500"},
{"bucket":` `"111101001",` `"value":` `"3256211"},
{"bucket":` `"111101001",` `"value":` `"6536542"},
]
الضوضاء والتكبير/التصغير
للحفاظ على خصوصية المستخدم، تضيف "خدمة تجميع البيانات" تشويشًا مرة واحدة إلى كل قيمة تلخيصية في كل مرة يتم فيها طلب تقرير تلخيصي. يتم سحب قيم الضوضاء بشكل عشوائي من توزيع احتمال لابلاس. على الرغم من أنّه ليس بإمكانك التحكّم مباشرةً في طرق إضافة التشويش، يمكنك التأثير في تأثيره على بيانات القياس.
يبقى توزيع الضوضاء كما هو بغض النظر عن مجموع كل القيم التي يمكن تجميعها. وبالتالي، كلما زاد عدد القيم التي يمكن تجميعها، قلّ احتمال تأثير الضوضاء.
على سبيل المثال، لنفترض أنّ توزيع الضوضاء له انحراف معيّاري يبلغ 100 ويكون مركزه عند الصفر. إذا كانت قيمة التقرير القابلة للتجميع التي تم جمعها (أو "القيمة القابلة للتجميع") هي 200 فقط، سيكون التباين المعياري للضوضاء هو 50% من القيمة المجمّعة. ولكن إذا كانت القيمة القابلة للتجميع هي 20,000، سيكون التباين المعياري للضوضاء 0.5% فقط من القيمة المجمّعة. وبالتالي، فإنّ القيمة التي يمكن جمعها والتي تبلغ 20,000 ستعرِض نسبة إشارة إلى ضجيج أعلى بكثير.
لذلك، يمكن أن يساعد ضرب القيمة القابلة للتجميع في عامل تكبير في تقليل الضوضاء. يمثّل عامل التكبير/التصغير مقدار التوسيع الذي تريده لأحد قيم التجميع المحدّدة.

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

لاحتساب عامل تكبير مناسب، اقسم ميزانية المساهمة على الحد الأقصى لمجموع القيم القابلة للتجميع في جميع المفاتيح.
يمكنك الاطّلاع على مستندات ميزانية المساهمات لمزيد من المعلومات.
التفاعل مع الملاحظات ومشاركتها
لا تزال واجهة برمجة التطبيقات Private Aggregation API قيد المناقشة وهي خاضعة للتغيير في المستقبل. إذا جرّبت واجهة برمجة التطبيقات هذه ولديك ملاحظات، يسعدنا معرفتها.
- GitHub: يمكنك الاطّلاع على الشرح، وطرح الأسئلة والمشاركة في المناقشة.
- دعم المطوّرين: يمكنك طرح الأسئلة والانضمام إلى المناقشات في مستودع دعم المطوّرين في "مبادرة حماية الخصوصية".
- يمكنك الانضمام إلى مجموعة Shared Storage API ومجموعة Protected Audience API للحصول على آخر الأخبار المتعلّقة بواجهة برمجة التطبيقات Private Aggregation.