הזמנה לשדרוג אנדרואיד

Upgrade Invite הוא זרימת משתמשים שמציגה את התכונות החדשות העיקריות הכלולות בשדרוג הנוכחי העיקרי של מערכת ההפעלה אנדרואיד.

הזרימה נועדה לעזור לשכנע משתמשים לשדרג את המכשיר שלהם לגרסת מערכת ההפעלה האחרונה.

ברגע שלמכשיר יש שדרוג מערכת ההפעלה ממתין לאישור המשתמש, המשתמשים מקבלים הודעת דחיפה המציגה את התכונות החדשות ומזמינה אותם לבצע את השדרוג.

כדי להפעיל את השדרוג הזמנת עבור מערכת ההפעלה אנדרואיד שלך, הירשם באמצעות טופס הזמנה להפעלת שדרוג אנדרואיד .

התאם אישית את חוויית השדרוג הזמנת

אתה יכול להתאים אישית את חוויית ההזמנה לשדרוג בדרכים הבאות:

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

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

שדרוג מדריך סגנון הזמנה

השתמש במדריך הסגנון הזה כדי לשנות את המראה של Upgrade Invite כך שיתאים למותג שלך (מסכים, צבעים, גופנים). אנו ממליצים בחום לשמור את הגדלים והמבנה קרובים לעיצוב המקורי.

זרימת הזמנת השדרוג כוללת את שלושת הרכיבים הבאים:

  • מסך מבוא
  • מסך תכונה
  • מסך אאוטרו
איור 1. שלושת סוגי המסכים בזרימת הזמנת השדרוג

אנימציה על כל מסך עוזרת להסביר כל תכונה.

מסך מבוא

מסך הפתיחה מכיל אנימציה קצרה שמקבלת את פני המשתמש ומעודדת אותו להתחיל את הזרימה המוצגת על מסך הפתיחה.

מַעֲרָך
איור 2. פריסת Wireframe עבור מסך הפתיחה של Upgrade Invite

אנימציית המכשיר מורכבת תמיד מ:

  • רקע לבן וצורות צבעוניות
  • מסגרת מכשיר
  • תוכן ממשק המשתמש
סִגנוּן

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

איור 3. ערכת צבע ברירת מחדל עבור זרימת ההזמנה לשדרוג.

אם אתה משתמש בצבע המותג שלך, ודא שהוא עובד היטב עם רקע ממשק המשתמש.

תְנוּעָה

אפשרות 1: עם שעון במסך הבית

  1. מספרים נכנסים למסך.
  2. מספרים נעים למרכז תוך ירידה בגודלם. מופיעה מסגרת הטלפון הנייד.
  3. הטלפון יורד בגודלו. הצורות מתחילות להיכנס למסך.
  4. האנימציה הושלמה. הצורות ממשיכות לנוע בעדינות.
איור 4. פריסת Wireframe עבור אנימציית מסך הפתיחה של Upgrade Invite עם שעון.
איור 5. אנימציה לדוגמה למסך ההקדמה עם שעון.

אפשרות 2: אין שעון במסך הבית

  1. הטלפון הנייד נכנס למסך.
  2. הטלפון זז למרכז תוך הגדלת גודלו. הצורות מתחילות להיכנס למסך.
  3. הטלפון מגיע לגודל המקסימלי והצורות ממשיכות לנוע.
איור 6. פריסת Wireframe עבור אנימציית מסך הפתיחה של Upgrade Invite ללא שעון.
איור 7. אנימציה לדוגמה למסך ההקדמה ללא שעון.

מסך תכונה

כל מסך תכונה מדגיש תכונה במערכת ההפעלה החדשה.

מַעֲרָך
איור 8. פריסת Wireframe עבור מסכי התכונה Upgrade Invite.

אנימציית המכשיר מורכבת תמיד מ:

  • רקע צבעוני
  • מסגרת מכשיר
  • תוכן ממשק המשתמש
סִגנוּן
  • בחר צבע רקע שעובד היטב עם תוכן ממשק המשתמש ועם המראה הכללי.
  • בתוך המסכים, הגדר גדלי גופנים ניתנים לקריאה. במידת הצורך, הגדר גדלי גופן גדולים יותר.
תְנוּעָה

הקלט אנימציה של הזרימה של כל תכונה, כולל אינטראקציות מגע. ייצא את ההקלטות כקבצי לוטי .

מסך אאוטרו

מסך ה-outro משלים את הזרימה. זה מציין למשתמשים שהם עברו על כל המסכים.

מַעֲרָך
איור 9. פריסת Wireframe עבור מסך ה-Outro של Upgrade Invite.

אנימציית המכשיר מורכבת תמיד מ:

  • חצי עיגול על הרקע (בתוספת צורות מונפשות)
  • מסגרת מכשיר
  • תוכן ממשק המשתמש
סִגנוּן
  • בחר צבע רקע שעובד היטב עם תוכן ממשק המשתמש ועם המראה הכללי.
  • השתמש בצורת חצי עיגול.
תְנוּעָה

עקוב אחר זרימת האנימציה הסטנדרטית של מסך outro:

  1. הטלפון הנייד מתקדם מעט.
  2. ברקע מופיע עיגול.
  3. צורות עולות מאחורי הטלפון הנייד.
  4. הצורות עפות מהרקע כמו קונפטי.
איור 10. פריסת Wireframe עבור אנימציית מסך ה-Outro Upgrade Invite.
איור 11. אנימציית מסך outro לדוגמה.

בדוק את זרימת ההזמנה לשדרוג

  1. במכשיר אנדרואיד, עבור אל: הגדרות > Google > ניפוי באגים של שדרוג מסיבת .
  2. הכן את הטריגר עבור Upgrade Invite עבור מערכת ההפעלה של המכשיר הרלוונטית (בהתאם לגרסת מערכת ההפעלה הנוכחית שלך, ולזרימת ה- Upgrade Invite הספציפית לבדיקה. או:
    1. לחץ על כתוב שדרוג מזויף (גרסה נוכחית) . (לדוגמה, אם אתה מפעיל את מערכת ההפעלה אנדרואיד 13 זה יפעיל את זרימת הבדיקה של אנדרואיד 13)
    2. לחץ על כתוב ממתין לשדרוג (גרסה נוכחית + 1) . (לדוגמה, אם אתה מפעיל את מערכת ההפעלה אנדרואיד 12 זה יפעיל את זרימת הבדיקה של אנדרואיד 13)
    3. לחץ על דווח על שדרוג מערכת ההפעלה
  3. לחץ על ההודעה שהתקבלה, או לחץ על פתח הזמנת שדרוג.

אפשרויות הפעלה עבור שדרוג הזמנת

ישנן 3 דרכים שונות להפעלת זרימת הזמנת השדרוג: 1. אוטומטי 2. שידור 3. Play Services SDK הופעל

אוטומטי - התראה שהופעלה על ידי Google (עבור מכשירים הפועלים ב-gOTA בלבד)

עבור מכשירי OEM המריצים gOTA, האינטגרציה היא אוטומטית ולא נדרשים שלבי שילוב של Upgrade Invite. ברגע שיזהה שדרוג מערכת הפעלה מרכזי בהמתנה, זה ישלח הודעת דחיפה למכשיר משירותי Google Play, מה שיוביל לזרימת הזמנת השדרוג.

אנדרואיד שידור - התראה שהופעלה על ידי Google (מומלץ)

שידור אפליקציה הוא הדרך הפשוטה והמומלצת ביותר לשילוב זרימת ה- Upgrade Invite.

מקלט שידור מאפשר לך להפעיל את זרימת הזמנת השדרוג מהאפליקציה שלך באמצעות הודעת שידור. השידור שולח הודעת דחיפה למכשיר משירותי Google Play, מה שמוביל לזרימת הזמנת השדרוג.

דרישות מוקדמות לשידור

כדי להכין את האפליקציה, השלם את השלבים בסעיפים הבאים.

ודא שקובצי התצורה של האפליקציה שלך משתמשים בערכים הבאים:

  • גרסה minSdk של 14 ומעלה
  • גרסה compileSdk של 28 ומעלה
  • אישור שימוש של android.permission.RECOVERY

שלח את השידור

ראה למטה את ההוראות עבור אפליקציית OEM (או קוד) לשלוח שידור אנדרואיד כדי להפעיל את הודעת הדחיפה:

  1. שלח שידור עם הפעולה.

    com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE
    
  2. הוסף את החבילה com.google.android.gms לשידור.

    com.google.android.gms
    

דרישות נוספות

זרימת הזמנת השדרוג מאפשרת למשתמשים לבצע את שדרוג מערכת ההפעלה ישירות מהזרימה.

כדי שזה יעבוד, חשוף כוונה מותאמת אישית שגוגל יכולה להתקשר מזרימת הזמנת השדרוג שמפעילה את הורדת העדכון.

דוגמה לשימוש בשידור

ראה את הדוגמה הבאה של שידור אפליקציה:

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 הוא מספר שלם המציין את גרסת מערכת ההפעלה הממתינה (בדוגמה זו, גרסת האנדרואיד שתתקין היא 14). זה משמש כדי לקבוע איזו זרימת הזמנת שדרוג תופעל.

Play Services SDK - הפעלת זרימה בלבד

SDK של צד שלישי מאפשר לך להפעיל את זרימת הזמנת השדרוג מהאפליקציה שלך או התראות OTA משלך. השתמש בממשק API חיצוני של צד שלישי כדי להפעיל את זרימת הזמנת השדרוג עצמה. שיטה זו פחות מומלצת.

דרישות מוקדמות

כדי להכין את האפליקציה, השלם את השלבים בסעיפים הבאים.

ודא שקובץ ה-build של האפליקציה שלך משתמש בערכים הבאים:

  • גרסה minSdk של 14 ומעלה
  • גרסה compileSdk של 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')
   }
  1. כדי לספק את התלות של הלקוח, כלול את הספריות הבאות:

    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

  1. כדי לאתחל לקוח, השתמש במחלקה UpgradeParty:

    import com.google.android.gms.growth.UpgradeParty;
    UpgradeParty.getClient(activity);
    
  2. פרמטר הפעילות צריך להיות אובייקט הפעילות היוזם.

פונקציות 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);
             }
           });
   }