การเชิญอัปเกรดเป็นขั้นตอนของผู้ใช้ที่แสดงคุณลักษณะใหม่ที่สำคัญซึ่งรวมอยู่ในการอัปเกรดระบบปฏิบัติการ Android หลักที่มีอยู่ในปัจจุบัน
ขั้นตอนนี้มีจุดมุ่งหมายเพื่อช่วยโน้มน้าวให้ผู้ใช้อัปเกรดอุปกรณ์เป็นระบบปฏิบัติการเวอร์ชันล่าสุด
เมื่ออุปกรณ์มีการอัปเกรดระบบปฏิบัติการที่รอการอนุมัติจากผู้ใช้ ผู้ใช้จะได้รับการแจ้งเตือนแบบพุชที่แสดงคุณสมบัติใหม่และเชิญให้ทำการอัปเกรด
หากต้องการเปิดใช้งานการเชิญอัปเกรดสำหรับระบบปฏิบัติการ Android ของคุณ ให้ลงทะเบียนโดยใช้ แบบฟอร์มขอเปิดใช้งานการเชิญอัปเกรด Android
ปรับแต่งประสบการณ์การเชิญอัปเกรด
คุณสามารถปรับแต่งประสบการณ์การเชิญอัปเกรดได้ด้วยวิธีต่อไปนี้:
- ลบคุณสมบัติที่ไม่เกี่ยวข้องออก
- อัปเดตภาษาในบล็อกข้อความ
- ปรับเปลี่ยนภาพเคลื่อนไหว สี และแบบอักษรให้ตรงกับแบรนด์ของคุณ
หากต้องการปรับแต่งโฟลว์ ให้อ่านหลักเกณฑ์ใน คำแนะนำสไตล์คำเชิญอัปเกรด และรวมข้อมูลการปรับแต่งของคุณใน แบบฟอร์มคำขอเปิดใช้งานคำเชิญอัปเกรด Android
อัปเกรดคำแนะนำสไตล์คำเชิญ
ใช้คำแนะนำสไตล์นี้เพื่อปรับเปลี่ยนรูปลักษณ์คำเชิญอัปเกรดให้เหมาะกับแบรนด์ของคุณ (หน้าจอ สี แบบอักษร) เราขอแนะนำอย่างยิ่งให้รักษาขนาดและโครงสร้างให้ใกล้เคียงกับการออกแบบดั้งเดิม
ขั้นตอนคำเชิญอัปเกรดประกอบด้วยสามองค์ประกอบต่อไปนี้:
- หน้าจอแนะนำ
- หน้าจอคุณสมบัติ
- หน้าจอเอาท์โทร
ภาพเคลื่อนไหวในแต่ละหน้าจอช่วยอธิบายแต่ละคุณสมบัติ
หน้าจอแนะนำ
หน้าจอแนะนำประกอบด้วยภาพเคลื่อนไหวสั้นๆ ที่ต้อนรับผู้ใช้และกระตุ้นให้พวกเขาเริ่มขั้นตอนที่แสดงบนหน้าจอแนะนำ
เค้าโครง
ภาพเคลื่อนไหวของอุปกรณ์จะประกอบด้วย:
- พื้นหลังสีขาวและรูปทรงสีสันสดใส
- กรอบอุปกรณ์
- เนื้อหา UI
จัดแต่งทรงผม
หากคุณเลือกที่จะปรับสไตล์ Material You คุณสามารถใช้สีและรูปร่างเริ่มต้นที่แสดงในตัวอย่างได้
หากคุณใช้สีของแบรนด์ของคุณเอง ตรวจสอบให้แน่ใจว่าสีนั้นทำงานได้ดีกับพื้นหลัง UI
การเคลื่อนไหว
ตัวเลือกที่ 1: ด้วยนาฬิกาบนหน้าจอหลัก
- ตัวเลขเข้าหน้าจอ
- ตัวเลขจะย้ายไปอยู่ตรงกลางในขณะที่ขนาดลดลง กรอบโทรศัพท์มือถือปรากฏขึ้น
- โทรศัพท์จะมีขนาดลดลง รูปทรงเริ่มเข้าสู่หน้าจอ
- แอนิเมชั่นเสร็จสมบูรณ์ รูปทรงยังคงเคลื่อนไหวอย่างนุ่มนวล
ตัวเลือกที่ 2: ไม่มีนาฬิกาบนหน้าจอหลัก
- โทรศัพท์มือถือเข้าสู่หน้าจอ
- โทรศัพท์จะย้ายไปอยู่ตรงกลางพร้อมกับเพิ่มขนาด รูปทรงเริ่มเข้าสู่หน้าจอ
- โทรศัพท์ถึงขนาดสูงสุดแล้วและรูปร่างจะเคลื่อนไหวต่อไป
หน้าจอคุณสมบัติ
หน้าจอฟีเจอร์แต่ละหน้าจอจะเน้นฟีเจอร์ในระบบปฏิบัติการใหม่
เค้าโครง
ภาพเคลื่อนไหวของอุปกรณ์จะประกอบด้วย:
- พื้นหลังมีสีสัน
- กรอบอุปกรณ์
- เนื้อหา UI
จัดแต่งทรงผม
- เลือกสีพื้นหลังที่ใช้งานได้ดีกับเนื้อหา UI และรูปลักษณ์ทั่วไป
- ภายในหน้าจอ ให้กำหนดขนาดตัวอักษรให้อ่านง่าย หากจำเป็น ให้ตั้งค่าขนาดตัวอักษรให้ใหญ่ขึ้น
การเคลื่อนไหว
บันทึกภาพเคลื่อนไหวของโฟลว์ของแต่ละฟีเจอร์ รวมถึงการโต้ตอบแบบสัมผัส ส่งออกการบันทึกเป็น ไฟล์ Lottie
หน้าจอเอาท์โทร
หน้าจอด้านนอกทำให้โฟลว์เสร็จสมบูรณ์ มันแสดงให้ผู้ใช้รู้ว่าพวกเขาได้ผ่านหน้าจอทั้งหมดแล้ว
เค้าโครง
ภาพเคลื่อนไหวของอุปกรณ์จะประกอบด้วย:
- ครึ่งวงกลมบนพื้นหลัง (รวมถึงรูปร่างที่เคลื่อนไหวได้)
- กรอบอุปกรณ์
- เนื้อหา UI
จัดแต่งทรงผม
- เลือกสีพื้นหลังที่ใช้งานได้ดีกับเนื้อหา UI และลักษณะทั่วไป
- ใช้รูปทรงครึ่งวงกลม
การเคลื่อนไหว
ปฏิบัติตามโฟลว์แอนิเมชั่นหน้าจอด้านนอกมาตรฐาน:
- มือถือขยับขึ้นนิดหน่อย
- วงกลมปรากฏขึ้นในพื้นหลัง
- รูปทรงโผล่ขึ้นมาจากด้านหลังโทรศัพท์มือถือ
- รูปทรงลอยออกมาจากพื้นหลังเหมือนกระดาษโปรย
ทดสอบขั้นตอนการเชิญอัปเกรด
- บนอุปกรณ์ Android ให้ไปที่: การตั้งค่า > Google > อัปเกรดปาร์ตี้ดีบัก
- เตรียมทริกเกอร์สำหรับคำเชิญอัปเกรดสำหรับระบบปฏิบัติการของอุปกรณ์ที่เกี่ยวข้อง (ขึ้นอยู่กับเวอร์ชันระบบปฏิบัติการปัจจุบันของคุณ และขั้นตอนคำเชิญอัปเกรดเฉพาะที่จะทดสอบ ไม่ว่าจะเป็น:
- คลิก เขียนการอัพเกรดปลอม (เวอร์ชันปัจจุบัน) (เช่น หากคุณใช้ระบบปฏิบัติการ Android 13 ระบบจะทริกเกอร์ขั้นตอนการทดสอบ Android 13)
- คลิก เขียนที่รอการอัปเกรด (เวอร์ชันปัจจุบัน + 1) (เช่น หากคุณใช้ระบบปฏิบัติการ Android 12 ระบบจะทริกเกอร์ขั้นตอนการทดสอบ Android 13)
- คลิก รายงานการอัพเกรดระบบปฏิบัติการ
- คลิกการแจ้งเตือนที่ได้รับ หรือคลิก เปิดคำเชิญอัปเกรด
ตัวเลือกทริกเกอร์สำหรับการเชิญอัปเกรด
มี 3 วิธีในการทริกเกอร์ขั้นตอนการเชิญการอัปเกรด: 1. อัตโนมัติ 2. การออกอากาศ 3. ทริกเกอร์ Play Services SDK
อัตโนมัติ - การแจ้งเตือนที่เรียกใช้โดย Google (สำหรับอุปกรณ์ที่ใช้ goTA เท่านั้น)
สำหรับอุปกรณ์ OEM ที่ใช้ gOTA การผสานรวมจะเป็นไปโดยอัตโนมัติ และไม่จำเป็นต้องมีขั้นตอนการผสานรวมการเชิญอัปเกรด เมื่อตรวจพบการอัปเกรดระบบปฏิบัติการหลักที่รอดำเนินการ สิ่งนี้จะส่งการแจ้งเตือนแบบพุชไปยังอุปกรณ์จากบริการ Google Play ซึ่งนำไปสู่ขั้นตอนการเชิญการอัปเกรด
Android Broadcast - การแจ้งเตือนที่เรียกใช้โดย Google (แนะนำ)
การเผยแพร่แอปเป็นวิธีที่ง่ายที่สุดและแนะนำในการผสานรวมขั้นตอนการเชิญการอัปเกรด
เครื่องรับการออกอากาศช่วยให้คุณสามารถทริกเกอร์โฟลว์การเชิญการอัปเกรดจากแอปของคุณโดยใช้ข้อความการออกอากาศ การออกอากาศจะส่งการแจ้งเตือนแบบพุชไปยังอุปกรณ์จากบริการ Google Play ซึ่งนำไปสู่ขั้นตอนการเชิญอัปเกรด
ข้อกำหนดเบื้องต้นในการออกอากาศ
หากต้องการเตรียมแอปของคุณ ให้ทำตามขั้นตอนในส่วนต่อไปนี้
ตรวจสอบให้แน่ใจว่าไฟล์การกำหนดค่าของแอปของคุณใช้ค่าต่อไปนี้:
- minSdkVersion 14 หรือสูงกว่า
- CompilSdkVersion 28 หรือสูงกว่า
- UsePermission ของ 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 ภายนอกของบริษัทอื่นเพื่อเปิดใช้งานโฟลว์คำเชิญอัปเกรดเอง วิธีนี้ไม่ค่อยแนะนำ
ข้อกำหนดเบื้องต้น
หากต้องการเตรียมแอปของคุณ ให้ทำตามขั้นตอนในส่วนต่อไปนี้
ตรวจสอบให้แน่ใจว่าไฟล์บิลด์ของแอปของคุณใช้ค่าต่อไปนี้:
- minSdkVersion 14 หรือสูงกว่า
- CompilSdkVersion 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 ที่เป็นผลลัพธ์จะแสดงฟังก์ชันการทำงานต่อไปนี้
มีสิทธิ์สำหรับคำเชิญอัปเกรด
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;
}
ส่งคืน งาน ที่ตรวจสอบแบบอะซิงโครนัสว่าผู้ใช้มีสิทธิ์ได้รับคำเชิญอัปเกรดหรือไม่ ค่าบูลีนที่ได้จะบ่งชี้ว่าผู้ใช้มีสิทธิ์หรือไม่
เรียกใช้UpgradeInvite
Task<Void> invokeUpgradeInvite();
เรียกใช้กิจกรรมการเชิญอัปเกรด ผลลัพธ์ _Task _object บ่งชี้ว่ามีข้อผิดพลาดเกิดขึ้นเมื่อเริ่มต้นกิจกรรมหรือไม่
รหัสข้อผิดพลาด
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);
}
});
}