إنشاء تجارب للمراسلة داخل التطبيق باستخدام ميزة "اختبار A/B"

عند التواصل مع المستخدمين أو بدء حملة تسويقية جديدة، من المهم التأكّد من أنّك تستخدم الأسلوب الصحيح. يمكن أن يساعدك اختبار A/B في العثور على الصياغة والعرض الأمثلَين من خلال اختبار أشكال الرسائل المختلفة على أجزاء محدّدة من قاعدة المستخدمين. سواء كان هدفك هو تحسين معدّل الاحتفاظ بالمستخدمين أو معدّل الإحالات الناجحة في عرض معيّن، يمكن أن يُجري اختبار A/B تحليلاً إحصائيًا لتحديد ما إذا كان شكل الرسالة يحقّق أداءً أفضل من المعدّل المرجعي للهدف الذي اخترته.

لإجراء اختبار A/B لأشكال الميزات المختلفة باستخدام معدّل مرجعي، اتّبِع الخطوات التالية:

  1. أنشئ تجربتك.
  2. تحقَّق من صحة تجربتك على جهاز اختبار.
  3. أدِر تجربتك.

إنشاء تجربة

تتيح لك التجربة التي تستخدم Firebase In-App Messaging تقييم أشكال متعدّدة لـ رسالة واحدة داخل التطبيق.

  1. سجِّل الدخول إلى وحدة تحكّم Firebase وتأكَّد من تفعيل Google Analytics في مشروعك لكي تتمكّن التجربة من الوصول إلى بيانات Analytics.

    إذا لم تفعل Google Analytics عند إنشاء مشروعك، يمكنك تفعيلها في علامة التبويب عمليات الدمج التي يمكنك الوصول إليها باستخدام > إعدادات المشروع في وحدة تحكّم Firebase.

  2. في قسم DevOps والتفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.

  3. انقر على إنشاء تجربة، ثمّ اختَر المراسلة داخل التطبيق عندما يُطلب منك تحديد الخدمة التي تريد تجربتها.

  4. بدلاً من ذلك، في قائمة التنقّل في وحدة تحكّم Firebase، وسِّع التفاعل، ثمّ انقر على In-App Messaging. بعد ذلك، انقر على تجربة جديدة.

  5. أدخِل اسمًا ووصفًا اختياريًا لتجربتك، ثمّ انقر على التالي.

  6. املأ حقول الاستهداف ، واختَر أولاً التطبيق الذي يستخدم تجربتك. يمكنك أيضًا استهداف مجموعة فرعية من المستخدمين للمشاركة في تجربتك عن طريق اختيار خيارات تتضمّن ما يلي:

    • الإصدار: إصدار واحد أو أكثر من تطبيقك
    • جمهور المستخدم: Analytics شرائح الجمهور المستخدَمة لاستهداف المستخدمين الذين قد يتم تضمينهم في التجربة
    • خاصية المستخدم: خاصية مستخدم واحدة أو أكثر من خصائص المستخدمين Analytics لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة
    • البلد/المنطقة: بلد أو منطقة واحدة أو أكثر لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة
    • لغة الجهاز: لغة واحدة أو أكثر من اللغات والمناطق المستخدَمة لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة
    • فتح التطبيق للمرة الأولى: استهداف المستخدمين استنادًا إلى أول مرة فتحوا فيها تطبيقك
    • آخر تفاعل مع التطبيق: استهداف المستخدمين استنادًا إلى آخر مرة تفاعلوا فيها مع تطبيقك
  7. اضبط النسبة المئوية للمستخدمين المستهدَفين: اختَر النسبة المئوية من قاعدة مستخدمي تطبيقك الذين يستوفون المعايير المحدّدة ضِمن المستخدمون المستهدَفون والتي تريد تقسيمها بالتساوي بين المعدّل المرجعي وشكل واحد أو أكثر من أشكال التجربة. يمكن أن تكون أي نسبة مئوية تتراوح بين% 0.01 و%100. تتم إعادة تعيين النسب المئوية عشوائيًا للمستخدمين في كل تجربة، بما في ذلك التجارب المكرّرة.

  8. في قسم الأشكال ، اضبط رسالة أساسية داخل التطبيق لإرسالها إلى مجموعة المعدّل المرجعي باستخدام واجهة تصميم الرسائل التي تستخدمها في حملة عادية للمراسلة داخل التطبيق.

  9. لإضافة شكل إلى تجربتك، انقر على إضافة شكل. تحتوي التجارب تلقائيًا على معدّل مرجعي واحد وشكل واحد.

  10. (اختياري) أدخِل اسمًا أكثر وصفًا لكل شكل.

  11. (اختياري) في أعلى قسم الأشكال ، انقر على الزر مقارنة الأشكال لمقارنة شكل واحد أو أكثر من أشكال الرسائل جنبًا إلى جنب مع الرسالة الأساسية.

  12. حدِّد مقياس هدف لتجربتك لاستخدامه عند تقييم أشكال التجربة بالإضافة إلى أي مقاييس إضافية تريد استخدامها من القائمة. تشمل هذه المقاييس الأهداف المضمّنة (التفاعل وعمليات الشراء، الإيرادات والاحتفاظ بالمستخدمين وما إلى ذلك) وأحداث الإحالات الناجحة Analytics وأحداث Analytics الأخرى.

  13. اضبط الجدولة للتجربة:

    • اضبط تاريخ البدء وتاريخ الانتهاء للتجربة.
    • اضبط كيفية تشغيل الرسائل داخل التطبيق في جميع الأشكال.
  14. انقر على مراجعة لحفظ تجربتك.

يُسمح لك بإجراء ما يصل إلى 300 تجربة لكل مشروع، ويمكن أن يتضمّن ذلك ما يصل إلى 24 تجربة قيد التشغيل، والباقي كمسودات أو تجارب مكتملة.

التحقّق من صحة تجربتك على جهاز اختبار

لكل عملية تثبيت على Firebase، يمكنك استرداد رمز المصادقة لعملية التثبيت المرتبطة بها. يمكنك استخدام هذا الرمز لاختبار أشكال تجربة محدّدة على جهاز اختبار تم تثبيت تطبيقك عليه. للتحقّق من صحة تجربتك على جهاز اختبار ، اتّبِع الخطوات التالية:

  1. احصل على رمز المصادقة لعملية التثبيت على النحو التالي:

    Swift

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    الويب

          import { getInstallations, getToken } from "firebase/installations";
    
          const installations = getInstallations(app);
          const installationAuthToken = getToken(installations);
      
  2. في شريط التنقّل في وحدة تحكّم Firebase، انقر على اختبار A/B.
  3. انقر على مسودة (و/أو قيد التشغيل لتجارب "الإعداد عن بُعد")، ومرِّر مؤشّر الماوس فوق تجربتك، وانقر على قائمة السياق ()، ثمّ انقر على إدارة أجهزة الاختبار.
  4. أدخِل رمز المصادقة لعملية التثبيت لجهاز اختبار واختَر شكل التجربة لإرساله إلى جهاز الاختبار هذا.
  5. شغِّل التطبيق وتأكَّد من تلقّي الشكل المحدّد على الـ جهاز الاختبار.

لمزيد من المعلومات عن عمليات التثبيت على Firebase، يُرجى الاطّلاع على إدارة عمليات التثبيت على Firebase.

إدارة تجربتك

سواء أنشأت تجربة باستخدام Remote Config أو أداة إنشاء الإشعارات أو Firebase In-App Messaging، يمكنك بعد ذلك التحقّق من صحة تجربتك وبدءها ومراقبتها أثناء تشغيلها وزيادة عدد المستخدمين المضمّنين في تجربتك قيد التشغيل.

عند اكتمال تجربتك، يمكنك تدوين الإعدادات المستخدَمة في الشكل الفائز، ثمّ طرح هذه الإعدادات لجميع المستخدمين. أو يمكنك إجراء تجربة أخرى.

بدء تجربة

  1. في قسم DevOps والتفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
  2. انقر على مسودة ، ثمّ انقر على عنوان تجربتك.
  3. للتحقّق من أنّ تطبيقك يتضمّن مستخدمين سيتم تضمينهم في تجربتك، وسِّع تفاصيل المسودة وابحث عن رقم أكبر من %0 في قسم الاستهداف والتوزيع (على سبيل المثال، % 1 من المستخدمين الذين يستوفون المعايير).
  4. لتغيير تجربتك، انقر على تعديل.
  5. لبدء تجربتك، انقر على بدء التجربة. يمكنك تشغيل ما يصل إلى 24 تجربة لكل مشروع في الوقت نفسه.

مراقبة تجربة

بعد تشغيل تجربة لفترة من الوقت، يمكنك الاطّلاع على تقدّمها والنتائج التي تحقّقت للمستخدمين الذين شاركوا في تجربتك حتى الآن.

  1. في قسم DevOps والتفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
  2. انقر على قيد التشغيل، ثمّ انقر على عنوان تجربتك أو ابحث عنه. في هذه الصفحة، يمكنك الاطّلاع على إحصاءات مختلفة تم رصدها ووضع نماذج لها حول تجربتك قيد التشغيل، بما في ذلك ما يلي:

    • الفرق بالنسبة المئوية عن المعدّل المرجعي: مقياس لتحسين مقياس معيّن لشكل معيّن مقارنةً بالمعدّل المرجعي. يتم حسابه من خلال مقارنة نطاق قيمة الشكل بنطاق قيمة المعدّل المرجعي.
    • احتمالية تجاوز المعدّل المرجعي: الاحتمالية المقدّرة لتجاوز صيغة معيّنة للمعدّل المرجعي للمقياس المحدّد.
    • observed_metric لكل مستخدم: استنادًا إلى نتائج التجربة، هذا هو النطاق المتوقّع الذي ستقع فيه قيمة المقياس بمرور الوقت.
    • الإجمالي observed_metric: القيمة التراكمية المرصودة لـ المعدّل المرجعي أو الشكل. تُستخدَم هذه القيمة لقياس مدى أداء كل شكل من أشكال التجربة، وتُستخدَم لحساب التحسين، نطاق القيمة، احتمالية تجاوز المعدّل المرجعي، واحتمالية أن يكون الشكل هو الأفضل. استنادًا إلى المقياس الذي يتم قياسه، قد يتم تصنيف هذا العمود على أنّه "المدة لكل مستخدم" أو "الإيرادات لكل مستخدم" أو "معدّل الاحتفاظ بالمستخدمين" أو "معدّل الإحالات الناجحة".
  3. بعد تشغيل تجربتك لفترة من الوقت (7 أيام على الأقل لـ FCM و In-App Messaging أو 14 يومًا لـ Remote Config)، تشير البيانات في هذه الصفحة إلى الصيغة التي تحقق أفضل أداء، إن وُجدت. تتضمّن بعض القياسات رسمًا بيانيًا شريطيًا يعرض البيانات بتنسيق مرئي.

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

بعد تشغيل تجربة لفترة كافية من الوقت بحيث يتوفّر شكل "رائد" أو شكل يحقّق أفضل أداء في ما يتعلّق بمقياس هدفك، يمكنك طرح التجربة على جميع المستخدمين. يتيح لك ذلك اختيار صيغة لنشرها لجميع المستخدمين من الآن فصاعدًا. حتى في حال لم تُنشئ تجربتك شكلاً واضحًا يحقّق أفضل أداء، لا يزال بإمكانك اختيار طرح شكل لجميع المستخدمين.

  1. في قسم DevOps والتفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
  2. انقر على مكتملة أو قيد التشغيل، ثمّ انقر على تجربة تريد طرحها لجميع المستخدمين، وانقر على قائمة السياق () طرح الشكل.
  3. اطرح تجربتك لجميع المستخدمين عن طريق تنفيذ أحد الإجراءَين التاليَين:

    • بالنسبة إلى تجربة تستخدم أداة إنشاء الإشعارات، استخدِم مربّع الحوار طرح الرسالة لإرسال الرسالة إلى المستخدمين المستهدَفين المتبقّين الذين لم يكونوا جزءًا من التجربة.
    • بالنسبة إلى تجربة Remote Config، اختَر شكلاً لتحديد قيم المَعلمات Remote Config التي تريد تعديلها. ستتم إضافة معايير الاستهداف التي تم تحديدها عند إنشاء التجربة كشرط جديد في نموذجك، وذلك للتأكّد من أنّ عملية الطرح لن تؤثر إلا في المستخدمين الذين تستهدفهم التجربة. بعد النقر على مراجعة في "الإعداد عن بُعد" للاطّلاع على التغييرات، انقر على نشر التغييرات لإكمال عملية الطرح.
    • بالنسبة إلى تجربة In-App Messaging ، استخدِم مربّع الحوار لتحديد الصيغة التي يجب طرحها كحملة مستقلة In-App Messaging بعد الاختيار، تتم إعادة توجيهك إلى شاشة إنشاء الرسائل في ميزة "المراسلة داخل التطبيق من Firebase" لإجراء أي تغييرات (إذا لزم الأمر) قبل النشر.

توسيع تجربة

إذا تبيّن لك أنّ التجربة لا تجذب عددًا كافيًا من المستخدمين لكي يتمكّن A/B Testing من تحديد شكل يحقّق أفضل أداء، يمكنك زيادة توزيع تجربتك للوصول إلى نسبة مئوية أكبر من قاعدة مستخدمي التطبيق.

  1. في قسم DevOps والتفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
  2. اختَر التجربة قيد التشغيل التي تريد تعديلها.
  3. في نظرة عامة على التجربة، انقر على قائمة السياق ()، ثمّ انقر على تعديل التجربة قيد التشغيل.
  4. يعرض مربّع الحوار الاستهداف خيارًا لزيادة النسبة المئوية للمستخدمين الذين يشاركون في التجربة قيد التشغيل. اختَر رقمًا أكبر من النسبة المئوية الحالية وانقر على نشر. سيتم طرح التجربة على النسبة المئوية للمستخدمين التي حدّدتها.

تكرار تجربة أو إيقافها

  1. في قسم DevOps والتفاعل ضمن قائمة التنقّل في Firebase وحدة التحكّم، انقر على A/B Testing.
  2. انقر على مكتملة أو قيد التشغيل، ومرِّر المؤشر فوق تجربتك، انقر على قائمة السياق ()، و ثمّ انقر على تكرار التجربة أو إيقاف التجربة.

استهداف المستخدمين

يمكنك استهداف المستخدمين لتضمينهم في تجربتك باستخدام معايير استهداف المستخدمين التالية.

معيار الاستهداف عوامل التشغيل القيم ملاحظة
الإصدار contains,
does not contain,
matches exactly,
contains regex
أدخِل قيمة لإصدار واحد أو أكثر من إصدارات التطبيق التي تريد تضمينها في التجربة.

عند استخدام أي من عوامل التشغيل contains أو does not contain أو matches exactly، يمكنك تقديم قائمة بالقيم مفصولة بفواصل.

عند استخدام عامل التشغيل contains regex ، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع كل سلسلة الإصدار المستهدَفة أو جزء منها. يمكنك أيضًا استخدام العلامتَين ^ و$ لمطابقة بداية سلسلة مستهدَفة أو نهايتها أو السلسلة بأكملها.

شرائح جمهور المستخدمين includes all of,
includes at least one of,
does not include all of,
does not include at least one of
اختَر شريحة جمهور واحدة أو أكثر من شرائح جمهور Analytics لاستهداف المستخدمين الذين قد يتم تضمينهم في تجربتك. قد تستغرِق بعض التجارب التي تستهدف شرائح جمهور Google Analytics بضعة أيام لتجميع البيانات لأنّها تخضع لوقت استجابة معالجة Analytics البيانات. من المرجّح أن تواجه هذا التأخير مع المستخدمين الجدد الذين يتم عادةً تسجيلهم في شرائح الجمهور المؤهّلة بعد 24 إلى 48 ساعة من إنشائها، أو لـ شرائح الجمهور التي تم إنشاؤها مؤخرًا.
خاصية المستخدم للنص:
contains,
does not contain,
exactly matches,
contains regex

للأرقام:
<, ≤, =, ≥, >
تُستخدَم خاصية مستخدم Analytics لاختيار المستخدمين الذين قد يتم تضمينهم في تجربة، مع مجموعة من الخيارات لاختيار قيم خصائص المستخدم.

على العميل، يمكنك ضبط قيم السلسلة فقط لخصائص المستخدم. بالنسبة إلى الشروط التي تستخدم عوامل تشغيل رقمية، تحوِّل خدمة Remote Config قيمة خاصية المستخدم المقابلة إلى عدد صحيح أو عدد عشري.
عند استخدام عامل التشغيل contains regex ، يمكنك إنشاء تعبيرات عادية بتنسيق RE2. يمكن أن يتطابق التعبير العادي مع كل سلسلة الإصدار المستهدَفة أو جزء منها. يمكنك أيضًا استخدام العلامتَين ^ و$ لمطابقة بداية سلسلة مستهدَفة أو نهايتها أو السلسلة بأكملها.
البلد/المنطقة لا ينطبق بلد أو منطقة واحدة أو أكثر من البُلدان أو المناطق المستخدَمة لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة  
اللغات لا ينطبق لغة واحدة أو أكثر من اللغات والمناطق المستخدَمة لاختيار المستخدمين الذين قد يتم تضمينهم في التجربة  
فتح التطبيق للمرة الأولى More than
Less than
Between
استهداف المستخدمين استنادًا إلى أول مرة فتحوا فيها تطبيقك، محدّدة بالأيام
آخر تفاعل مع التطبيق More than
Less than
Between
استهداف المستخدمين استنادًا إلى آخر مرة تفاعلوا فيها مع تطبيقك، محدّدة بالأيام

مقاييس A/B Testing

عند إنشاء تجربتك، يمكنك اختيار مقياس أساسي أو مقياس هدف يُستخدَم لتحديد الشكل الفائز. عليك أيضًا تتبُّع مقاييس أخرى لمساعدتك في فهم أداء كل صيغة من صيغ التجربة بشكلٍ أفضل وتتبُّع المؤشرات المهمة التي قد تختلف لكل صيغة، مثل الاحتفاظ بالمستخدمين واستقرار التطبيق والإيرادات من عمليات الشراء داخل التطبيق. يمكنك تتبُّع ما يصل إلى خمسة مقاييس غير مرتبطة بالهدف في تجربتك.

على سبيل المثال، لنفترض أنّك أضفت عمليات شراء جديدة داخل التطبيق وتريد مقارنة فعالية رسالتَين مختلفتَين "للتشجيع". في هذه الحالة، قد تقرّر اختيار الأرباح من عمليات الشراء كمقياس هدف لأنّك تريد أن يمثّل الشكل الفائز الإشعار الذي أدّى إلى تحقيق أعلى إيرادات من عمليات الشراء داخل التطبيق. ولأنّك تريد أيضًا تتبُّع الشكل الذي أدّى إلى المزيد من الإحالات الناجحة المستقبلية والمستخدمين الذين تم الاحتفاظ بهم، يمكنك إضافة ما يلي في المقاييس الأخرى التي يجب تتبُّعها:

  • إجمالي الإيرادات المقدَّرة لمعرفة مدى اختلاف الإيرادات المجمّعة من عمليات الشراء داخل التطبيق والإيرادات من الإعلانات بين الشكلَين
  • الحفاظ على المستخدمين (يوم واحد) والحفاظ على المستخدمين (من يومَين إلى 3 أيام) والحفاظ على المستخدمين (من 4 إلى 7 أيام) لـ تتبُّع معدّل الحفاظ على المستخدمين يوميًا/أسبوعيًا

توفّر الجداول التالية تفاصيل حول كيفية حساب مقاييس الهدف والمقاييس الأخرى.

مقاييس الهدف

المقياس الوصف
المستخدمون الذين لم يواجههم أي تعطُّل النسبة المئوية للمستخدمين الذين لم يواجهوا أخطاء في تطبيقك التي تم رصدها بواسطة حزمة Firebase Crashlytics SDK أثناء التجربة

ملاحظة: Firebase Crashlytics غير متاح لتطبيقات الويب.

إيرادات الإعلانات المقدَّرة الأرباح المقدَّرة من الإعلانات
الأرباح الإجمالية المقدَّرة القيمة المجمّعة للإيرادات من عمليات الشراء والإيرادات المقدَّرة من الإعلانات
الأرباح من عمليات الشراء القيمة المجمّعة لجميع purchase و in_app_purchase أحداث.
الاحتفاظ بالمستخدمين (يوم واحد) عدد المستخدمين الذين يعودون إلى تطبيقك يوميًا
الاحتفاظ بالمستخدمين (من يومَين إلى 3 أيام) عدد المستخدمين الذين يعودون إلى تطبيقك خلال يومَين إلى 3 أيام
الاحتفاظ بالمستخدمين (من 4 إلى 7 أيام) عدد المستخدمين الذين يعودون إلى تطبيقك خلال 4 إلى 7 أيام
الاحتفاظ بالمستخدمين (من 8 إلى 14 يومًا) عدد المستخدمين الذين يعودون إلى تطبيقك خلال 8 إلى 14 يومًا
الاحتفاظ بالمستخدمين (15 يومًا أو أكثر) عدد المستخدمين الذين يعودون إلى تطبيقك بعد 15 يومًا أو أكثر من آخر مرة استخدموه فيها
first_open حدث Analytics يتم تشغيله عندما يفتح المستخدم تطبيقًا لأول مرة بعد تثبيته أو إعادة تثبيته يُستخدَم كجزء من مسار الإحالة الناجحة

المقاييس الأخرى

المقياس الوصف
notification_dismiss حدث Analytics يتم تشغيله عندما يتم تجاهل إشعار مُرسَل بواسطة أداة إنشاء الإشعارات (على أجهزة Android فقط)
notification_receive حدث Analytics يتم تشغيله عند تلقّي إشعار مُرسَل بواسطة أداة إنشاء الإشعارات أثناء عمل التطبيق في الخلفية (على أجهزة Android فقط)
os_update حدث Analytics يتتبّع وقت تحديث نظام تشغيل الجهاز إلى إصدار جديد.لمزيد من المعلومات، يُرجى الاطّلاع على الأحداث المجمّعة تلقائيًا.

هذا المقياس غير متاح لتطبيقات الويب.

screen_view حدث Analytics يتتبّع الشاشات التي يتم عرضها داخل تطبيقك. لمزيد من المعلومات، يُرجى الاطّلاع على تتبُّع مشاهدات الشاشة.
session_start حدث Analytics يحسب جلسات المستخدمين في تطبيقك. لمزيد من المعلومات، يُرجى الاطّلاع على الأحداث المجمّعة تلقائيًا.