@logbrew/sdk0.1.28@logbrew/node0.1.12@logbrew/browser0.1.11
اختر الحقول التي تلتقطها
عند فشل إتمام الشراء، دوّن رسالة ثابتة وقالب مسار ورمز حالة. لا تدوّن الأسماء أو عناوين البريد الإلكتروني أو بيانات الدفع.
لسياق المستخدم والجلسة، راجع
التقاط أحداث المنتج.
قد يحدد المعرّفُ هويةَ شخص حتى لو لم يحتوِ على اسم.
اختبر اختيار الحقول محليًا
استخدم Node.js بالإصدار 18 أو أحدث. ثبّت الحزمة في مجلد فارغ:safe-capture.mjs:
"ok":false ويخرج بالرمز 1. وخطأ التحقق في الـ SDK يطبع
رمز خطأ الـ SDK الخاص به. لا تطبع معاينة تحتوي على بيانات حقيقية، ولا ترفعها.
استخدم النمط نفسه في شيفرة الالتقاط لديك، وأبقِ التأكيدات في اختباراتك. أضف
فحصًا لكل حقل وقيمة يجب ألا يرسلها تطبيقك. إذا كنت تستخدم الحجب القائم على
الأنماط، فشغّل الفحوص مرة أخرى بعد كل تغيير في القواعد. يفحص هذا الاختبار سجلًا
واحدًا في الطابور. ولا يغني عن مراجعة الخصوصية.
رسائل الأخطاء ومكدّساتها
القيمة المخصصة
options.message لا تحذف metadata.errorMessage. افحص الحدث
كاملًا، لا عنوانه فقط. أبعد القيم الحساسة عن رسائل الأخطاء من مصدرها.
استخدم كل أداة تحكم ضمن نطاقها
نواة JavaScript وNode.js
يقبلLogBrewClient.create الخيار eventFilter. أعِد false لحذف الحدث قبل
أن يدخل الطابور. أي قيمة أخرى تُبقي الحدث. يتلقى عامل التصفية نسخة من الحدث،
لذا لا تحجب تغييراتك عليها أي شيء. لا يطبّق createLogBrewNodeClient
وcreateLogBrewBrowserClient الخيار eventFilter في هذه الإصدارات.
يعدّ droppedEvents() الأحداث التي أُسقطت بسبب حدود الحجم أو الطابور. ولا يعدّ
الأحداث التي حذفها eventFilter.
يضيف عميل Node سياق وقت التشغيل، مثل إصدار Node ونظام التشغيل والمعمارية. اضبط
captureRuntimeContext: false لحذفه. لا يحذف هذا الإعداد السياق الذي يوفره
تطبيقك، ولا يوقف الالتقاط.
المتصفح
يلتقط عميل المتصفح افتراضيًا الأخطاء العامة والرفض غير المعالَج (unhandled rejections) ومشاهدة الصفحة الأولى. اضبطcaptureGlobalErrors أو
captureUnhandledRejections أو capturePageViews على false لإيقاف أحدها.
تتضمن مشاهدات الصفحات اسم المسار (pathname). وتحذف سلسلة الاستعلام والجزء
(fragment) وعنوان المستند ووكيل المستخدم الكامل، ما لم تضبط
includeQueryString أو includeHash أو includeDocumentTitle أو
includeUserAgent. إذا كان اسم المسار قد يحتوي على قيم خاصة، فأوقف مشاهدات
الصفحات التلقائية، وأرسل مشاهدة صفحة خاصة بك باسم مسار آمن.
يغيّر sanitizeMetadata البيانات الوصفية فقط. ولا يغيّر أسماء مشاهدات الصفحات
أو الإجراءات. يحتوي اسم مشاهدة الصفحة على اسم المسار الفعلي، مثل
page_view /orders/1234. يضبط routeTemplate في البيانات الوصفية واجهة
التحليلات، لكنه لا يغيّر الاسم. يحذف shouldCaptureError مشكلات المتصفح فقط.
ولا يصفّي السجلات أو الإشارات الأخرى.
اضبط captureRuntimeContext: false لحذف علامة المتصفح التجارية والمنصة وفئة
الجهاز. لا يتحكم هذا الإعداد في includeUserAgent.
قبل الالتقاط الحقيقي
اختبر كل طريقة التقاط مفعّلة ببيانات اصطناعية، بما فيها مسارات الأخطاء وتكاملات التسجيل. تنطبق تغييرات الالتقاط على الأحداث الجديدة فقط. يمسحpurgePendingEvents()
الطابور المحلي الخامل، ويفشل أثناء نشاط التسليم. ولا يوقف الالتقاط اللاحق أو
يحذف الأحداث التي قبلها LogBrew. يحذف uninstall() في المتصفح المستمعات، لكنه
يُبقي الأحداث الموجودة في الطابور. هذه الدوال ليست سير عمل للموافقة أو الحذف.
ثم أرسل حدثًا اصطناعيًا واحدًا باستخدام البدء السريع. إذا لم
يظهر، فراجع استكشاف الأخطاء وإصلاحها. ولأخطاء
HTTP، راجع أخطاء API.