بيانات التشخيص

في ما يلي سير العمل المقترَح للتحقّق من سلامة عمليات تحميل الأحداث وشرائح الجمهور وتحديد المشاكل في بياناتك.

  1. أرسِل طلبات لإرسال الأحداث أو إرسال أعضاء الجمهور أو إزالتهم.

  2. تحقَّق من الحالة العامة لكل طلب. يحتوي الطلب الناجح على Status مع code يساوي 0 (قيمة التعداد OK، استجابة HTTP‏ 200 OK)، ويعرض IngestEventsResponse أو IngestAudienceMembersResponse أو RemoveAudienceMembersResponse.

    إذا لم ينجح أحد الطلبات، عدِّله لحلّ الخطأ وأرسِله مرة أخرى.

    إذا نجح أحد الطلبات، احفظ request_id في الردّ حتى تتمكّن من استرداد بيانات التشخيص في الخطوة التالية.

  3. أرسِل طلب RetrieveRequestStatus لكل ناجح request_id.

  4. راجِع كل RetrieveRequestStatusResponse للتأكّد من أنّ عمليات التحميل تعمل بشكلٍ سليم وتحديد أي مشاكل في بياناتك.

  5. أصلِح مشاكل البيانات.

  6. ارجِع إلى الخطوة 1 وكرِّرها إلى أن تحلّ جميع المشاكل في عمليات التحميل.

أرسِل الطلبات

يحتوي RetrieveRequestStatusRequest على حقل request_id واحد. أرسِل طلبًا واحدًا لكل معرّف طلب ناجح حفظته عند إرسال طلبات العرض.

جرِّب إرسال طلب في متصفّحك باستخدام أداة مستكشف واجهات برمجة التطبيقات.

مراجعة الإجابات

يحتوي request_status_per_destination في RetrieveRequestStatusResponse على إدخال منفصل لـ كل وجهة في طلب العرض المقابل.

على سبيل المثال، إذا كان IngestAudienceMembersRequest يحتوي على 3 إدخالات في قائمة destinations لإرسال البيانات إلى 3 شرائح جمهور مختلفة، سيحتوي ردّ الحالة على 3 إدخالات في request_status_per_destination (إدخال واحد لكل شريحة جمهور).

تحقَّق من الحالة العامة للوجهة

كخطوة أولى، تحقَّق من حقل request_status لتحديد ما إذا كانت واجهة برمجة تطبيقات "إدارة البيانات" قد انتهت من معالجة البيانات الخاصة بـ 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_count في IngestUserDataStatus للتأكّد من أنّ العدد الإجمالي للسجلات المستلَمة يتطابق مع توقعاتك. يتضمّن 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_count في IngestPairDataStatus للتأكّد من أنّ العدد الإجمالي للسجلات المستلَمة يتطابق مع توقعاتك. يتضمّن record_count السجلات الناجحة والسجلات التي تعذّرت معالجتها.

تحقَّق من pair_id_count للتأكّد من أنّ عدد معرّفات PAIR المستلَمة يتطابق مع توقعاتك.

ppid_data_ingestion_status

تحقَّق من record_count في IngestPpidDataStatus للتأكّد من أنّ العدد الإجمالي للسجلات المستلَمة يتطابق مع توقعاتك. يتضمّن record_count السجلات الناجحة والسجلات التي تعذّرت معالجتها.

تحقَّق من ppid_count للتأكّد من أنّ عدد معرّفات PPID المستلَمة يتطابق مع توقعاتك.

user_id_data_ingestion_status

تحقَّق من record_count في IngestUserIdDataStatus للتأكّد من أنّ العدد الإجمالي للسجلات المستلَمة يتطابق مع توقعاتك. يتضمّن 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
حالة إزالة بيانات PPID.
user_id_data_removal_status
حالة إزالة بيانات معرّف المستخدم

تحقَّق من record_count للتأكّد من أنّ العدد الإجمالي للسجلات المستلَمة يتطابق مع توقعاتك. يتضمّن record_count السجلات الناجحة والسجلات التي تعذّرت معالجتها.

بالإضافة إلى ذلك، تحقَّق من user_identifier_count أو mobile_id_count أو pair_id_count للتأكّد من العدد الإجمالي لمعرّفات المستخدمين أو معرّفات الأجهزة الجوّالة أو معرّفات PAIR المستلَمة.

تحقَّق من التحذيرات والأخطاء

بالإضافة إلى حقول الحالة لنوع الوجهة والطلب، يحتوي الـ RetrieveRequestStatusResponse على تفاصيل الـ تحذيرات والأخطاء الخاصة بالطلب.

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

على سبيل المثال، إذا كان Event يحتوي على بيانات مشفّرة UserIdentifier و AdIdentifiers مثل gclid، ولا يمكن فكّ تشفير بيانات UserIdentifier، ستظلّ Data Manager API تعالج السجلّ باستخدام AdIdentifiers ولكنها تعرض التحذير PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR.

ومع ذلك، إذا لم يكن Event يحتوي على AdIdentifiers ولا يمكن فكّ تشفير بيانات UserIdentifier، ترفض واجهة برمجة تطبيقات "إدارة البيانات" السجلّ بالكامل وتُبلغ عن الخطأ PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR لأنّ Event صالحًا يجب أن يحتوي على واحد على الأقل من ad_identifiers أو user_data.

في ما يلي حقول الردّ التي تحتوي على معلومات التحذيرات والأخطاء.

warning_info
قائمة بكائنات WarningCount يحتوي كل WarningCount على reason يتضمّن نوع التحذير، وrecord_count يشير إلى عدد السجلات التي تضمّنت تحذيرات من هذا النوع.
error_info
قائمة بكائنات ErrorCount يحتوي كل ErrorCount على reason يتضمّن نوع الخطأ، وrecord_count يشير إلى عدد السجلات التي تعذّرت معالجتها بسبب هذا النوع من الأخطاء.