واجهة JavaScript
تحكّم في الحملات من كودك عبر window.TafseePopup: افتح حملة وأغلقها، وأرسل أحداثًا إلى القواعد، ومرّر قيم الزائر، وأوقف واستأنف.
بعد تحميل السكربت تتوفر window.TafseePopup في كل صفحة فيها كود التثبيت. هذا المقال للمطورين.
ما تحتاجه
- كود التثبيت في الصفحة. راجع تثبيت الكود.
- معرّف الحملة للاستدعاءات التي تسمّي حملة. تجده في تبويب التفاصيل للحملة تحت معرّف الحملة.
الاستدعاءات
TafseePopup.show('campaign-id'); // open a campaign now (ignores rules and frequency)
TafseePopup.hide(); // close what is open
TafseePopup.track('tafsee:offer'); // send a named event; a "JavaScript event" rule with that name fires
TafseePopup.track('add_to_cart'); // tell the "Adds to cart" rule something went in the cart
TafseePopup.identify({ email: 'shopper@example.com', plan: 'gold' });
TafseePopup.pause(); // stop automatic triggers
TafseePopup.resume(); // start them again
TafseePopup.reset(); // forget this visitor in this browser
TafseePopup.campaigns(); // [{ campaignId, name, type }], after the script has loaded
TafseePopup.diagnose(); // why each campaign is or is not showing
TafseePopup.simulateExitIntent(); // testing helperالفتح والإغلاق
- show(id) يفتح الحملة فورًا دون فحص القواعد أو حدود التكرار أو دور الحملة.
- hide() يغلق أي نافذة أو شريط مفتوح، وتبقى الحملات المضمّنة.
أرسل أحداثًا إلى القواعد
- track(name) يرسل حدثًا مسمّى، فتعمل الحملة التي فيها الشرط حدث JavaScript بالاسم نفسه.
- track('add_to_cart') يغذّي الشرط الإضافة إلى السلة في المتاجر التي لا يتعرف السكربت على زر الإضافة إلى السلة فيها تلقائيًا.
مرّر قيمًا عن الزائر
يفعل identify({ … }) أمرين: قيمة email تملأ حقل البريد في نماذجك مسبقًا، وكل قيمة يمكن مطابقتها بالشرط سمة مخصّصة، مثل أن plan يساوي gold. تُحفظ القيم في متصفح الزائر.
الإيقاف والاستئناف
يوقف pause() المشغّلات التلقائية مثل الوقت والتمرير ونية الخروج في هذه الصفحة حتى استدعاء resume(). استخدمه أثناء إتمام الشراء مثلًا. ويبقى show() الصريح يفتح الحملة.
انسَ الزائر
يمسح reset() ما يتذكره هذا المتصفح لموقعك: معرّف الزائر وحدود التكرار والتسجيلات ونسخ A/B، وتُغلق النوافذ المفتوحة.
اقرأ ما في الصفحة
- campaigns() يعيد الحملات المحمّلة لهذه الصفحة.
- diagnose() يعيد لكل حملة هل تظهر ولماذا لا. الاستدعاء الأول يجلب أدوات الاختبار ويعيد قائمة فارغة؛ استدعِه مجددًا بعد لحظة.
استدعاءات قبل تحميل السكربت
يُحمَّل السكربت دون تعطيل الصفحة، فقد يعمل كودك أولًا. ضع هذا الجزء الصغير فوق استدعاءاتك فتُحفظ وتُنفَّذ عند جاهزية السكربت:
<script>
window.TafseePopup = window.TafseePopup || { q: [] };
['show', 'hide', 'track', 'identify', 'reset'].forEach(function (m) {
TafseePopup[m] = TafseePopup[m] || function () { TafseePopup.q.push([m, [].slice.call(arguments)]); };
});
</script>خصائص وسم السكربت
يضبطها كود التثبيت عنك، وتهمّ عندما تكتب الوسم يدويًا:
- data-site: مطلوبة. مفتاح موقعك العام.
- data-debug: تكتب ما يفعله السكربت في وحدة تحكم المتصفح بالبادئة [tafsee].
- data-device: تفرض desktop أو tablet أو mobile. للاختبار فقط.
<script async src="https://popup.beta.tafsee.com/embed/v1.js" data-site="pk_your_site_key"></script>مفاتيح في عنوان الصفحة
- ?tafsee-debug=1 يفتح لوحة الاختبار، وتبقى مفعّلة للتبويب حتى ?tafsee-debug=0.
- ?tafsee-reset=1 ينسى سجل هذا المتصفح للموقع مرة واحدة، ويزيل نفسه من العنوان، ولا يُحتسب شيء لذلك التحميل.
إن لم ينجح الأمر
- TafseePopup غير معرّف: لم يُحمَّل السكربت بعد (استخدم الجزء أعلاه)، أو هو محجوب في هذه الصفحة.
- show() لا يفعل شيئًا: المعرّف ليس لحملة منشورة في هذا الموقع. يسرد campaigns() الحملات المنشورة.
- قاعدة «حدث JavaScript» لا تعمل: يجب أن يطابق اسم الحدث في track() الاسم في القاعدة تمامًا.