قصة نجاح فريق "تقويم Android" في تحسين بدء تشغيل التطبيقات وتعطُّلها باستخدام "الملفات الشخصية الأساسية"

تعمل الملفات الشخصية الأساسية على تحسين سرعة تنفيذ الرموز البرمجية بنسبة تصل إلى 30% من خلال تجنُّب الترجمة الفورية وتجميع البيانات في الوقت الفعلي (JIT) الخطوات لرحلات المستخدم الشائعة. تتيح لك الملفات الشخصية الأساسية اختيار تجارب المستخدمين تريد تحسينها ويمكن أن تساعد في تحسين عملية بدء تشغيل التطبيق وتقليل الأعطال وغير ذلك يؤدّي بدوره إلى تحسين مقاييس النشاط التجاري، مثل الحفاظ على المستخدِمين والتقييمات. مزيد من المعلومات حول Baseline الملفات الشخصية:

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

الملفات الشخصية على السحابة الإلكترونية مقابل الملفات الشخصية الأساسية

كان فريق "تقويم Android" يستخدم السحابة الإلكترونية الملفات الشخصية، التي هي طريقة أخرى للتحسين الإرشادي للملف الشخصي استنادًا إلى المستخدم الفعلي والتفاعلات مع التطبيق. إليك طريقة عمل الملفات الشخصية على السحابة الإلكترونية والملفات الشخصية الأساسية مقارنة:

نوع الملف الشخصي إعداد رحلات المستخدم متضمنة تعمل بشكلٍ أفضل عندما تكون قاعدة المستخدمين تم تحقيق التأثير إصدارات Android المتوافقة

الملفات الشخصية في السحابة الإلكترونية

مفعَّلة تلقائيًا

يتم اختيارها تلقائيًا استنادًا إلى بيانات المستخدم الفعلي

كبير

خلال يومين

Android 9 (المستوى 28 من واجهة برمجة التطبيقات) والإصدارات الأحدث

الملفات الشخصية المرجعية

أنت ضبطت هذا الإعداد

الاقتراح الذي اخترته

جميع الأحجام

فورًا

Android 7 (المستوى 24 من واجهة برمجة التطبيقات) والإصدارات الأحدث

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

بالإضافة إلى ذلك، كان من المهم أن يتمكن فريق تقويم Android من اختيار رحلات المستخدم المهمة (CUJs) التي يتم تضمينها على وجه التحديد في الذي يمكنك تنفيذه باستخدام "الملفات الشخصية الأساسية".

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

رحلات المستخدم متضمنة

اختار فريق "تقويم Android" تضمين خدمتَي CUJ في ملفاتهم الشخصية الأساسية:

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

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

التنفيذ

يستخدم فريق تقويم Android برنامج تضمين داخليًا مكتبة أجهزة Jetpack وحدات قياس الأداء لإنشاء ملفات شخصية أساسية لتسهيل الدمج مع الأدوات الداخلية قابلية التوسع العامة.

في ما يلي إعدادات اختبار مقياس أداء الماكرو لفتح التطبيق وفقًا للجدول الزمني العرض:

@Test
fun generateProfile() =
    baselineProfileRule.collect(PACKAGE_NAME, includeInStartupProfile = true) {
        startActivityAndWait()
        // Verify pre-existing recurring events and tasks are shown.
        device.waitAndFindObject(By.text("Recurring event"), 20_000)
        device.waitAndFindObject(By.text("Recurring task"), 20_000)

        // Open drawer and verify selected view.
        device.findObject(By.desc("Show Calendar List and Settings drawer")).click()
        device.waitAndFindObject(By.desc("Schedule view, Selected"), 1_000)
    }

قياس التأثير باستخدام الإصدارات الخاضعة للرقابة

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

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

  • انخفض متوسط وقت الاستجابة لبدء تشغيل التطبيق التفاعلي (السيناريو الأكثر شيوعًا) من من 775 ملي ثانية إلى 644 ملي ثانية (17%)
  • انخفض متوسط وقت استجابة التشغيل على البارد من 1,058 ملي ثانية إلى 901 ملي ثانية (15%).
  • انخفض متوسط وقت استجابة إعادة التشغيل البطيء من 453 ملي ثانية إلى 378 ملي ثانية (17%).
  • انخفض متوسط عدد اللقطات غير الصالحة في الثانية بنسبة تتراوح بين 42 و 60% في عدد المشاهدات حسب الجدول الزمني وفي الشهر.

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

لمزيد من المعلومات عن الأدوات والميزات، يُرجى الاطّلاع على المراجع التالية: