AdMob+Firebase 102 Unity: تحسين سلوك التطبيق بدون تحديث التطبيق

1. مقدمة

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

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

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

وكيف يمكنك تحديد ما إذا كانت رحلة المستخدم في التطبيق تعمل على النحو المطلوب؟ يمكنك الاعتماد على تعليقات المستخدمين في Play Console. ومع ذلك، قد لا تكون دقيقة بما يكفي لاتّخاذ قرار واضح.

ما ستتعلمه

  • كيفية إنشاء مسار إحالة ناجحة في "إحصاءات Google لـ Firebase"
  • كيفية استخدام ميزة "الإعداد عن بُعد عبر Firebase"
  • كيفية إجراء اختبار A/B من Firebase

المتطلبات

  • ‫Unity 2018.4.4f1 أو إصدار أحدث
  • ‫Xcode 10 أو إصدار أحدث (لإنشاء الهدف لنظام التشغيل iOS)
  • حساب Google
  • جهاز اختبار يعمل بالإصدار 5.0 من نظام التشغيل Android أو إصدار أحدث مع كابل USB لتوصيل جهازك، أو Android Emulator يعمل على الجهاز الافتراضي المتوافق مع Android(AVD) مع صورة نظام متوافقة مع "متجر Play" أو Google APIs
  • جهاز iOS أو محاكي يعمل بالإصدار 8.0 من نظام التشغيل iOS أو إصدار أحدث

ما هو تقييمك لمستوى خبرتك في AdMob؟

مبتدئ متوسط متمكّن

ما هو تقييمك لمستوى خبرتك في Firebase؟

مبتدئ متوسط متقدّم

2. إعداد بيئة التطوير

تنزيل الرمز

انقر على الزر التالي لتنزيل كل الرموز البرمجية لهذا الدرس التطبيقي حول الترميز:

فكّ ضغط ملف ZIP الذي تم تنزيله. سيؤدي ذلك إلى فك ضغط مجلد رئيسي باسم admob-firebase-codelabs-unity-master.

...أو استنسِخ مستودع GitHub من سطر الأوامر.

$ git clone https://github.com/googlecodelabs/admob-firebase-codelabs-unity

يحتوي المستودع على أربعة مجلدات على النحو التالي:

  • android_studio_folder.png101-base: الرمز الأولي الذي ستنشئه في هذا الدرس التطبيقي حول الترميز
  • android_studio_folder.png101-complete_and_102-base: الرمز البرمجي المكتمل لهذا الدرس التطبيقي حول الترميز والرمز البرمجي الأساسي للدرس التطبيقي حول الترميز رقم 102
  • android_studio_folder.png102-complete: الرمز المكتمل للدرس التطبيقي حول الترميز رقم 102

تحضير الملفات المطلوبة

تستخدم لعبة اختبار الرسم الرائع عدة رموز برمجية مفتوحة المصدر، وهي مطلوبة لتجميع المشروع وتشغيله.

افتح الوحدة الطرفية وانتقِل إلى دليل الجذر للمستودع. بعد ذلك، شغِّل ./gradlew :prepareThirdPartyFiles (gradlew.bat :prepareThirdPartyFiles على نظام التشغيل Windows) من الوحدة الطرفية لنسخ الملفات المطلوبة إلى المشروع.

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

شغِّل Unity، ثم اختَر "فتح" في شاشة الترحيب. بعد ذلك، اختَر الدليل 101-complete_and_102-base من الرمز الذي نزّلته.

يجب أن يكون المشروع مفتوحًا الآن في Unity.

إضافة مكوّن Google Mobile Ads Unity الإضافي

لعرض إعلانات AdMob على تطبيق Unity، عليك إضافة المكوّن الإضافي Google Mobile Ads Unity إلى المشروع.

  1. نزِّل حزمة المكوّن الإضافي لخدمة "إعلانات Google على الأجهزة الجوّالة" في Unity‏ 3.18.1. (يُرجى العلم أنّ هذا الدرس التطبيقي حول الترميز قد لا يكون متوافقًا مع الإصدار الآخر من المكوّن الإضافي)
  2. في مشروع Unity اختبار الرسم الرائع في المشروع، انتقِل إلى الأصول (Assets) > استيراد الحزمة (Import Package) > حزمة مخصّصة (Custom Package).
  3. استورِد GoogleMobileAds.unitypackage إلى المشروع الذي نزّلته.

عليك أيضًا ضبط معرّف تطبيق يستخدم AdMob. في "محرّر Unity"، اختَر مواد العرض (Assets) > "إعلانات Google على الأجهزة الجوّالة" (Google Mobile Ads) > الإعدادات (Settings) من القائمة.

44fc84fe88235c1f.png

فعِّل AdMob من خلال النقر على مربّع الاختيار مفعَّل ضمن قسم Google AdMob. بعد ذلك، أدخِل معرّف تطبيق AdMob على النحو التالي:

  • نظام تشغيل Android:‏ ca-app-pub-3940256099942544~3048611032
  • نظام تشغيل iOS:‏ ca-app-pub-3940256099942544~2753522596

a6ad7402d4daf330.png

إضافة ملفات إعداد Firebase إلى مشروع Unity

  1. من شاشة النظرة العامة لمشروع اختبار الرسم الرائع، انقر على رمز الإعدادات. 9bacb5ada7cbaaf6.png
  2. ضمن علامة التبويب عام، اختَر كل تطبيق من تطبيقات Android وiOS لتنزيل ملف google-service.json (لنظام Android) وملف GoogleService-Info.plist (لنظام iOS).
  3. انقل ملفَي الإعداد إلى مجلد android_studio_folder.pngAssets في مشروع Unity.

704aa8e97df63c4e.png

إضافة حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Firebase"

  1. نزِّل Firebase Unity SDK 5.5.0 وفكّ ضغطها في مكان مناسب. (يمكنك تخطّي هذه الخطوة إذا سبق لك تنزيل حزمة SDK)
  2. افتح مشروع Unity اختبار الرسم الرائع، وانتقِل إلى الأصول (Assets) > استيراد الحزمة (Import Package) > الحزمة المخصّصة (Custom Package).
  3. من حزمة تطوير البرامج (SDK) التي تم فك ضغطها، استورِد حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Firebase" (dotnet4/FirebaseAnalytics.unitypackage).
  4. في نافذة "استيراد حزمة Unity"، انقر على استيراد.

3- فتح مشروع Firebase من وحدة التحكّم

قبل الانتقال إلى الخطوة التالية، افتح المشروع من وحدة تحكّم Firebase الذي أنشأته في خطوة "إعداد مشروع Firebase" من الدرس التطبيقي حول الترميز AdMob+Firebase الدليل الإرشادي.

e0a028059c9e00cb.png

4. إنشاء مسار إحالة ناجحة لأحداث التطبيق

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

ومع ذلك، ماذا لو أردت الاطّلاع على معدّل إكمال سلسلة من الأحداث، بدلاً من التركيز على حدث معيّن؟ في "إحصاءات Google لـ Firebase"، يمكنك استخدام مسار الإحالة الناجحة لإنشاء تمثيل بصري لمعدّل اكتمال سلسلة من أحداث التطبيق وتحسينه.

إنشاء مسار إحالة ناجحة

لإنشاء مسار إحالة ناجحة:

  1. انتقِل إلى وحدة تحكّم Firebase واختَر مشروع اختبار الرسم الرائع الذي أنشأته سابقًا.
  2. انقر على المسارات الإعلانية.
  3. انقر على مسار إحالة ناجحة جديد.
  4. أدخل اسمًا ووصفًا لمسار الإحالة الناجحة.
  5. اختر أول حدثين تريد استخدامهما كخطوتين في مسار الإحالة الناجحة.
  6. انقر على إضافة حدث آخر لكل خطوة إضافية، واختر حدثًا.
  7. انقر على إنشاء.

باتّباع الخطوات أعلاه، أنشئ المسارات الإحالية التالية:

اسم مسار الإحالة الناجحة 1: معدّل النجاح في المستوى الأحداث: level_start وlevel_successd3bc78ef61a261d7.png

‫2. اسم مسار الإحالة الناجحة: نسبة إكمال الإعلان مقابل مكافأة الأحداث: ad_reward_prompt وad_reward_impression وad_reward45c9542dfa663014.png

‫3 اسم مسار الإحالة الناجحة: معدّل إكمال اللعبة الأحداث: game_start وgame_completedab25e8501746d5f.png

عرض تحليل مسار الإحالة الناجحة

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

620c0e84587c8ad4.png

على سبيل المثال، انقر على معدّل النجاح في المستوى. ستظهر تفاصيل مسار الإحالة الناجحة على النحو التالي:

c889f9b6ece15847.png

من لقطة الشاشة أعلاه، يمكنك الاطّلاع على النسبة المئوية للمستخدمين الذين اجتازوا مستوى معيّنًا (بدأوا الحدث level_success) بعد بدء مستوى معيّن (بدأوا الحدث level_start). في هذا المثال، يمكنك ملاحظة أنّ% 46.2 من المستخدمين اجتازوا المستوى.

بعد النقر على عدد الأحداث، ستظهر المقاييس استنادًا إلى عدد الأحداث على النحو التالي:

d044fb7b07e6e0d9.png

استنادًا إلى المقاييس الواردة في لقطة الشاشة أعلاه، تم تسجيل 116 محاولة (تم تشغيل حدث level_start) و57 عملية إكمال (تم تشغيل حدث level_success) خلال الفترة المحدّدة.

بما أنّ معدّل الإكمال استنادًا إلى الأحداث(49.1%) أعلى قليلاً من المعدّل استنادًا إلى المستخدم(46.2%)، يمكنك القول إنّ هناك عددًا قليلاً من الأشخاص الذين يحقّقون أداءً أفضل من غيرهم.

5- دمج ميزة "الإعداد عن بُعد" في التطبيق

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

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

في هذا الدرس العملي، ستتعرّف على كيفية ضبط مقدار المكافأة (عدد الأحرف التي سيتم الكشف عنها بعد مشاهدة "إعلان الفيديو مقابل مكافأة") بدون تحديث التطبيق باستخدام "الإعداد عن بُعد".

إضافة حزمة تطوير البرامج (SDK) لميزة "الإعداد عن بُعد عبر Firebase"

  1. نزِّل Firebase Unity SDK 5.5.0 وفكّ ضغطها في مكان مناسب.
  2. افتح مشروع Unity اختبار الرسم الرائع، وانتقِل إلى الأصول (Assets) > استيراد الحزمة (Import Package) > الحزمة المخصّصة (Custom Package).
  3. من حزمة SDK التي تم فك ضغطها، استورِد حزمة SDK لميزة "الإعداد عن بُعد" (dotnet4/FirebaseRemoteConfig.unitypackage).
  4. في نافذة "استيراد حزمة Unity"، انقر على استيراد.

استيراد Firebase.RemoteConfig

عدِّل ملف Main.cs للسماح لك باستخدام النوع من Firebase.RemoteConfig بدون الحاجة إلى استخدام الاسم المؤهَّل بالكامل.

Scenes/Main.cs

...

using AwesomeDrawingQuiz.Game;

// TODO: Import Firebase.RemoteConfig (102)
using Firebase.RemoteConfig;

namespace AwesomeDrawingQuiz.Scene {
    ...
}

بدء الإعداد واسترجاع قيم "الإعداد عن بُعد"

عدِّل طريقة InitAndFetchRemoteConfig() في Main.cs لتهيئة مثيل "الإعداد عن بُعد" على النحو التالي. يُرجى العِلم أنّ GameSettings.KEY_REWARD_AMOUNT يتضمّن اسم المَعلمة في "الإعداد عن بُعد". (ستحدّد هذا الحقل قريبًا في هذا الدرس التطبيقي حول الترميز)

Scenes/Main.cs

private Task InitAndFetchRemoteConfig() {
    // TODO: Initialize and Fetch values from the Remote Config (102)
    Dictionary<string, object> defaults = new Dictionary<string, object>();
    defaults.Add(GameSettings.KEY_REWARD_AMOUNT, 1);
    FirebaseRemoteConfig.SetDefaults(defaults);

    if (Debug.isDebugBuild) {
        ConfigSettings config = new ConfigSettings();
        config.IsDeveloperMode = true;
        FirebaseRemoteConfig.Settings = config;
        return FirebaseRemoteConfig.FetchAsync(System.TimeSpan.Zero);
    } else {
        return FirebaseRemoteConfig.FetchAsync();
    }
}

ستلاحظ أنّه تم ضبط نسخة FirebaseRemoteConfig الافتراضية على استرجاع أحدث القيم من الخادم في وضع تصحيح الأخطاء للمساعدة في عملية التطوير. (IsDeveloperMode = true وFetchAsync(System.TimeSpan.Zero))

تفعيل قيم "الإعداد عن بُعد" التي تم استرجاعها

عند استرجاع قيم "الإعداد عن بُعد" بنجاح، عليك تفعيل هذه القيم لإتاحتها في التطبيق. عدِّل طريقة ActivateRemoteConfigValues() على النحو التالي.

Scenes/Main.cs

private void ActivateRemoteConfigValues() {
    // TODO: Activate fetched Remote Config values (102)
    FirebaseRemoteConfig.ActivateFetched();
}

تعديل طريقة Start()‎

لجعل التطبيق يسترجع قيمة "الإعداد عن بُعد" ويفعّلها عند تشغيل التطبيق، عدِّل طريقة Start() في ملف Main.cs على النحو التالي.

Scenes/Main.cs

void Start () {
    ...
    Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
        ...
    }).ContinueWith(task => { 
        // TODO: Call InitAndFetchRemoteConfig() (102)
        InitAndFetchRemoteConfig();
    }).ContinueWith(task => {
        // TODO: Call ActivateRemoteConfigValues() (102)
        ActivateRemoteConfigValues();

        // Enable 'Start a game' button
        UnityMainThreadDispatcher.Instance()
            .Enqueue(() => buttonStartGame.interactable = true);
    });
    #else
    QuizAnalytics.SetScreenName(QuizAnalytics.SCREEN_MAIN);

    // TODO: Call InitAndFetchRemoteConfig() (102)
    InitAndFetchRemoteConfig().ContinueWith(task => {
        // TODO: Call ActivateRemoteConfigValues() (102)
        ActivateRemoteConfigValues();
    });
    #endif
}

استرجاع قيمة المكافأة من ميزة "الإعداد عن بُعد"

عدِّل فئة GameSettings لاسترداد قيمة المكافأة من ميزة "الإعداد عن بُعد".

Game/GameSettings.cs

// TODO: Import Firebase.RemoteConfig (102)
using Firebase.RemoteConfig;

namespace AwesomeDrawingQuiz.Game {
    public class GameSettings {

        ...
        
        // TODO: Apply reward amount from the Remote Config (102)
        public const string KEY_REWARD_AMOUNT = "reward_amount";

        public static GameSettings Instance {
            get {
                return instance;
            }
        }

        ...

        public int RewardAmount {
            get {
                // TODO: Apply reward amount from the Remote Config (102)
                return (int) FirebaseRemoteConfig.GetValue(KEY_REWARD_AMOUNT).LongValue;
            }
            private set { }
        }
    }
}

إنشاء مَعلمة "الإعداد عن بُعد" من وحدة التحكّم

بعد ذلك، ستنشئ مَعلمة جديدة في "الإعداد عن بُعد" لمبلغ المكافأة حتى تتمكّن من تعديل قيمتها في أي وقت.

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

7f52617141c53726.png

أطلِق على المَعلمة الاسم reward_amount واضبط قيمتها التلقائية على 1. بعد ذلك، انقر على الزر إضافة مَعلمة.

cbc771fd1685b29c.png

انقر على الزر نشر التغييرات لإتاحة التغيير للمستخدمين.

d6a6aa4a60e06ee9.png

6. تغيير سلوك التطبيق باستخدام ميزة "الإعداد عن بُعد"

يمكن الآن ضبط قيمة المكافأة في لعبة "اختبار الرسم الرائع" على وحدة تحكّم Firebase بدون الحاجة إلى تعديل رمز التطبيق.

في هذا القسم، ستغيّر مبلغ المكافأة من 1 إلى 2 لكي يكشف التطبيق عن حرفين إضافيين كتلميح بعد مشاهدة "إعلان مقابل مكافأة".

تعديل القيمة التلقائية للمعلمة reward_amount

انتقِل إلى وحدة تحكّم Firebase، ثم اختَر مشروع اختبار الرسم الرائع الذي أنشأته سابقًا. انقر على الإعداد عن بُعد، ثمّ انقر على reward_amount من القائمة. بعد ذلك، غيِّر القيمة التلقائية إلى 2 ثم انقر على الزر تعديل.

9a9bd8a26a39bfe3.png

انقر على الزر نشر التغييرات لإتاحة التغيير للمستخدمين.

d6a6aa4a60e06ee9.png

التحقّق من تغيير سلوك التطبيق

لتأكيد تغيير سلوك التطبيق، شغِّل المشروع مرة أخرى. بعد الانتهاء من مشاهدة "إعلان مقابل مكافأة"، ستلاحظ أنّ التطبيق يعرض الآن حرفين كمكافأة، كما ضبطنا في وحدة تحكّم "الإعداد عن بُعد".

قبل مشاهدة "إعلان مقابل مكافأة"

تم الكشف عن حرفَين إضافيَين كمكافأة

7. إنشاء التجربة لتحسين مبلغ المكافأة

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

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

تصميم التجربة

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

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

في هذا الدرس التطبيقي حول الترميز، ستنشئ تجربة لتحسين قيمة مبلغ المكافأة من أجل زيادة تفاعل المستخدمين اليومي مع تطبيق Awesome Drawing Quiz إلى أقصى حد.

إنشاء التجربة

افتح مشروع "اختبار الرسم الرائع" من وحدة تحكّم Firebase. اختَر قائمة اختبار A/B، ثمّ انقر على الزرّ إنشاء تجربة.

اختَر الإعداد عن بُعد لإنشاء تجربة الإعداد عن بُعد.

f38a85328ab54e7e.png

أطلِق على التجربة اسم "مقدار المكافأة" كما هو موضّح في لقطة الشاشة التالية.

15d552adb61c0b08.png

اضبط خيارات الاستهداف. في هذا الدرس التطبيقي حول الترميز، ستستهدف% 100 من مستخدمي تطبيق اختبار الرسم الرائع.

61b316741a63050f.png

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

694641b57d90ff65.png

أخيرًا، اضبط مجموعة عنصر التحكّم ومجموعة الصيغة حتى تتمكّن من معرفة المجموعة الأفضل أداءً. اختَر reward_amount من مجموعة التحكّم، واترك قيمتها بدون تغيير. بالنسبة إلى مجموعة الأسعار المتغيرة، أطلق عليها اسم "مكافأة أقل"، ثم غيِّر قيمة reward_amount إلى 1.

10ed7f5b06858519.png

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

بعد النقر على الزر مراجعة، سيظهر لك نظرة عامة على التجربة على النحو التالي.

ae6477ce79f6265d.png

إجراء التجربة

انقر على الزر بدء التجربة لتنفيذ التجربة. يُرجى العلم أنّه لا يمكنك تغيير إعدادات التجربة بعد بدئها.

7131bf9b4fa74fa5.png

8. إدارة التجربة

عرض مستوى تقدّم التجربة

يمكنك الاطّلاع على مستوى تقدّم التجربة من قائمة اختبار A/B في وحدة تحكّم Firebase، والتي ستظهر على النحو التالي في لقطة الشاشة. يُرجى العِلم أنّه يمكنك أيضًا الاطّلاع في البطاقة على عدد المستخدمين الذين شاركوا في التجربة خلال آخر 30 دقيقة.

8a7009bdd8871d95.png

بعد النقر على التجربة من القائمة، يمكنك الاطّلاع على تفاصيل التجربة. إلى أن تتمكّن التجربة من تحديد القائد (أي السعر المتغير الأفضل أداءً)، ستظهر لك الرسالة "لم يحِن الوقت بعد لتحديد القائد".

a4e7ca3e3f4711cd.png

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

e2d00fc27c053fd3.png

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

c3859d642f85cc52.png

طرح القائد لجميع المستخدمين

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

86cb6a6c07516634.png

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

في شاشة تفاصيل التجربة، انقر على قائمة السياق ( 73afe611adf58774.png)، ثم انقر على طرح الإصدار المتغير.

374e1c72be1d0656.png

اختَر صيغة لطرحها على جميع المستخدمين، ثم انقر على الزر مراجعة في ميزة "الإعداد عن بُعد" لمراجعة التغييرات قبل إجراء تغيير في ميزة "الإعداد عن بُعد".

e176f6e6a72c754.png

بعد التأكّد من أنّ المسودة لا تتضمّن أي مشكلة، انقر على الزر نشر التغييرات لتصبح متاحة لجميع المستخدمين.

d65d545620ce93f6.png

9- أكملت الخطوات بنجاح

لقد أكملت الدرس التطبيقي حول الترميز بعنوان AdMob+Firebase 102 Unity Codelab. يمكنك العثور على الرمز البرمجي المكتمل لهذا الدرس التطبيقي حول الترميز في المجلد android_studio_folder.png102-complete.