अपग्रेड का न्योता, उपयोगकर्ता फ़्लो होता है. इसमें Android OS के मौजूदा वर्शन के मुख्य अपग्रेड में शामिल नई सुविधाओं को दिखाया जाता है.
इस फ़्लो का मकसद, उपयोगकर्ताओं को अपने डिवाइस को ओएस के नए वर्शन पर अपग्रेड करने के लिए मनाना है.
जब किसी डिवाइस पर ओएस को अपग्रेड करने के लिए उपयोगकर्ता की मंज़ूरी मिलना बाकी होता है, तब उपयोगकर्ताओं को पुश सूचना मिलती है. इसमें नई सुविधाओं के बारे में बताया जाता है और उन्हें अपग्रेड करने का न्योता दिया जाता है.
डिवाइस बनाने वाली कंपनियां, Android OS वाले अपने डिवाइसों के लिए Upgrade Party की सुविधा चालू कर सकती हैं. इसके लिए, उन्हें Android अपग्रेड करने का न्योता पाने के लिए अनुरोध करने का फ़ॉर्म सबमिट करना होगा.
अपग्रेड करने का न्योता देने से जुड़े अनुभव को पसंद के मुताबिक बनाना
अपग्रेड करने का न्योता देने से जुड़े अनुभव को इन तरीकों से पसंद के मुताबिक बनाया जा सकता है:
- काम की नहीं लगने वाली सुविधाएं हटाएं.
- टेक्स्ट ब्लॉक में भाषा अपडेट करें.
- अपने ब्रैंड के हिसाब से, ऐनिमेशन, रंग, और फ़ॉन्ट में बदलाव करें.
फ़्लो को पसंद के मुताबिक बनाने के लिए, अपग्रेड करने का न्योता देने से जुड़े स्टाइल गाइड में दिए गए दिशा-निर्देश पढ़ें. साथ ही, फ़ॉर्म में जवाब देते समय, कस्टमाइज़ेशन से जुड़ी जानकारी शामिल करें.
न्योता भेजने के लिए स्टाइल गाइड को अपग्रेड करना
इस स्टाइल गाइड का इस्तेमाल करके, अपग्रेड करने का न्योता देने वाले पेज की स्टाइल में बदलाव करें, ताकि वह आपके ब्रैंड के हिसाब से दिखे (स्क्रीन, रंग, फ़ॉन्ट). हमारा सुझाव है कि आप साइज़ और स्ट्रक्चर को ओरिजनल डिज़ाइन के हिसाब से रखें.
अपग्रेड करने का न्योता देने की प्रोसेस में ये तीन कॉम्पोनेंट शामिल होते हैं:
- जानकारी देने वाली स्क्रीन
- सुविधा दिखाने वाली स्क्रीन
- आउट्रो स्क्रीन
हर स्क्रीन पर मौजूद ऐनिमेशन से, हर सुविधा के बारे में जानकारी मिलती है.
जानकारी देने वाली स्क्रीन
इंट्रो स्क्रीन में एक छोटा ऐनिमेशन होता है, जिसमें उपयोगकर्ता का स्वागत किया जाता है. साथ ही, उन्हें इंट्रो स्क्रीन पर दिखाया गया फ़्लो शुरू करने के लिए कहा जाता है.
लेआउट
डिवाइस के ऐनिमेशन में हमेशा ये चीज़ें शामिल होती हैं:
- सफ़ेद बैकग्राउंड और रंगीन आकृतियां
- डिवाइस फ़्रेम
- यूज़र इंटरफ़ेस (यूआई) कॉन्टेंट
स्टाइलिंग
अगर आपको Material You स्टाइलिंग का इस्तेमाल करना है, तो उदाहरण में दिखाए गए डिफ़ॉल्ट रंग और आकार इस्तेमाल किए जा सकते हैं.
अगर आपको अपने ब्रैंड के रंग का इस्तेमाल करना है, तो पक्का करें कि वह यूज़र इंटरफ़ेस (यूआई) के बैकग्राउंड के साथ अच्छी तरह से काम करता हो.
मोशन
पहला विकल्प: होम स्क्रीन पर घड़ी की मदद से
- नंबर स्क्रीन पर दिखते हैं.
- संख्याएं छोटी होती जाती हैं और बीच में आ जाती हैं. मोबाइल फ़ोन का फ़्रेम दिखता है.
- फ़ोन का साइज़ छोटा हो जाता है. आकृतियां स्क्रीन पर दिखने लगती हैं.
- ऐनिमेशन पूरा हो गया है. शेप धीरे-धीरे हिलते रहते हैं.
|
|
दूसरा विकल्प: होम स्क्रीन पर कोई घड़ी नहीं
- मोबाइल फ़ोन को स्क्रीन पर दिखाया जाता है.
- फ़ोन का साइज़ बढ़ता है और वह बीच में आ जाता है. आकृतियां स्क्रीन पर दिखने लगती हैं.
- फ़ोन का साइज़ बढ़ता जाता है और शेप घूमते रहते हैं.
|
|
सुविधा दिखाने वाली स्क्रीन
हर सुविधा स्क्रीन में, नए ओएस की किसी सुविधा के बारे में हाइलाइट किया गया है.
लेआउट
डिवाइस के ऐनिमेशन में हमेशा ये चीज़ें शामिल होती हैं:
- रंगीन बैकग्राउंड
- डिवाइस का फ़्रेम
- यूज़र इंटरफ़ेस (यूआई) कॉन्टेंट
स्टाइलिंग
- बैकग्राउंड का ऐसा रंग चुनें जो यूज़र इंटरफ़ेस (यूआई) के कॉन्टेंट और सामान्य तौर पर दिखने वाले कॉन्टेंट के साथ अच्छी तरह से काम करे.
- स्क्रीन पर, ऐसे फ़ॉन्ट साइज़ सेट करें जिन्हें आसानी से पढ़ा जा सके. अगर ज़रूरत हो, तो बड़े फ़ॉन्ट साइज़ सेट करें.
मोशन
हर सुविधा के फ़्लो का ऐनिमेशन रिकॉर्ड करें. इसमें टच इंटरैक्शन भी शामिल हैं. रिकॉर्डिंग को Lottie फ़ाइलों के तौर पर एक्सपोर्ट करें.
आउट्रो स्क्रीन
आउट्रो स्क्रीन से यह फ़्लो पूरा हो जाता है. इससे उपयोगकर्ताओं को पता चलता है कि उन्होंने सभी स्क्रीन देख ली हैं.
लेआउट
डिवाइस के ऐनिमेशन में हमेशा ये चीज़ें शामिल होती हैं:
- बैकग्राउंड पर आधा गोला (साथ ही, ऐनिमेटेड शेप)
- डिवाइस का फ़्रेम
- यूज़र इंटरफ़ेस (यूआई) कॉन्टेंट
स्टाइलिंग
- ऐसा बैकग्राउंड रंग चुनें जो यूज़र इंटरफ़ेस (यूआई) के कॉन्टेंट और सामान्य लुक के साथ अच्छी तरह से काम करे.
- आधे गोले का इस्तेमाल करें.
मोशन
आउट्रो स्क्रीन के ऐनिमेशन के लिए, स्टैंडर्ड फ़्लो का पालन करें:
- मोबाइल फ़ोन को थोड़ा ऊपर की ओर ले जाते हुए दिखाया गया है.
- बैकग्राउंड में एक सर्कल दिखता है.
- मोबाइल फ़ोन के पीछे से शेप दिख रहे हैं.
- शेप, बैकग्राउंड से कन्फ़ेटी की तरह उड़ते हुए दिखते हैं.
|
|
अपग्रेड करने का न्योता देने वाले फ़्लो की जांच करना
- Android डिवाइस पर, सेटिंग > Google > अपग्रेड पार्टी डीबग करें पर जाएं.
- डिवाइस के ओएस के हिसाब से, अपग्रेड करने का न्योता देने की सुविधा को ट्रिगर करें. यह आपके मौजूदा ओएस वर्शन और अपग्रेड करने का न्योता देने की सुविधा के उस फ़्लो पर निर्भर करता है जिसे आपको टेस्ट करना है. इनमें से कोई एक तरीका अपनाएं:
- Write Fake upgrade (current version) पर क्लिक करें. (उदाहरण के लिए, अगर Android 13 ओएस का इस्तेमाल किया जा रहा है, तो इससे Android 13 के टेस्ट फ़्लो को ट्रिगर किया जाएगा)
- अपग्रेड करने के लिए बाकी बचे वर्शन (मौजूदा वर्शन + 1) लिखें पर क्लिक करें. (उदाहरण के लिए, अगर Android 12 OS का इस्तेमाल किया जा रहा है, तो इससे Android 13 के टेस्ट फ़्लो को ट्रिगर किया जाएगा)
- ओएस अपग्रेड करने की शिकायत करें पर क्लिक करें
- मिली हुई सूचना पर क्लिक करें या अपग्रेड करने का न्योता खोलें पर क्लिक करें.
अपग्रेड करने का न्योता देने के लिए ट्रिगर के विकल्प
अपग्रेड करने का न्योता देने की सुविधा को तीन अलग-अलग तरीकों से ट्रिगर किया जा सकता है: 1. अपने-आप 2. ब्रॉडकास्ट 3. Play Services SDK ट्रिगर हुआ
अपने-आप - Google की ओर से सूचना ट्रिगर की जाती है (सिर्फ़ gOTA चलाने वाले डिवाइसों के लिए)
gOTA पर चलने वाले ओईएम डिवाइसों के लिए, इंटिग्रेशन अपने-आप हो जाता है. इसके लिए, अपग्रेड करने का न्योता पाने से जुड़े इंटिग्रेशन के चरणों को पूरा करने की ज़रूरत नहीं होती. ओएस के बड़े अपग्रेड का पता चलने पर, Google Play services से डिवाइस को एक पुश नोटिफ़िकेशन भेजा जाएगा. इससे अपग्रेड करने का न्योता देने वाला फ़्लो शुरू हो जाएगा.
Android Broadcast - Google की ओर से ट्रिगर की गई सूचना (सुझाया गया)
ऐप्लिकेशन ब्रॉडकास्ट, अपग्रेड करने का न्योता भेजने की सुविधा को इंटिग्रेट करने का सबसे आसान और सुझाया गया तरीका है.
ब्रॉडकास्ट रिसीवर की मदद से, ब्रॉडकास्ट मैसेज का इस्तेमाल करके अपने ऐप्लिकेशन से, अपग्रेड करने का न्योता भेजने की प्रोसेस शुरू की जा सकती है. ब्रॉडकास्ट, Google Play services से डिवाइस पर एक पुश सूचना भेजता है. इससे अपग्रेड करने का न्योता पाने की प्रोसेस शुरू होती है.
ब्रॉडकास्ट करने से जुड़ी ज़रूरी शर्तें
अपने ऐप्लिकेशन को तैयार करने के लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं.
पक्का करें कि आपके ऐप्लिकेशन की कॉन्फ़िगरेशन फ़ाइलें, इन वैल्यू का इस्तेमाल करती हों:
- minSdkVersion 14 या उसके बाद का वर्शन
- compileSdkVersion 28 या इससे ज़्यादा होना चाहिए
- android.permission.RECOVERY के लिए usesPermission
ब्रॉडकास्ट मैसेज भेजना
पुश सूचना ट्रिगर करने के लिए, 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 - सिर्फ़ फ़्लो ट्रिगर करने के लिए
तीसरे पक्ष का एसडीके, आपको अपने ऐप्लिकेशन या अपनी ओटीए सूचनाओं से अपग्रेड करने का न्योता भेजने की सुविधा देता है. तीसरे पक्ष के बाहरी एपीआई का इस्तेमाल करके, अपग्रेड का न्योता देने वाले फ़्लो को चालू करें. हम इस तरीके का सुझाव नहीं देते.
ज़रूरी शर्तें
अपने ऐप्लिकेशन को तैयार करने के लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं.
पक्का करें कि आपके ऐप्लिकेशन की बिल्ड फ़ाइल में इन वैल्यू का इस्तेमाल किया गया हो:
- minSdkVersion 14 या उसके बाद का वर्शन
- compileSdkVersion 28 या इससे ज़्यादा होना चाहिए
अपने ऐप्लिकेशन को कॉन्फ़िगर करना
ऐप्लिकेशन को कॉन्फ़िगर करने के लिए:
1. Extract the library from the provided .zip file, and place it in your
रिपॉज़िटरी में मौजूद है.
2. अपने मॉड्यूल की ऐप्लिकेशन-लेवल की Gradle फ़ाइल में, Google Growth SDK के लिए डिपेंडेंसी जोड़ें. आम तौर पर, यह फ़ाइल 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 क्लास का इस्तेमाल करें:
import com.google.android.gms.growth.UpgradeParty; UpgradeParty.getClient(activity);गतिविधि पैरामीटर, शुरू की गई गतिविधि का ऑब्जेक्ट होना चाहिए.
एपीआई फ़ंक्शन
अपग्रेड किए गए 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;
}
यह एक Task दिखाता है. यह टास्क, एसिंक्रोनस तरीके से यह पुष्टि करता है कि उपयोगकर्ता को अपग्रेड करने का न्योता भेजा जा सकता है या नहीं. इससे मिलने वाली बूलियन वैल्यू से पता चलता है कि उपयोगकर्ता ज़रूरी शर्तें पूरी करता है या नहीं.
invokeUpgradeInvite
Task<Void> invokeUpgradeInvite();
यह कुकी, अपग्रेड करने का न्योता देने वाली गतिविधि को शुरू करती है. इससे मिलने वाला _Task _ऑब्जेक्ट यह बताता है कि गतिविधि शुरू करते समय कोई गड़बड़ी हुई है या नहीं.
गड़बड़ी का कोड
दोनों एपीआई तरीके, com.google.android.gms.common.api.ApiException टाइप के अपवाद के साथ काम नहीं कर सकते. ऐसे मामलों में, कॉल करने वाले व्यक्ति को कुछ समय बाद फिर से कोशिश करनी चाहिए. सामान्य स्टेटस कोड में ये शामिल हैं:
- INTERNAL_ERROR - यह कोड, लॉजिक के फ़्लो में किसी भी गड़बड़ी के लिए होता है
- TIMEOUT - अगर अनुरोध को समय पर पूरा नहीं किया जा सका
- API_NOT_CONNECTED - जब एपीआई उपलब्ध न हो (यानी कि UpgradeParty मॉड्यूल अभी तैयार नहीं है)
- NETWORK_ERROR - नेटवर्क की गड़बड़ियों की वजह से अनुरोध को पूरा नहीं किया जा सका
- DEVELOPER_ERROR - कॉलिंग पैकेज को UpgradeParty API ऐक्सेस करने की अनुमति नहीं है
एसडीके टूल के इस्तेमाल का उदाहरण
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);
}
});
}