'הזמנה לשדרוג' הוא תהליך משתמש שמציג את התכונות החדשות העיקריות שכלולות בשדרוג המשמעותי הנוכחי של Android OS.
התהליך נועד לעזור לשכנע את המשתמשים לשדרג את המכשיר לגרסת מערכת ההפעלה העדכנית ביותר.
כשיש עדכון מערכת הפעלה במכשיר שממתין לאישור המשתמש, המשתמשים מקבלים התראה ב-push עם פירוט התכונות החדשות והזמנה לבצע את השדרוג.
יצרני מכשירים יכולים להפעיל את Upgrade Party במכשירים שלהם עם מערכת ההפעלה Android, על ידי שליחת הטופס לבקשת הפעלת הזמנה לשדרוג ל-Android.
התאמה אישית של חוויית ההזמנה לשדרוג
אתם יכולים להתאים אישית את חוויית ההזמנה לשדרוג בדרכים הבאות:
- מסירים תכונות לא רלוונטיות.
- מעדכנים את השפה בקטעי הטקסט.
- משנים את האנימציות, הצבעים והגופנים כך שיתאימו למותג שלכם.
כדי להתאים אישית את התהליך, כדאי לעיין בהנחיות שמפורטות במדריך הסגנון של הזמנות לשדרוג ולכלול את פרטי ההתאמה האישית בתשובה לטופס.
מדריך סגנון להזמנות לשדרוג
בעזרת מדריך הסגנון הזה תוכלו לשנות את המראה של ההזמנה לשדרוג כך שיתאים למותג שלכם (מסכים, צבעים, גופנים). מומלץ מאוד לשמור על גדלים ומבנה דומים לעיצוב המקורי.
תהליך ההזמנה לשדרוג כולל את שלושת הרכיבים הבאים:
- מסך הפתיחה
- מסך התכונות
- מסך הסיום
אנימציה בכל מסך עוזרת להסביר כל תכונה.
מסך הפתיחה
מסך הפתיחה מכיל אנימציה קצרה שמקבלת את פני המשתמש ומעודדת אותו להתחיל את התהליך שמוצג במסך הפתיחה.
פריסה

אנימציית המכשיר תמיד מורכבת מ:
- רקע לבן וצורות צבעוניות
- מסגרת המכשיר
- תוכן של ממשק משתמש
עיצוב
אם בוחרים להתאים את הסגנון ל-Material You, אפשר להשתמש בצבעים ובצורות שמוגדרים כברירת מחדל בדוגמה.

אם אתם משתמשים בצבע מותג משלכם, חשוב לוודא שהוא משתלב היטב עם הרקע של ממשק המשתמש.
תנועה
אפשרות 1: עם שעון במסך הבית
- המספרים מופיעים במסך.
- המספרים נעים למרכז ומצטמצמים בגודל. מסגרת הטלפון הנייד מופיעה.
- הטלפון קטן יותר. הצורות מתחילות להופיע במסך.
- האנימציה מסתיימת. הצורות ממשיכות לנוע בעדינות.
![]() |
![]() |
אפשרות 2: אין שעון במסך הבית
- הטלפון הנייד נכנס למסך.
- הטלפון עובר למרכז ומגדיל את הגודל שלו. הצורות מתחילות להיכנס למסך.
- הטלפון מגיע לגודל המקסימלי והצורות ממשיכות לזוז.
![]() |
![]() |
מסך התכונות
בכל מסך תכונות מודגשת תכונה במערכת ההפעלה החדשה.
פריסה

אנימציית המכשיר תמיד מורכבת מהפרטים הבאים:
- רקע צבעוני
- מסגרת המכשיר
- תוכן של ממשק משתמש
עיצוב
- בוחרים צבע רקע שמתאים לתוכן של ממשק המשתמש ולמראה הכללי.
- במסכים, מגדירים גדלי גופן שקל לקרוא. אם צריך, מגדירים גדלי גופן גדולים יותר.
תנועה
מתעדים אנימציה של התהליך של כל תכונה, כולל אינטראקציות מגע. מייצאים את ההקלטות כקובצי Lottie.
מסך הסיום
מסך הסיום משלים את התהליך. הוא מציין למשתמשים שהם עברו את כל המסכים.
פריסה

אנימציית המכשיר תמיד מורכבת מהפרטים הבאים:
- חצי עיגול ברקע (פלוס צורות מונפשות)
- מסגרת המכשיר
- תוכן של ממשק משתמש
עיצוב
- בוחרים צבע רקע שמתאים לתוכן של ממשק המשתמש ולמראה הכללי.
- משתמשים בצורת חצי עיגול.
תנועה
פועלים לפי תהליך האנימציה הרגיל של מסך הסיום:
- הטלפון הנייד זז מעט למעלה.
- עיגול מופיע ברקע.
- צורות מופיעות מאחורי הטלפון הנייד.
- הצורות עפות מהרקע כמו קונפטי.
![]() |
![]() |
בדיקת תהליך ההזמנה לשדרוג
- במכשיר Android, עוברים אל: הגדרות > Google > ניפוי באגים של צד העדכון.
- מכינים את הטריגר להזמנה לשדרוג למערכת ההפעלה הרלוונטית של המכשיר (בהתאם לגרסה הנוכחית של מערכת ההפעלה ולתהליך הספציפי של ההזמנה לשדרוג שרוצים לבדוק). אחת משתי האפשרויות:
- לוחצים על Write Fake upgrade (current version). (לדוגמה, אם אתם משתמשים במערכת ההפעלה Android 13, תופעל תהליך הבדיקה של Android 13)
- לוחצים על Write pending upgrade (current version + 1). (לדוגמה, אם אתם משתמשים במערכת ההפעלה Android 12, תופעל תהליך הבדיקה של Android 13)
- לוחצים על דיווח על שדרוג של מערכת ההפעלה.
- לוחצים על ההתראה שקיבלת או על פתיחת ההזמנה לשדרוג.
אפשרויות הפעלה להזמנה לשדרוג
יש 3 דרכים שונות להפעיל את תהליך ההזמנה לשדרוג: 1. אוטומטית 2. שידור לכל המשתמשים 3. Play Services SDK הופעל
אוטומטית – התראה שהופעל על ידי Google (למכשירים עם gOTA בלבד)
במכשירי OEM שפועלים עם gOTA, השילוב מתבצע באופן אוטומטי ואין צורך לבצע שלבי שילוב של Upgrade Invite. כשהמערכת תזהה שדרוג משמעותי של מערכת ההפעלה בהמתנה, תישלח התראה מהמכשיר משירותי Google Play, שתובילה לתהליך ההזמנה לשדרוג.
Android Broadcast – התראה שהופעל על ידי Google (מומלץ)
שידור באפליקציה הוא הדרך הפשוטה והמומלצת ביותר לשלב את תהליך ההזמנה לשדרוג.
באמצעות מקלט שידור אפשר להפעיל את תהליך ההזמנה לשדרוג מהאפליקציה באמצעות הודעת שידור. ההודעה תישלח למכשיר באמצעות התראת Push מ-Google Play Services, ותובילה את המשתמש לתהליך ההזמנה לשדרוג.
דרישות מוקדמות לשידור
כדי להכין את האפליקציה, מבצעים את השלבים שמפורטים בקטעים הבאים.
ודאו שבקבצי התצורה של האפליקציה נעשה שימוש בערכים הבאים:
- minSdkVersion בגרסה 14 ואילך
- compileSdkVersion בגרסה 28 ומעלה
- הרשאה של android.permission.RECOVERY
שליחת השידור
בהמשך מפורטות ההוראות לאפליקציה (או לקוד) של יצרן הציוד המקורי (OEM) לשליחת שידור ב-Android כדי להפעיל את ההתראה:
שולחים שידור חי עם הפעולה.
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE
מוסיפים את החבילה
com.google.android.gms
לשידור.com.google.android.gms
דרישות נוספות
תהליך ההזמנה לשדרוג מאפשר למשתמשים לבצע את השדרוג של מערכת ההפעלה ישירות מהתהליך.
כדי שהפעולה הזו תפעל, צריך לחשוף כוונה מותאמת אישית ש-Google יכולה להפעיל מתהליך ההזמנה לשדרוג, שמפעיל את הורדת העדכון.
דוגמה לשימוש בשליחת הודעה לכולם
דוגמה לשידור של אפליקציה:
Context context = getApplicationContext();
Intent upgradeInviteIntent = new Intent()
.setAction( "com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE")
.setPackage("com.google.android.gms");
.putExtra("com.google.android.gms.growth.upgradeparty.upgradeinvite.EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER", 14);
context.sendBroadcast(updateIntent);
הערך של המפתח EXTRA_PENDING_ANDROID_OS_VERSION_NUMBER
הוא מספר שלם שמציין את גרסת מערכת ההפעלה בהמתנה (בדוגמה הזו, גרסת Android שתתותקן היא 14). ההגדרה הזו משמשת לקביעת תהליך ההזמנה לשדרוג שיופעל.
Play Services SDK – הפעלת תהליך בלבד
ה-SDK של הצד השלישי מאפשר להפעיל את תהליך ההזמנה לשדרוג מהאפליקציה או מההתראות שלכם ב-OTA. להשתמש ב-API חיצוני של צד שלישי כדי להפעיל את תהליך ההזמנה לשדרוג. השיטה הזו פחות מומלצת.
דרישות מוקדמות
כדי להכין את האפליקציה, מבצעים את השלבים שמפורטים בקטעים הבאים.
מוודאים שקובץ ה-build של האפליקציה משתמש בערכים הבאים:
- minSdkVersion בגרסה 14 ואילך
- compileSdkVersion בגרסה 28 ומעלה
הגדרת האפליקציה
כדי להגדיר את האפליקציה:
1. Extract the library from the provided .zip file, and place it in your
מאגר.
2. מוסיפים את יחסי התלות של Google Growth SDK לקובץ 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
אתחול API
כדי לאתחל לקוח, משתמשים בכיתה UpgradeParty:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);
פרמטר הפעילות צריך להיות אובייקט הפעילות שהתחיל את האירוע.
פונקציות API
ה-UpgradePartyClient שנוצר חושף את הפונקציונליות הבאה.
isEligibleForUpgradeInvite
import com.google.android.gms.growth.UpgradeInviteEligibilityParams;
Task<Boolean> isEligibleForUpgradeInvite(UpgradeInviteEligibilityParams params);
/** Contains parameters for the eligibility query. */
class UpgradeInviteEligibilityParams {
/** Integer indicating the pending OS version (in this example, the Android version to be installed is 14). This is used to determine which Upgrade Invite flow will be triggered. */
int pendingAndroidOsVersionNumber;
}
הפונקציה מחזירה משימה שמבצעת אימות אסינכררוני כדי לבדוק אם המשתמש עומד בדרישות לקבלת הזמנה לשדרוג. הערך הבוליאני שמתקבל מציין אם המשתמש עומד בדרישות או לא.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
הפעלה של הפעילות 'הזמנה לשדרוג'. האובייקט _Task _שמתקבל מציין אם אירעה שגיאה בהתחלת הפעילות.
קודי שגיאה
שתי שיטות ה-API עשויות להיכשל עם חריג מסוג com.google.android.gms.common.api.ApiException. במקרים כאלה, מבצע הקריאה החוזרת אמור לנסות שוב במועד מאוחר יותר. קודי סטטוס נפוצים צפויים:
- INTERNAL_ERROR – לכל שגיאה בתהליך הלוגיקה הבסיסי
- TIMEOUT – אם לא ניתן היה לטפל בבקשה בזמן
- API_NOT_CONNECTED – כשה-API לא זמין (כלומר, מודול UpgradeParty עדיין לא מוכן)
- NETWORK_ERROR – לא ניתן היה לטפל בבקשה בגלל שגיאות ברשת
- DEVELOPER_ERROR – לחבילה מבצעת הקריאה אין הרשאה לגשת ל-UpgradeParty API
דוגמה לשימוש ב-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 startUpgradeInviteButton = findViewById(R.id.__some_button__);
startUpgradeInviteButton.setVisibility(View.GONE);
// Register an onClick handler to invoke the Upgrade Party Activity
startUpgradeInviteButton
.setOnClickListener(
view -> {
client
.invokeUpgradeInvite()
.addOnCompleteListener(
task -> {
if (!task.isSuccessful()) {
// Do something with error, see task.getException()
}
});
});
}
// Check if eligible for an Upgrade Party
client
.isEligibleForUpgradeInvite()
.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;
startUpgradeInviteButton.setVisibility(visibility);
}
});
}