تخطَّ إلى المحتوى

دمج حزمة JavaScript SDK (العميل)

تهدف حزمة JS SDK إلى أعلى أداء مع صفر تبعيات. منصتنا تحل احتياجات إدارة ملفات تعريف الارتباط وتتيح لك الحصول على موافقات ملزمة قانونياً بسهولة.


ابدأ بعلامة سكريبت واحدة. تصميم اللافتة، فئات ملفات تعريف الارتباط، النصوص والامتثال الإقليمي (GDPR، CCPA…) — كلها تُدار من لوحة تحكم HashEntry:

<head>
<script
src="https://tool.hashentry.com/cmp.js"
data-site="مفتاح_API_الخاص_بك"
async
></script>
</head>

هذا كل شيء. يقوم SDK بجلب التكوين المرتبط بمفتاح API الخاص بك من الخادم؛ تصميم اللافتة والألوان واللغة والفئات وإعدادات السلوك تُدار جميعها من لوحة التحكم.

حظر سكريبتات الطرف الثالث

Section titled “حظر سكريبتات الطرف الثالث”

ضع علامة على السكريبتات التي لا يجب تشغيلها قبل الموافقة بـ type="text/plain":

<script type="text/plain" data-cookie-category="analytics">
// Google Analytics — لا يعمل حتى تتم الموافقة على "analytics"
</script>
<script type="text/plain" data-cookie-category="marketing"
data-src="https://connect.facebook.net/en_US/fbevents.js">
</script>
  1. الأيقونة الافتراضية: تظهر أيقونة دائمة «تفضيلات ملفات تعريف الارتباط» على الشاشة.
  2. زر مخصص: أخفِ الأيقونة واستدعِ CMP.show() من رابط التذييل الخاص بك.

السمةمطلوبالافتراضيالوصف
data-siteمفتاح API للموقع
data-modelocal-fallbackالوضع: remote، local، local-fallback
data-languageautoلغة اللافتة (auto = اكتشاف المتصفح)
data-regionautoتجاوز المنطقة
data-configتكوين JSON مضمن (الوضع المحلي)
data-debugfalseوضع المطور
data-headlessfalseوضع بدون واجهة

CMP.ready(() => { console.log('تم تحميل HashEntry CMP.'); });
CMP.show();
CMP.hide();
CMP.accept();
CMP.reject();
const consent = CMP.getConsent();
CMP.hasConsent('analytics');
CMP.setMetadata({ order_id: 'ORD-54321' });
CMP.on('consent:given', (data) => { console.log("الموافقة:", data.categories); });
<script>
window.__CMP_QUEUE = window.__CMP_QUEUE || [];
window.__CMP_QUEUE.push(['setMetadata', { order_id: 'ORD-12345' }]);
window.__CMP_QUEUE.push(['setRegion', 'AE']);
</script>

الوضعالسلوكdata-siteالخادم
remoteالتكوين يُجلب من الخادممطلوبمطلوب
localكل التكوين يُقدم من الصفحةاختياريلا يوجد
local-fallback (افتراضي)يحاول الخادم، يعود للمحلي عند الفشلاختياريمفضل

التشغيل بالكامل بدون خادم. مثالي لـبيئات الاختبار والسيناريوهات بدون اتصال.

<head>
<script type="application/json" id="cmp-config">
{
"banner_config": {
"layout": "bottom_bar",
"region_detection": "timezone",
"theme": {
"primary_color": "#2563EB",
"font_family": "system",
"theme_mode": "auto",
"widget_icon": "cookie",
"widget_position": "bottom_left"
},
"content": {
"title": "تفضيلات ملفات تعريف الارتباط",
"description": "يستخدم هذا الموقع ملفات تعريف الارتباط لتحسين تجربتك.",
"accept_button_text": "قبول الكل",
"reject_button_text": "رفض الكل",
"settings_button_text": "إدارة التفضيلات",
"save_selected_text": "قبول المحدد",
"close_text": "إغلاق",
"widget_label": "ملفات تعريف الارتباط"
},
"categories": [
{
"key": "necessary",
"label": "ضرورية",
"description": "مطلوبة لعمل الموقع الأساسي.",
"required": true
},
{
"key": "analytics",
"label": "تحليلات",
"description": "إحصائيات الزوار.",
"required": false
},
{
"key": "marketing",
"label": "تسويق",
"description": "إعلانات مخصصة.",
"required": false
}
],
"mobile_layout": "bottom_bar",
"behavior": {
"show_reject_button": true,
"show_settings_button": true,
"show_widget": true,
"show_powered_by": true,
"block_page_scroll": false,
"modal_layout": "sidebar_right",
"cookie_display_mode": "vendor",
"banner_animation": "slide_fade",
"modal_tabs": true,
"record_informational_consent": false
}
}
}
</script>
<script src="https://tool.hashentry.com/cmp.js" data-mode="local" data-language="ar" async></script>
</head>

متقدم: اكتشاف المنطقة (region_detection)

Section titled “متقدم: اكتشاف المنطقة (region_detection)”
الطريقةكيف تعملطلب شبكة
timezoneتقدير البلد من المنطقة الزمنية للمتصفح (120+ تطابق)لا
freegeoipخدمة مجانية IP→بلد (مهلة 3 ثوانٍ، احتياطي timezone)نعم