في ما يلي سير العمل المقترَح للتحقّق من صحة عمليات تحميل الأحداث وشرائح الجمهور وتحديد المشاكل في بياناتك.
إصدار طلبات لإرسال الأحداث أو إرسال أفراد الجمهور أو إزالتهم
التحقّق من الحالة العامة لكل طلب يتضمّن الطلب الناجح
Statusبقيمةcodeتساوي0(قيمة التعدادOK، استجابة HTTP200 OK)، ويعرضIngestEventsResponseأوIngestAudienceMembersResponseأوRemoveAudienceMembersResponse.إذا لم ينجح الطلب، عدِّله لمعالجة الخطأ وأرسِله مرة أخرى.
إذا نجح الطلب، سجِّل
request_idالرد حتى تتمكّن من استخدامه لاسترداد بيانات التشخيص في الخطوة التالية.انتظِر لمدة 30 دقيقة، ثم أرسِل طلب
RetrieveRequestStatusلكلrequest_idتمّ بنجاح.كرِّر هذه الخطوة بشكل دوري لكل
request_idإلى أن تصل حالة الوجهة لكل وجهة إلىSUCCESSأوPARTIAL_SUCCESSأوFAILURE. استخدِم خوارزمية الرقود الأسي الثنائي للانتظار بين كل طلب.راجِع كل
RetrieveRequestStatusResponseللتأكّد من أنّ عمليات التحميل تعمل بشكلٍ سليم وتحديد أي مشاكل في بياناتك.حلّ مشاكل البيانات
ارجع إلى الخطوة 1 وكرِّرها إلى أن تحلّ جميع المشاكل المتعلّقة بعمليات التحميل.
أرسِل الطلبات
يتطلّب RetrieveRequestStatusRequest قيمة request_id واحدة. أرسِل طلب حالة منفصلاً لكل معرّف طلب تم الحصول عليه من طلب استيعاب ناجح.
أرسِل بشكل دوري RetrieveRequestStatusRequest باستخدام خوارزمية الرقود الأسي الثنائي إلى أن يصل request_status إلى SUCCESS أو FAILURE أو PARTIAL_SUCCESS لكل وجهة في الطلب الأصلي. قد تستغرق هذه العملية مدة تصل إلى 24 ساعة، مع أنّ واجهة برمجة التطبيقات Data Manager API قد تنتهي من معالجة بعض الطلبات في غضون 30 دقيقة فقط.
في ما يلي مثال على وقت انتظار أولي معقول وإعدادات إعادة المحاولة التي توازن بين النشاط واستخدام الحصة:
| الإعداد | القيمة |
|---|---|
| وقت الانتظار قبل طلب بيانات التشخيص الأول (بالدقائق) | 30 |
| مضاعف التمهّل | 1.3 |
| الحد الأقصى للتأخير (بالدقائق) | 60 (ساعة واحدة) |
| الحد الأقصى لإجمالي الوقت (بالدقائق) | 1440 (24 ساعة) |
في ما يلي تسلسل للطلبات والوقت المنقضي مع هذا الإعداد:
رسم بياني للدالة

البيانات
| المحاولة | الوقت منذ طلب العرض (سس:دد) | المهلة قبل المحاولة | ملاحظات |
|---|---|---|---|
| 1 | 00:30 | 30.0 دقيقة | عليك أولاً التحقّق من توفّر حالة |
| 2 | 01:09 | 39.0 دقيقة | |
| 3 | 01:59 | 50.7 دقيقة | |
| 4 | 02:59 | 60.0 دقيقة | أصبح الحد الأقصى للتأخير ساعة واحدة |
| 5 | 03:59 | 60.0 دقيقة | |
| 6 | 04:59 | 60.0 دقيقة | |
| 7 | 05:59 | 60.0 دقيقة | |
| 8 | 06:59 | 60.0 دقيقة | |
| 9 | 07:59 | 60.0 دقيقة | |
| 10 | 08:59 | 60.0 دقيقة | |
| 11 | 09:59 | 60.0 دقيقة | |
| 12 | 10:59 | 60.0 دقيقة | |
| 13 | 11:59 | 60.0 دقيقة | علامة 12 ساعة |
| 14 | 12:59 | 60.0 دقيقة | |
| 15 | 13:59 | 60.0 دقيقة | |
| 16 | 14:59 | 60.0 دقيقة | |
| 17 | 15:59 | 60.0 دقيقة | |
| 18 | 16:59 | 60.0 دقيقة | |
| 19 | 17:59 | 60.0 دقيقة | |
| 20 | 18:59 | 60.0 دقيقة | |
| 21 | 19:59 | 60.0 دقيقة | |
| 22 | 20:59 | 60.0 دقيقة | |
| 23 | 21:59 | 60.0 دقيقة | |
| 24 | 22:59 | 60.0 دقيقة | |
| 25 | 23:59 | 60.0 دقيقة | آخر طلب قبل بلوغ الحد الأقصى لإجمالي الوقت البالغ 24 ساعة |
أضِف مقدارًا صغيرًا وعشوائيًا من التشوّش إلى فترات التأخير في التراجع لمنع مشكلة "القطيع الصاخب" حيث يعيد العديد من العملاء المحاولة في الوقت نفسه.
مراجعة الإجابات
يحتوي request_status_per_destination في RetrieveRequestStatusResponse على إدخال منفصل لكل وجهة في طلب الاستيعاب ذي الصلة.
على سبيل المثال، إذا كان IngestAudienceMembersRequest
يحتوي على 3 إدخالات في قائمة destinations لإرسال البيانات إلى 3 شرائح جمهور مختلفة، سيتضمّن ردّ الحالة 3 إدخالات في request_status_per_destination (إدخال واحد لكل شريحة جمهور).
التحقّق من الحالة العامة للوجهة
كخطوة أولى، تحقَّق من الحقل request_status لتحديد ما إذا كانت واجهة Data Manager API قد انتهت من معالجة البيانات الخاصة بـ destination من RequestStatusPerDestination.
في ما يلي القيم المحتمَلة لـ request_status:
PROCESSING: لا تزال بيانات الوجهة قيد المعالجة. لا يتم ملء التحذيرات والأخطاء للوجهة في هذه المرحلة.SUCCESS: اكتملت معالجة الطلب الخاص بالوجهة بدون أي أخطاء. التحقّق من التحذيرات التي تم الإبلاغ عنها أثناء المعالجةFAILURE: تعذّر نقل جميع السجلات إلى الوجهة بسبب حدوث أخطاء. تحقَّق من التحذيرات والأخطاء لتحديد سبب تعذُّر نقل كل السجلات. تحقَّق أيضًا من التحذيرات التي تم الإبلاغ عنها أثناء المعالجة.PARTIAL_SUCCESS: نجحت بعض سجلات الوجهة، ولكن تعذّر نقل البعض الآخر بسبب حدوث أخطاء. تحقَّق من الأخطاء لتحديد سبب تعذُّر بعض السجلات. تحقَّق أيضًا من التحذيرات التي تم وضع علامة عليها أثناء المعالجة.
الاطّلاع على حالة الحدث أو الجمهور لكل وجهة
افحص حقل الحالة الذي يتوافق مع نوع طلب الاستيعاب. يتم ضبط حقل واحد فقط من الحقول التالية في كل RequestStatusPerDestination:
حالة عرض الأحداث
يتم ملء الحقل events_ingestion_status إذا كان الطلب عبارة عن
IngestEventsRequest.
تحقَّق من record_count IngestEventStatus
للتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع
توقّعاتك. يتضمّن record_count السجلات الناجحة والفاشلة.
حالة عرض أعضاء الجمهور
يتم ملء الحقل audience_members_ingestion_status إذا كان الطلب عبارة عن
IngestAudienceMembersRequest. في ما يلي حقل
IngestAudienceMembersStatus الذي يجب التحقّق منه
لكل نوع من بيانات الجمهور. يتم ضبط حقل واحد فقط من هذه الحقول.
user_data_ingestion_statusتحقَّق من
record_countIngestUserDataStatusللتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع توقعاتك. يتضمّنrecord_countالسجلات الناجحة والفاشلة.تحقَّق من
user_identifier_countللتأكّد من أنّ عدد معرّفات المستخدمين التي تم تلقّيها يتطابق مع توقعاتك.إذا كان الطلب يتضمّن عددًا كافيًا من السجلات، سيحتوي
upload_match_rate_rangeعلى نطاق معدّل المطابقة للسجلات في الطلب.mobile_data_ingestion_statusتحقَّق من
record_countفيIngestMobileDataStatusللتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع توقعاتك. يتضمّنrecord_countالسجلات الناجحة والفاشلة.تحقَّق من
mobile_id_countللتأكّد من أنّ عدد المعرّفات على الأجهزة الجوّالة التي تم تلقّيها يتطابق مع توقعاتك.pair_data_ingestion_statusتحقَّق من
record_countIngestPairDataStatusللتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع توقعاتك. يتضمّنrecord_countالسجلات الناجحة والفاشلة.تحقَّق من
pair_id_countللتأكّد من أنّ عدد أرقام تعريف PAIR التي تم تلقّيها يتوافق مع توقعاتك.ppid_data_ingestion_statusتحقَّق من
record_countIngestPpidDataStatusللتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع توقعاتك. يتضمّنrecord_countالسجلات الناجحة والفاشلة.تحقَّق من
ppid_countللتأكّد من أنّ عدد أرقام التعريف المقدَّمة من الناشر (PPID) التي تم تلقّيها يتطابق مع توقعاتك.user_id_data_ingestion_statusتحقَّق من
record_countIngestUserIdDataStatusللتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع توقعاتك. يتضمّنrecord_countالسجلات الناجحة والفاشلة.تحقَّق من
user_id_countللتأكّد من أنّ عدد أرقام تعريف المستخدمين التي تم تلقّيها يتطابق مع توقعاتك.
حالة إزالة أعضاء الجمهور
يتم ملء الحقل audience_members_removal_status إذا كان الطلب عبارة عن
RemoveAudienceMembersRequest. في ما يلي حقل
RemoveAudienceMembersStatus الذي يجب التحقّق منه لكل نوع من أنواع بيانات الجمهور. يتم ضبط حقل واحد فقط من هذه الحقول.
user_data_removal_status- حالة الإزالة لبيانات المستخدم
mobile_data_removal_status- حالة الإزالة لبيانات الجوّال
pair_data_removal_status- حالة الإزالة لبيانات PAIR
ppid_data_removal_status- حالة الإزالة لبيانات المعرّف المقدَّم من الناشر
user_id_data_removal_status- حالة الإزالة لبيانات رقم تعريف المستخدم
تحقَّق من record_count للتأكّد من أنّ إجمالي عدد السجلات التي تم تلقّيها يتطابق مع توقعاتك. يتضمّن record_count السجلات الناجحة والمتعذّرة.
بالإضافة إلى ذلك، راجِع user_identifier_count أو mobile_id_count أو pair_id_count للتأكّد من إجمالي عدد معرّفات المستخدمين أو معرّفات الأجهزة الجوّالة أو معرّفات PAIR التي تم تلقّيها.
التحقّق من التحذيرات والأخطاء
بالإضافة إلى حقول الحالة الخاصة بنوع الوجهة والطلب، يتضمّن RetrieveRequestStatusResponse تفصيلاً للتحذيرات والأخطاء المتعلّقة بالطلب.
- يشير الخطأ إلى أنّ واجهة برمجة التطبيقات رفضت السجلّ بالكامل.
- يشير التحذير إلى أنّ واجهة برمجة التطبيقات لم ترفض السجلّ، ولكن كان عليها تجاهل أجزاء من بيانات السجلّ.
على سبيل المثال، إذا كان Event لإحالة ناجحة غير إلكترونية في "إعلانات Google" يحتوي على بيانات مشفّرة
UserIdentifier وAdIdentifiers مثل gclid، وتعذّر فك تشفير بيانات UserIdentifier، ستظلّ واجهة برمجة التطبيقات Data Manager API تعالج السجلّ باستخدام AdIdentifiers ولكنّها ستعرض التحذير PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR.
ومع ذلك، إذا لم يكن Event يتضمّن AdIdentifiers وتعذّر فك تشفير بيانات UserIdentifier، يرفض Data Manager API السجلّ بأكمله ويُبلغ عن الخطأ PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR لأنّ Event صالحًا للإحالات الناجحة غير الإلكترونية في "إعلانات Google" يجب أن يتضمّن ad_identifiers أو user_data على الأقل.
في ما يلي حقول الرد التي تحتوي على معلومات التحذيرات والأخطاء. يتم ملء هذه الحقول عندما تصل حالة الوجهة الإجمالية إلى SUCCESS أو PARTIAL_SUCCESS أو FAILURE.
warning_infoقائمة بعناصر
WarningCountيحتوي كلWarningCountعلىreasonيتضمّن نوع التحذير، وrecord_countيشير إلى عدد السجلات التي تتضمّن هذا النوع من التحذير.تحقَّق من
warning_infoحتى إذا كانت الحالة الإجمالية للوجهة هيSUCCESS.error_infoقائمة بعناصر
ErrorCountيحتوي كلErrorCountعلىreasonيتضمّن نوع الخطأ، وrecord_countيشير إلى عدد السجلات التي تعذّر نقلها بسبب هذا النوع من الخطأ.