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

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

لإجراء اختبار A/B لمتغيرات الميزات ذات الخط الأساسي، قم بما يلي:

  1. قم بإنشاء تجربتك.
  2. التحقق من صحة تجربتك على جهاز اختبار.
  3. إدارة تجربتك.

قم بإنشاء تجربة

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

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

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

  2. في قسم المشاركة في قائمة التنقل لوحدة تحكم Firebase ، انقر فوق اختبار A/B .

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

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

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

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

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

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

  9. لإضافة متغير إلى تجربتك، انقر فوق إضافة متغير . بشكل افتراضي، تحتوي التجارب على خط أساس واحد ومتغير واحد.

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

  11. (اختياري) في الجزء العلوي من قسم المتغيرات ، انقر فوق الزر مقارنة المتغيرات لمقارنة متغيرات أخرى للرسالة جنبًا إلى جنب مع الرسالة الأساسية.

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

  13. تكوين الجدول الزمني للتجربة:

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

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

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

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

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

    سويفت

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

    ج موضوعية

    [[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+KTX

    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")
            }
        }
  2. في شريط التنقل بوحدة تحكم Firebase ، انقر فوق اختبار A/B .
  3. انقر فوق مسودة (و/أو تشغيل تجارب التكوين عن بُعد)، وقم بالتمرير فوق تجربتك، وانقر فوق قائمة السياق ( )، ثم انقر فوق إدارة أجهزة الاختبار .
  4. أدخل رمز مصادقة التثبيت لجهاز اختبار واختر متغير التجربة لإرساله إلى جهاز الاختبار هذا.
  5. قم بتشغيل التطبيق وتأكد من استلام المتغير المحدد على جهاز الاختبار.

لمعرفة المزيد حول عمليات تثبيت Firebase، راجع إدارة عمليات تثبيت Firebase .

إدارة تجربتك

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

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

ابدأ التجربة

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

مراقبة التجربة

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

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

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

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

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

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

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

قم بتوسيع تجربة

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

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

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

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

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

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

معيار الاستهداف العاملين) قيم) ملحوظة
إصدار يتضمن،
لا يحتوي،
يتطابق تمامًا،
يحتوي على ريكس
أدخل قيمة لإصدار واحد أو أكثر من إصدارات التطبيق التي تريد تضمينها في التجربة.

عند استخدام أي من العوامل التي تحتوي على أو لا تحتوي على أو تتطابق تمامًا مع عوامل التشغيل، يمكنك توفير قائمة قيم مفصولة بفواصل.

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

جمهور (جماهير) المستخدمين يشمل كل من،
يتضمن واحدًا على الأقل من،
لا يشمل الكل،
لا يتضمن واحدًا على الأقل من
حدد شريحة جمهور Analytics واحدة أو أكثر لاستهداف المستخدمين الذين قد يتم تضمينهم في تجربتك. قد تتطلب بعض التجارب التي تستهدف جماهير Google Analytics بضعة أيام لتجميع البيانات لأنها تخضع لوقت استجابة معالجة البيانات في Analytics. من المرجح أن تواجه هذا التأخير مع المستخدمين الجدد، الذين يتم تسجيلهم عادةً في الجماهير المؤهلة بعد 24 إلى 48 ساعة من الإنشاء، أو مع الجماهير التي تم إنشاؤها مؤخرًا .
خاصية المستخدم للنص:
يتضمن،
لا يحتوي،
يتطابق تمامًا،
يحتوي على ريكس

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

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

مقاييس اختبار أ/ب

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

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

  • إجمالي الإيرادات المقدرة لمعرفة مدى اختلاف عمليات الشراء داخل التطبيق وعائدات الإعلانات بين المتغيرين
  • الاحتفاظ (يوم واحد) ، الاحتفاظ (2-3 أيام) ، الاحتفاظ (4-7 أيام) لتتبع الاحتفاظ بالمستخدمين اليومي/الأسبوعي

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

مقاييس الهدف

قياس وصف
مستخدمين خاليين من الأعطال النسبة المئوية للمستخدمين الذين لم يواجهوا أخطاء في تطبيقك تم اكتشافها بواسطة Firebase Crashlytics SDK أثناء التجربة.
عائدات الإعلانات المقدرة أرباح الإعلانات المقدرة.
إجمالي الإيرادات المقدرة القيمة المجمعة للشراء وعائدات الإعلانات المقدرة.
إيرادات الشراء القيمة المجمعة لجميع أحداث purchase و in_app_purchase .
الاحتفاظ بالبيانات (يوم واحد) عدد المستخدمين الذين يعودون إلى تطبيقك يوميًا.
الاحتفاظ (2-3 أيام) عدد المستخدمين الذين يعودون إلى تطبيقك خلال 2-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 يحسب جلسات المستخدم في تطبيقك. لمعرفة المزيد، راجع الأحداث المجمعة تلقائيًا .