คำเชิญอัปเกรดคือโฟลว์ผู้ใช้ที่แสดงฟีเจอร์ใหม่ที่สำคัญซึ่งรวมอยู่ในการอัปเกรดระบบปฏิบัติการ Android ครั้งใหญ่ที่มีให้บริการในปัจจุบัน
ขั้นตอนนี้มีไว้เพื่อโน้มน้าวให้ผู้ใช้อัปเกรดอุปกรณ์เป็นระบบปฏิบัติการเวอร์ชันล่าสุด
เมื่ออุปกรณ์มีการอัปเกรดระบบปฏิบัติการที่รอการอนุมัติจากผู้ใช้ ผู้ใช้จะได้รับข้อความ Push ที่แสดงฟีเจอร์ใหม่และเชิญให้ทำการอัปเกรด
หากต้องการเปิดใช้คำเชิญให้อัปเกรดสำหรับระบบปฏิบัติการ Android ให้ลงทะเบียนโดยใช้แบบฟอร์มคำขอเปิดใช้งานคำเชิญให้อัปเกรด Android
ปรับแต่งประสบการณ์การเชิญอัปเกรด
คุณปรับแต่งประสบการณ์การเชิญให้อัปเกรดได้ด้วยวิธีต่อไปนี้
- นำฟีเจอร์ที่ไม่เกี่ยวข้องออก
- อัปเดตภาษาในบล็อกข้อความ
- แก้ไขภาพเคลื่อนไหว สี และแบบอักษรให้เข้ากับแบรนด์ของคุณ
หากต้องการปรับแต่งขั้นตอน ให้อ่านหลักเกณฑ์ในคู่มือสไตล์คำเชิญให้อัปเกรด และใส่ข้อมูลการปรับแต่งในแบบฟอร์มคำขอเปิดใช้งานคำเชิญให้อัปเกรด Android
คู่มือแนะนำสไตล์คำเชิญให้อัปเกรด
ใช้คู่มือสไตล์นี้เพื่อแก้ไขรูปลักษณ์ของคำเชิญให้อัปเกรดให้เหมาะกับแบรนด์ของคุณเอง (หน้าจอ สี แบบอักษร) เราขอแนะนําอย่างยิ่งให้คงขนาดและโครงสร้างให้ใกล้เคียงกับการออกแบบเดิม
ขั้นตอนการเชิญให้อัปเกรดประกอบด้วย 3 องค์ประกอบต่อไปนี้
- หน้าจอแนะนำ
- หน้าจอฟีเจอร์
- หน้าจอปิดท้าย
ภาพเคลื่อนไหวในแต่ละหน้าจอจะช่วยอธิบายฟีเจอร์แต่ละรายการ
หน้าจอแนะนำ
หน้าจอแนะนำมีภาพเคลื่อนไหวสั้นๆ ที่ต้อนรับผู้ใช้และกระตุ้นให้ผู้ใช้เริ่มขั้นตอนที่แสดงในหน้าจอแนะนำ
เลย์เอาต์
ภาพเคลื่อนไหวในอุปกรณ์จะประกอบไปด้วยสิ่งต่อไปนี้เสมอ
- พื้นหลังสีขาวและรูปร่างหลากสี
- เฟรมอุปกรณ์
- เนื้อหา 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. SDK บริการ Google Play เรียกให้แสดง
อัตโนมัติ - การแจ้งเตือนที่ Google เรียกใช้ (สำหรับอุปกรณ์ที่ใช้ gOTA เท่านั้น)
สำหรับอุปกรณ์ OEM ที่ใช้ gOTA การผสานรวมจะทำงานโดยอัตโนมัติและไม่จำเป็นต้องทำตามขั้นตอนการผสานรวม "อัปเกรด" "เชิญ" เมื่อตรวจพบการอัปเกรดระบบปฏิบัติการหลักที่รอดำเนินการ ระบบจะส่งข้อความ Push จากบริการ Google Play ไปยังอุปกรณ์ ซึ่งจะนำไปสู่ขั้นตอนการเชิญให้อัปเกรด
Android Broadcast - การแจ้งเตือนที่ Google ทริกเกอร์ (แนะนํา)
การออกอากาศของแอปเป็นวิธีที่ง่ายที่สุดและแนะนําในการผสานรวมขั้นตอนการอัปเกรดและเชิญ
ตัวรับการออกอากาศช่วยให้คุณเรียกใช้ขั้นตอนการเชิญให้อัปเกรดจากแอปได้โดยใช้ข้อความการออกอากาศ การออกอากาศจะส่งข้อความ Push ไปยังอุปกรณ์จากบริการ Google Play ซึ่งจะนำไปสู่ขั้นตอนการเชิญให้อัปเกรด
ข้อกำหนดเบื้องต้นในการออกอากาศ
หากต้องการเตรียมแอป ให้ทําตามขั้นตอนในส่วนต่อไปนี้
ตรวจสอบว่าไฟล์การกําหนดค่าของแอปใช้ค่าต่อไปนี้
- minSdkVersion 14 ขึ้นไป
- compileSdkVersion เป็น 28 ขึ้นไป
- usesPermission ของ android.permission.RECOVERY
ส่งประกาศ
ดูวิธีการด้านล่างสำหรับแอป OEM (หรือโค้ด) ในการส่งการออกอากาศ Android เพื่อทริกเกอร์ข้อความ Push
ส่งการออกอากาศพร้อมการดำเนินการ
com.google.android.gms.growth.upgradeparty.upgradeinvite.ACTION_SYSTEM_UPDATE
เพิ่มแพ็กเกจ
com.google.android.gms
ในการออกอากาศcom.google.android.gms
ข้อกำหนดเพิ่มเติม
ขั้นตอนคำเชิญให้อัปเกรดยังช่วยให้ผู้ใช้อัปเกรดระบบปฏิบัติการได้โดยตรงจากขั้นตอนดังกล่าว
หากต้องการให้การดำเนินการนี้ทำงาน ให้แสดง Intent ที่กําหนดเองซึ่ง 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
คือ Integer ที่ระบุเวอร์ชันระบบปฏิบัติการที่รอดำเนินการ (ในตัวอย่างนี้ เวอร์ชัน Android ที่ติดตั้งคือ 14) ซึ่งจะใช้เพื่อกำหนดว่าระบบจะเรียกใช้ขั้นตอนการเชิญให้อัปเกรดแบบใด
Play Services SDK - การทริกเกอร์ขั้นตอนเท่านั้น
SDK ของบุคคลที่สามช่วยให้คุณเรียกใช้ขั้นตอนการเชิญอัปเกรดจากแอปหรือการแจ้งเตือน OTA ของคุณเองได้ ใช้ API ภายนอกของบุคคลที่สามเพื่อเปิดใช้งาน ขั้นตอนการเชิญอัปเกรดด้วยตัวเอง เราไม่แนะนำให้ใช้วิธีนี้
สิ่งที่ต้องมีก่อน
หากต้องการเตรียมแอป ให้ทําตามขั้นตอนในส่วนต่อไปนี้
ตรวจสอบว่าไฟล์บิลด์ของแอปใช้ค่าต่อไปนี้
- minSdkVersion 14 ขึ้นไป
- compileSdkVersion เป็น 28 ขึ้นไป
กำหนดค่าแอป
วิธีกำหนดค่าแอป
1. Extract the library from the provided .zip file, and place it in your
ที่เก็บ
2. เพิ่มทรัพยากร Dependency สำหรับ Google Growth SDK ลงในไฟล์ Gradle ระดับแอปของโมดูล ซึ่งโดยปกติจะเป็น app/build.gradle
dependencies {
implementation files('<PATH_TO_BINARY>/play-services-growth-16.1.0-eap04.aar')
}
หากต้องการระบุทรัพยากร Dependency ของลูกค้า ให้รวมไลบรารีต่อไปนี้
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 ทั้ง 2 รายการอาจดำเนินการไม่สำเร็จโดยมีข้อยกเว้นประเภท 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);
}
});
}