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

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

إذا كنت تستخدم لون علامتك التجارية، فتأكد من أنه يعمل بشكل جيد مع خلفية واجهة المستخدم.
الحركة
الخيار 1: مع ساعة على الشاشة الرئيسية
- دخول الأرقام إلى الشاشة
- حيث تتحرك الأرقام إلى الوسط مع تقليل حجمها. يظهر إطار الهاتف الجوّال.
- ينخفض حجم الهاتف. تبدأ الأشكال بالظهور على الشاشة.
- اكتملت الصورة المتحركة. تستمر الأشكال في التحرك بلطف.
![]() |
![]() |
الخيار 2: عدم ظهور ساعة على الشاشة الرئيسية
- يدخل الهاتف الجوّال إلى الشاشة.
- ينتقل الهاتف إلى الوسط مع زيادة حجمه. تبدأ الأشكال في دخول الشاشة.
- يصل الهاتف إلى الحد الأقصى للحجم وتستمر الأشكال في التحرك.
![]() |
![]() |
شاشة العرض
تُبرز كل شاشة ميزة في نظام التشغيل الجديد.
التنسيق

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

تتألف الصورة المتحركة للجهاز دائمًا من:
- نصف دائرة في الخلفية (بالإضافة إلى أشكال متحركة)
- إطار الجهاز
- محتوى واجهة المستخدم
التصميم
- اختَر لون خلفية يناسب واجهة المستخدم وينسجم مع المحتوى والمظهر العام.
- استخدِم شكل نصف دائرة.
الحركة
اتّبِع الخطوات المعتادة لعرض الرسوم المتحركة على شاشة النهاية:
- يتحرك الهاتف الجوّال للأعلى قليلاً.
- تظهر دائرة في الخلفية.
- تظهر أشكال من خلف الهاتف الجوّال.
- تطير الأشكال من الخلفية مثل قصاصات ورق ملونة.
![]() |
![]() |
بدء عملية الترقية باستخدام حزمة SDK
يرسل نظام التشغيل Android تلقائيًا إشعارًا فوريًا للمستخدمين يعرض مسارًا مكوّنًا من بطاقات يعرض أحدث الميزات فور تحديثهم للنظام. إذا كنت تفضّل بدء المسار من إشعار فوري أو تطبيق، استخدِم حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
المتطلّبات الأساسية
تأكَّد من أنّ ملف إنشاء تطبيقك يستخدم القيم التالية:
-
minSdkVersion
من 14 عامًا أو أكثر -
compileSdkVersion
من 28 عامًا أو أكثر
ضبط إعدادات تطبيقك
- استخرِج المكتبة من ملف ZIP المقدَّم، ثم وضعها في المستودع.
أضِف التبعيات لحزمة تطوير البرامج (SDK) لبرنامج "نمو Google" إلى ملف Gradle على مستوى التطبيق في وحدتك، وعادةً ما يكون
app/build.gradle
:dependencies { implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar') }
أدرِج المكتبات التالية كموارد تابعة:
com.google.android.gms:play-services-base:18.0.1 com.google.android.gms:play-services-basement:18.0.0 com.google.android.gms:play-services-tasks:18.0.1
استخدام واجهة برمجة التطبيقات
لإعداد عميل، استخدِم فئة
UpgradeParty
واضبط المَعلمةactivity
.import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);
يعرِض UpgradePartyClient
الناتج وظيفة واجهة برمجة التطبيقات.
isEligibleForUpgradeParty
Task<Boolean> isEligibleForUpgradeParty();
تعرِض هذه السمة عنصر Task
يتحقّق بشكل غير متزامن مما إذا كان المستخدم مؤهلاً للاستفادة من ميزة
ترقية جماعيّة. تشير القيمة المنطقية الناتجة إلى ما إذا كان المستخدم
مؤهلاً أم لا.
invokeUpgradeParty
Task<Void> invokeUpgradeParty();
تنشئ حدث ترقية Activity
. يشير عنصر Task
الناتج إلى
ما إذا كان قد حدث خطأ عند بدء النشاط.
الأخطاء
يمكن أن تتعذّر تنفيذ كلتا طريقتَي واجهة برمجة التطبيقات مع ظهور استثناء من النوع
com.google.android.gms.common.api.ApiException
. وفي هذه الحالات، يُتوقّع من المتصل
إعادة المحاولة في وقت لاحق.
تشمل رموز الحالة الشائعة المتوقّعة ما يلي:
INTERNAL_ERROR
: يمثل أي خطأ في تدفُّق المنطق الأساسي.TIMEOUT
: تظهر عندما تتعذّر معالجة الطلب في الوقت المناسب.API_NOT_CONNECTED
: يعني ذلك أنّ واجهة برمجة التطبيقات غير متاحة (على سبيل المثال، وحدةUpgradeParty
غير جاهزة بعد).DEVELOPER_ERROR
: يظهر هذا الرمز عندما لا يُسمح لحزمة الاتصال بالوصول إلى صفUpgradeParty
.
مثال على حزمة تطوير البرامج (SDK)
اطّلِع على المثال التالي لتطبيق يستدعي حزمة تطوير البرامج (SDK):
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.google.android.gms.growth.UpgradeParty;
import com.google.android.gms.growth.UpgradePartyClient;
public class SampleActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final UpgradePartyClient client = UpgradeParty.getClient(this);
// Hide the invocation button initially
View startUpgradePartyButton = findViewById(R.id.__some_button__);
startUpgradePartyButton.setVisibility(View.GONE);
// Register an onClick handler to invoke the Upgrade Party Activity
startUpgradePartyButton
.setOnClickListener(
view -> {
client
.invokeUpgradeParty()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
}
});
});
}
// Check if eligible for an Upgrade Party
client
.isEligibleForUpgradeParty()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
} else {
// Show/Hide invocation button, based on the result
int visibility =
task.getResult() ? View.VISIBLE : View.GONE;
startUpgradePartyButton..setVisibility(visibility);
}
});
}
اختبار مسار جهة الترقية
اتّبِع الخطوات التالية لاختبار مسار " عملية الترقية" الذي يظهر للمستخدمين عند ترقية نظام التشغيل Android:
- على جهاز Android التجريبي، انتقِل إلى الإعدادات > Google > تصحيح أخطاء Upgrade Party.
- اختَر الإبلاغ عن الترقية، ثم فتح جهة الترقية. يؤدي ذلك إلى بدء المسار المناسب استنادًا إلى إصدار نظام التشغيل على الجهاز. على سبيل المثال، يتم تشغيل ميزة "ترقية Android 12" على جهاز يعمل بنظام التشغيل Android 12.