تتطلب قوانين الاتحاد الأوروبي (EU)- في اللائحة العامة لحماية البيانات (GDPR) من مواقع الويب تزويد زوار الاتحاد الأوروبي بمعلومات حول ملفات تعريف الارتباط المستخدمة على موقع الويب. وفي كثير من الحالات ، يشترط من المواقع الحصول على موافقة الزائر.
وكما نعلم فإن بلوجر - Blogger هي منصة تدوين تابعة لشركة Google وعلى هذا النحو ، فإن فريق رسمي من Google معني بإدارتها وتطويرها..أي انها نظام مغلق المصدر.
المهم ...قصدي هو أننا كمستخدمين للمنصة ، عملنا في الغالب لايتعدى نشر المحتوى. أما إدارة نظام Blogger ليست في سيطرتنا.
وطبعا لحسن الحظ ، Google أضافت إشعارًا - إفتراضي - لتواجد ملفات تعريف الإرتباط على جميع خدماتها ومن بينها Blogger وذلك للمساعدة في تلبية هذه اللوائح.
وبإختصار يتيح الإشعار للزائرين معرفة استخدام Google لبعض ملفات تعريف الارتباط الخاصة بـ Blogger و Google على مدونتك ، بما في ذلك ملفات تعريف الارتباط من Google Analytics وملفات تعريف ارتباط AdSense.
للتحقق من إشعار الموافقة الافتراضي لملفات تعريف الارتباط الذي يتم تنفيذه بواسطة Blogger ومعرفة المزيد حول ملفات تعريف الإرتباط ، ضروري الرجوع إلى منشور المدونة السابق الخاص بنا - الجزء الأول | فهم عام لملفات الإرتباط وإنشاء وثيقة الخصوصية
report
لانعني في هذا البرنامج التعليمي كيفية تطبيق إشعار ملفات تعريف الارتباط - المخصص - فقط لأن الإشعار الافتراضي لم ينل رضى المستخدم لمنصة البلوجر، فنحن هنا لا نتكلم عن إضافة أو ميزة يمكن الإستغناء عنها أو إستبدالها!!..نحن نتكلم عن نافذة بسيطة كلفت الشركات غرامات مالية تصل لملاين الدولارات وانت كمدون في اضعف الحالات سيتم غلق مدونتك التي سهرت على نجاحها لسنين في حالة قمت بإخفاء الإشعار الإفتراضي دون البديل المتوافق مع سياسة Google.
الغرض الرئيسي من إضافة - الإشعار المخصص - إعلام بوجود ملفات تعريف الإرتباط لجميع الزوار وليس فقط الزائر المحمي باللائحة العامة لحماية البيانات وإعطائهم فرصة جدية للتحكم في تلك الملفات التي غالبا ماتجمع بياناتهم وترصد نشاطاتهم على النت.
الغرض الرئيسي من إضافة - الإشعار المخصص - إعلام بوجود ملفات تعريف الإرتباط لجميع الزوار وليس فقط الزائر المحمي باللائحة العامة لحماية البيانات وإعطائهم فرصة جدية للتحكم في تلك الملفات التي غالبا ماتجمع بياناتهم وترصد نشاطاتهم على النت.
حول رسالة الإشعار المخصص
ihavecookies.js هو ملحق jQuery خفيف وبسيط التصميم لإعلام المستخدمين أن موقعك يحتوي على ملفات تعريف الارتباط ولجعل موقع الويب الخاص بك يتوافق مع قانون حماية البيانات العامة وقانون ملفات تعريف الارتباط في الاتحاد الأوروبي.المكوّن الإضافي يعرض رسالة موافقة ملف تعريف الارتباط في الزيارة الأولى أو بعد كم يومًا أنت تحدده من آخر زيارة له كما أنه يحتوي على خيار يتيح للزائر تحديد الملفات التي يريد قبولها - طبعا بعد تخصيصها
أضف إلى ذلك سهولة التحكم في طريقة العرض فقط من أداة في صفحة التخطيط..مثل اللون والخط وسرعة العرض إلى غير ذلك وأضف أن السكريبت يتيح لك تعطيل الإشعار الإفتراضي الخاص بـ Google
معاينة رسالة الإشعار المخصص
طريقة تركيب الأداة
عارضة المطور لفهم بيئة العمل أكثر.
في الدرس السابق - الجزء الأول | فهم عام لملفات الإرتباط وإنشاء وثيقة الخصوصية -عرفنا أن ملفات الإرتباط تصنف إلى أربع فئات رئيسية وهذا يجعل السكريبت الخاص بنا يحتوي على وضيفة خاصة بكل فئة إلا واحدة وهي الملفات الضرورية التي ليست لنا عليها أي سيطرة فهي من إسمها تفهم أنها ضرورية لعمل المواقع بشكل جيد.إذا يبقى لدينا ثلاث فئات لكل واحدة وضيفة معدة مسباقا في السكريبت وهي كالتالي:
نوع الملف | وضيفة الملف | نوع المكون |
---|---|---|
necessary ملفات ضرورية | لاتوجد لها وضيفة | ملفات تعريف الارتباط ضرورية لموقع الويب للعمل بشكل صحيح. |
preferences ملفات التفضيلات | preferences_code() | ملفات تعريف الارتباط المرتبطة بتفضيلات موقعك على سبيل المثال تذكر اسم المستخدم الخاص بك ألوان الموقع...إلخ. |
analytics ملفات التحليل | analytics_code() | ملفات تعريف الارتباط المتعلقة بزيارات الموقع وأنواع المتصفح...إلخ. |
marketing ملفات التسويق | marketing_code() | ملفات تعريف الارتباط المتعلقة بالتسويق على سبيل المثال النشرات الإخبارية وسائل التواصل الاجتماعي...إلخ. |
سنجد الوضائف الخاصة بكل فئة في هذا الجزء من السكريبت الذي سبق تركيبه...مايهمنا فقط الأجزاء المحددة بالالوان والتي سنشرحها بالتفصيل
$(window).one('load',function() {
function preferences_code() {
console.log('%cpreferences: is accepted', 'color:tomato');
};
function analytics_code() {
console.log('%canalytics: is accepted', 'color:tomato');
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', id_googleanalytics, 'auto', 'blogger');
ga('blogger.send', 'pageview');
};
function marketing_code() {
console.log('%cmarketing: is accepted', 'color:tomato');
};
function domcookie() {
!0===$.fn.ihavecookies.preference("preferences")&&preferences_code();
!0===$.fn.ihavecookies.preference("analytics")&&analytics_code();
!0===$.fn.ihavecookies.preference("marketing")&&marketing_code();
};
var options = {
onAccept:function(){
var myPreferences = $.fn.ihavecookies.cookie();
console.log('%cYay! The following preferences were saved...', 'color:tomato');
console.log(myPreferences);
domcookie();
}
};
// allow my cookie
if (Cookie_allowmycookie === true) {
$('body').ihavecookies(options);
domcookie();
}
});//load
التعديل على الكود
الوضيفة الحاملة للأسم preferences_code() المحددة بهذا اللون خاصة بملفات تعريف الإرتباط preferences ملفات التفضيلات.
الوضيفة الحاملة للأسم analytics_code() المحددة بهذا اللون خاصة بملفات تعريف الإرتباط analytics ملفات التحليلات.
الوضيفة الحاملة للأسم marketing_code() المحددة بهذا اللون خاصة بملفات تعريف الإرتباط marketing ملفات التسويق.
report
تنبيه..السطر console.log ()الموجود داخل كل وضيفة كما تعلم هو مجرد كائن لطباعة المخرجات في وحدة التحكم لغرض الإختبار ليس أكثر..وفي نفس الوقت هو بديل مستحسن لتفادي الخطأ في حال وجود وضيفة بدون تعليمات محددة
1- بناء الجملة / الوضيفة الخاصة بالتفضيلات / preferences
تضم هذه الوضيفة التعليمات البرمجية الخاصة بمكون إضافي أو تطبيق تابع للتفضيلات على سبيل المثال تذكر إسم المستخدم والحفاظ على التعديلات التي قام بها وفي الغالب هذا الخيار ليس مهم لمنصات البلوجر لأنها لاتحوي إمكانية تسجيل الدخول لكن حاليا يمكن ذلك بالإستعانة بمنصات التطبيقات مثلا برنامج APP-script التابع لـ Google..والذي سنشرحه لكم مستقبلاكذلك يمكنك وضع سكريبتات للميزات المتواجدة في مدونتك داخل هذه الوضيفة على سبيل المثال ميزة إختيار الألوان ولن تظهر للمستخدم إلا في حال قام بالموافقة على هذا الملف
function preferences_code() {
console.log('%cpreferences: is accepted', 'color:tomato');
};
2- بناء الجملة / الوضيفة الخاصة بالتفضيلات / analytics
تضم هذه الوضيفة التعليمات البرمجية الخاصة بمكون إضافي تابع للتحليلات على سبيل المثال أداة Google Analytics لو راجعت السكريبت السابق ستلاحظ كيف سبق وأعددنا المكون الإضافي في هذه الوضيفة بحيث عندما تدخل المعرف الخاص بك في الأداة سيتم حقنه في الشفرة ولن يتم إعطاء الأمر بتتبع الزائر حتى يوافق هو على هذا الملف.
function analytics_code() {
console.log('%canalytics: is accepted', 'color:tomato');
};
يمكنك معاينة ذلك في المتصفح من خلال الضغط على رمز القفل الموجود أمام رابط مدونتك ثم إختر إعداد ملفات تعريف الإرتباط - cookies - لتنبثق لك نافذة تحوي مجموعة من الروابط قم بفتح رابط مدونتك المدفوع ثم مجلد cookies وستلاحظ الملفات الخاصة بالتحليل مع العلم أنه إذا كنت لازلت تستخدم النطاق المجاني ستجد الملفات داخل رابط blogger.com ..لاحظ كما في الصورة الآتية:
3- بناء الجملة / الوضيفة الخاصة بالتسويق / marketing
تضم هذه الوضيفة التعليمات البرمجية الخاصة بمكون إضافي تابع للتسويق على سبيل المثال الوسائط المدمجة تلك المعنية بالمشاركة والتفاعل والنشرات الإخبارية على سبيل المثال صندوق إشتراك يوتيوب والفيسبوك ونشرة تويتر وغيرها من الوسائط التي تجمع بيانات الزائرين تلقائيا..أضف إلى ذلك المكون الإضافي الخاص بالإعلانات كـ Adsenseتكمن الفكرة أننا نضيف الشفرات التي نحصل عليها من خدمات الطرف الثالث إلى الوضيفة التي أمامك عندها لن يتم تشغيل هاته الوسائط حتى يوافق المستخدم على هذا الملف كما عرفنا سابقا
function marketing_code() {
console.log('%cmarketing: is accepted', 'color:tomato');
};
لوأردنا إضافة شفرة ولتكن مثلا عنصر واجهة مستخدم الخاصة بخطّك الزمنيّ في تويتر سنضعها بالشكل الآتي داخل الوضيفة
function marketing_code() {
console.log('%cmarketing: is accepted', 'color:tomato');
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
};
بنفس الطريقة والفكرة تتم إضافة عناصر أخرى داخل نفس الوضيفة مع العلم أنه لن يتم إظهار العناصر حتى يتم الموافقة من طرف المستخدم..ولو ركزت معي في ما تم شرحه ستلاحظ نقطة اخرى إجابية يقوم بها سكريبت رسالة الإشعار بجانب وضيفته الأساسية وهو أنه يتيح لك تسريع المدونة من خلال تاخير تشغيل المكونات والوسائط إلا بعدما يتم تحميل الصفحة..فطبعا لا أحد سيجادل في تأثير تلك الشفرات التي نضيفها على سرعة تحميل المدونة!!
check_circle
للإطلاع على مصدر الشفرة يمكنك مراجعة صفحة المطور من هنا او يمكنك تحميل البرنامج النصي بدون تعتيم من الملحق..بالتوفيق.
تعليقات
إرسال تعليق