تخطّ إلى المحتوى الرئيسي

التطبيقات والتتبع متعدد المنصات

تتيح لك التطبيقات تتبع المستخدمين عبر منصات مختلفة، الويب وiOS وAndroid، باستخدام مفاتيح SDK منفصلة مع إدارة كل شيء من مكان واحد.

ما هي التطبيقات؟

تمثل التطبيقات منصات أو خصائص مختلفة تتتبع فيها المستخدمين:

  • Web App: موقعك أو تطبيق الويب.
  • iOS App: تطبيقك للجوال على iOS.
  • Android App: تطبيقك للجوال على Android.

يحصل كل تطبيق على مفتاح SDK فريد للتتبع، بينما تتدفق كل البيانات إلى مؤسسة Joryio الخاصة بك.

لماذا تستخدم تطبيقات متعددة؟

التتبع عبر المنصات

اعرف المستخدمين الذين يتفاعلون مع تطبيق الويب مقابل تطبيقات الجوال:

رحلة المستخدم:
1. يزور الموقع (Web App)
2. يسجل في الويب
3. ينزل تطبيق iOS
4. يشتري عبر iOS

التقسيم حسب المنصة

استهدف المستخدمين بناءً على استخدام المنصة:

الهدف: مستخدمو تطبيق iOS الذين لم يستخدموا تطبيق Android
الحملة: "جرّب تطبيق Android"

تحليل أداء المنصات

قارن المقاييس عبر المنصات:

Web App:
- 10,000 مستخدم نشط
- 50,000 حدث/يوم
- أكثر ميزة استخدامًا: Export

iOS App:
- 5,000 مستخدم نشط
- 25,000 حدث/يوم
- أكثر ميزة استخدامًا: Camera

إنشاء تطبيق

الخطوة 1: الانتقال إلى Apps

  1. انتقل إلى Settings ← Apps.
  2. انقر Create App.

الخطوة 2: ضبط التطبيق

  • Name: اسم وصفي، مثل "My Website" أو "iOS App".
  • Platform: اختر web أو iOS أو Android.

الخطوة 3: الحصول على مفتاح SDK

بعد الإنشاء، ستتلقى مفتاح SDK فريدًا:

jry_sdk_web_abc123...     (Web)
jry_sdk_ios_def456... (iOS)
jry_sdk_android_ghi789... (Android)
صيغة مفتاح SDK

تتضمن مفاتيح SDK المنصة في المفتاح نفسه ليسهل التعرف إليها.

استخدام مفاتيح SDK

import JoryioSDK from '@joryio/web-sdk';

const joryio = new JoryioSDK({
sdkKey: 'jry_sdk_web_abc123...' // Your web app SDK key
});

بيانات التطبيق الوصفية التلقائية

تشمل كل الأحداث التي يتتبعها SDK بيانات تعريف التطبيق تلقائيًا:

{
"eventName": "Page Viewed",
"properties": {
"page": "/pricing",
// Automatically added:
"$app_id": "app_123",
"$app_name": "My Website",
"$platform": "web",
"$session_id": "session_456"
}
}

يمكّن ذلك تقسيمًا قويًا حسب التطبيق/المنصة.

تحليلات التطبيق

اعرض تحليلات كل تطبيق:

  1. انتقل إلى Settings ← Apps.
  2. انقر View Analytics للتطبيق.

المقاييس المتاحة

الإحصاءات العامة:

  • إجمالي الأحداث المتتبعة.
  • المستخدمون النشطون خلال آخر 30 يومًا.
  • الطابع الزمني لآخر حدث.

الأحداث بمرور الوقت:

  • حجم الأحداث اليومي.
  • تحليل الاتجاه.

أهم الأحداث:

  • الأحداث الأكثر تتبعًا.
  • أعداد الأحداث ونسبها المئوية.

التقسيم حسب استخدام التطبيق

أنشئ شرائح باستخدام فلتر App / site usage، بعاملي used app وdid not use app. وبما أن التطبيق يحدد منصته ضمنًا، استهدف المنصات باختيار التطبيق أو التطبيقات المطابقة.

المثال 1: مستخدمو الجوال فقط

Used app "iOS App"
AND
Did NOT use app "My Website"

المثال 2: مستخدمون متعددوا المنصات

Used app "My Website"
AND
Used app "iOS App"

المثال 3: سلوك خاص بالتطبيق

Used app "iOS App"
AND
Performed "Order Completed" within last 30 days

استخدم ذلك لتشجيع تبني تطبيق الجوال والرسائل الخاصة بالمنصة.

إدارة التطبيقات

عرض كل التطبيقات

يعرض Settings ← Apps كل تطبيقاتك مع:

  • اسم التطبيق والمنصة.
  • مفتاح SDK، مع زر نسخ.
  • تاريخ الإنشاء.
  • الإجراءات السريعة.

تحرير تطبيق

  1. انقر اسم التطبيق أو أيقونة التحرير.
  2. حدّث الاسم.
  3. انقر Save.
لا يمكن تغيير المنصة

لا يمكن تغيير نوع المنصة بعد الإنشاء. أنشئ تطبيقًا جديدًا عند الحاجة.

إعادة إنشاء مفتاح SDK

إذا تعرّض مفتاح SDK للخطر:

  1. انقر Regenerate Key للتطبيق.
  2. أكد الإجراء.
  3. حدّث تطبيقك بالمفتاح الجديد.
تغيير يكسر التوافق

تؤدي إعادة إنشاء مفتاح SDK إلى إبطال المفتاح القديم فورًا. حدّث تطبيقك قبل إعادة الإنشاء.

حذف تطبيق

  1. انقر Delete للتطبيق.
  2. أكد الحذف.
أثر على البيانات

حذف تطبيق:

  • يبطل مفتاح SDK، فيتوقف التتبع.
  • تبقى الأحداث التي استُقبلت سابقًا في مخزن التحليلات.
  • لا يمكن التراجع عنه.

أفضل الممارسات

1. تطبيق واحد لكل منصة

أنشئ تطبيقات منفصلة لكل منصة:

جيد

  • "My Website" (web)
  • "iOS App" (iOS)
  • "Android App" (Android)

سيئ

  • "All Platforms" (web): خلط للمنصات.

2. أسماء وصفية

استخدم أسماء واضحة يسهل التعرف إليها:

جيد: "Production Web App"، "iOS - App Store"

سيئ: "App 1"، "Test"

3. أمّن مفاتيح SDK

  • لا ترفع مفاتيح SDK إلى مستودعات عامة أبدًا.
  • استخدم متغيرات البيئة.
  • أعد إنشاء المفتاح إذا انكشف.
// Good: Use environment variables
const joryio = new JoryioSDK({
sdkKey: process.env.JORYIO_SDK_KEY
});

// Bad: Hardcoded key
const joryio = new JoryioSDK({
sdkKey: 'jry_sdk_web_abc123...'
});

حالات استخدام شائعة

1. حملات خاصة بالمنصة

أرسل رسائل مستهدفة حسب المنصة:

الشريحة: مستخدمو iOS الذين لم يحدثوا التطبيق خلال 30 يومًا
الحملة: "ميزات جديدة في أحدث تحديث لتطبيق iOS"

2. تحليلات متعددة المنصات

قارن تفاعل المستخدمين عبر المنصات:

الاستعلام: كم مستخدمًا نشطًا على الويب والجوال معًا؟
الشريحة: Has used platform "web" AND has used platform "ios"

3. ترحيل المنصة

شجّع المستخدمين على تجربة منصات أخرى:

الشريحة: مستخدمو الويب النشطون الذين لم ينزلوا تطبيق الجوال
الحملة: "خذنا معك أينما ذهبت - نزّل تطبيق الجوال"

4. ميزات خاصة بالمنصة

تتبع استخدام الميزة حسب المنصة:

Event: Feature Used
Properties: { feature: "camera", platform: "ios" }

التحليل: ميزة الكاميرا متاحة على الجوال فقط

رحلة مستخدم متعددة التطبيقات

تتبع المستخدمين خلال رحلتهم كاملة:

الخط الزمني لـ user_123:

اليوم 1 (Web App):
- Signup Completed
- Profile Created
- Viewed Pricing

اليوم 3 (iOS App):
- App Installed
- Login
- First Purchase

اليوم 7 (Web App):
- Login
- Settings Updated

اليوم 14 (Android App):
- App Installed
- Login
- Feature Used

يُتتبع كل ذلك تلقائيًا ببيانات تعريف التطبيق.

الأمان والتحكم بالوصول

صلاحيات مفتاح SDK

يمكن لمفاتيح SDK، جهة العميل، فقط:

  • تتبع الأحداث.
  • تعريف المستخدمين.
  • إرسال سمات المستخدم.
  • لا يمكنها الوصول إلى بيانات مؤسسة أخرى.
  • لا يمكنها إرسال الحملات.
  • لا يمكنها حذف المستخدمين.

صلاحيات مفتاح API

تُدار مفاتيح API، جهة الخادم، من Settings ← API Keys وتحمل الصلاحيات التي تمنحها لها، وقد تشمل:

  • جميع عمليات SDK.
  • إدارة الحملات.
  • استعلامات المستخدمين.
  • الوصول إلى التحليلات.
لا تستخدم مفاتيح API في كود العميل

يجب استخدام مفاتيح API على الخادم فقط. استخدم مفاتيح SDK لتتبع جهة العميل.

استكشاف الأخطاء وإصلاحها

الأحداث لا تظهر

تحقق من صحة مفتاح SDK:

// Enable debug mode
const joryio = new JoryioSDK({
sdkKey: 'jry_sdk_web_...',
enableDebug: true // See logs in console
});

تحقق من أن التطبيق نشط:

  • انتقل إلى Settings ← Apps.
  • افحص حالة التطبيق.
  • أكد تطابق مفتاح SDK.

التحليلات لا تتحدث

تتحدث التحليلات في الوقت الفعلي، لكن قد تتأخر بضع ثوانٍ:

  • افحص طابع "Last Event" الزمني.
  • تأكد من تتبع الأحداث.
  • جرّب تحديث الصفحة.

مطابقة المستخدمين عبر المنصات

تُطابق المستخدمين بواسطة:

  1. User ID، إن عُرِّف المستخدم.
  2. Anonymous ID، قبل التعريف.

تأكد من تعريف المستخدمين باتساق عبر المنصات:

// Web
joryio.identify('user_123');
joryio.setAttributes({
email: 'user@example.com',
name: 'John Doe'
});

// iOS (same user ID)
Joryio.shared.identify("user_123")
Joryio.shared.setAttributes([
"email": "user@example.com",
"name": "John Doe"
])

الخطوات التالية