वैकल्पिक Firebase App Distribution iOS और Android SDK की मदद से आप डिसप्ले ऐप्लिकेशन के नए बिल्ड उपलब्ध होने पर, टेस्टर को इन-ऐप्लिकेशन सूचनाएं भेजी जाती हैं इंस्टॉल. इस गाइड में, App Distribution के iOS और Android SDK टूल को इस्तेमाल करने का तरीका बताया गया है का इस्तेमाल करके अपने ऐप्लिकेशन की जांच करें.
शुरू करने से पहले
अगर आपने पहले से Firebase को नहीं जोड़ा है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें.
पहला चरण: App Distribution Tester API को चालू करें
इसमें अपना प्रोजेक्ट चुनें: Google Cloud कंसोल.
Firebase App Testers API में जाकर, चालू करें पर क्लिक करें.
दूसरा चरण: App Distribution को अपने ऐप्लिकेशन में जोड़ें
App Distribution के Android SDK टूल में दो लाइब्रेरी होती हैं:
firebase-appdistribution-api
- सिर्फ़ एपीआई वाली लाइब्रेरी, जिसे आप शामिल कर सकते हैं सभी बिल्ड वैरिएंट में.firebase-appdistribution
- SDK टूल को पूरी तरह लागू करना (ज़रूरी नहीं).
सिर्फ़ एपीआई लाइब्रेरी की मदद से, आपका कोड SDK टूल को कॉल कर सकता है. कॉल में ये चीज़ें होंगी SDK टूल को पूरी तरह से लागू न करने पर, कोई असर नहीं पड़ता.
अपने मॉड्यूल में, App Distribution Android SDK टूल के लिए डिपेंडेंसी का एलान करें
(ऐप्लिकेशन-लेवल) Gradle फ़ाइल (आम तौर पर, <project>/<app-module>/build.gradle.kts
या
<project>/<app-module>/build.gradle
) के साथ काम करता है. पूरे SDK टूल को शामिल करने से बचने के लिए
की अपने-आप अपडेट होने की सुविधा का इस्तेमाल करके,
अपने Play बिल्ड में
सभी में, सिर्फ़ एपीआई वाली लाइब्रेरी डिपेंडेंसी जोड़ें
वैरिएंट बनाना.
सिर्फ़ उन वैरिएंट में SDK टूल लागू करें जो खास तौर पर बनाए गए हैं
प्री-रिलीज़ टेस्टिंग के लिए.
dependencies {
// ADD the API-only library to all variants
implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta13")
// ADD the full SDK implementation to the "beta" variant only (example)
betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta13")
}
Kotlin की मदद से खास लाइब्रेरी मॉड्यूल की तलाश कर रहे हैं? शुरुआत अक्टूबर 2023 में रिलीज़, Kotlin और Java डेवलपर, दोनों मुख्य लाइब्रेरी मॉड्यूल पर निर्भर हो सकते हैं (जानकारी के लिए, इस पहल के बारे में अक्सर पूछे जाने वाले सवाल).
तीसरा चरण: ऐप्लिकेशन में मिलने वाली सूचनाएं कॉन्फ़िगर करें
App Distribution के Android SDK में, इसे सेट अप करने के ये तरीके मिलते हैं आपके टेस्टर के लिए, इन-ऐप्लिकेशन बिल्ड अलर्ट:
- पहले से बने ऐप्लिकेशन के अपडेट के साथ मिलने वाला बुनियादी सूचना कॉन्फ़िगरेशन और साइन-इन डायलॉग.
- एक बेहतर सूचना कॉन्फ़िगरेशन, जो आपको अपने उपयोगकर्ता को पसंद के मुताबिक बनाने की सुविधा देता है इंटरफ़ेस पर कॉपी करने की सुविधा मिलती है.
अगर पहली बार App Distribution Android SDK का इस्तेमाल किया जा रहा है, तो हमारा सुझाव है कि बुनियादी कॉन्फ़िगरेशन का इस्तेमाल करके.
बुनियादी कॉन्फ़िगरेशन
पहले से बने 'चालू करें' अलर्ट दिखाने के लिए updateIfNewReleaseAvailable
का इस्तेमाल करें
उन टेस्टर के लिए डायलॉग बॉक्स जिन्होंने अभी तक सूचनाएं चालू नहीं की हैं. इसके बाद, देखें कि
बिल्ड उपलब्ध है. कॉल करने पर, यह तरीका नीचे दिया गया क्रम लागू करता है:
यह जांचता है कि क्या किसी टेस्टर ने सूचनाएं चालू की हैं. अगर टेस्टर को अब तक चालू नहीं किया गया है इस तरीके से, टेस्टर को App Distribution में साइन इन करने के लिए, इस तरीके से सूचना मिलती है अपने Google खाते से साइन इन करें.
टेस्टर को इंस्टॉल करने के लिए, उपलब्ध नए बिल्ड की जांच करता है.
पहले से मौजूद सूचना दिखाती है, जो टेस्टर को अपडेट करने के लिए कहती है.
अगर नया बिल्ड Android ऐप्लिकेशन बंडल (एएबी) है, तो टेस्टर को इस अपडेट की प्रोसेस पूरी करने के लिए Google Play.
अगर नया बिल्ड Android ऐप्लिकेशन PacKage (APK) है, तो SDK टूल बैकग्राउंड में नया बिल्ड डाउनलोड करता है और टेस्टर को उसे इंस्टॉल करने का निर्देश देता है डाउनलोड पूरा हो जाने पर. SDK टूल, डाउनलोड की स्थिति के बारे में सूचनाएं भेजता है
NotificationManager
का इस्तेमाल कर रहे हैं. अपनी प्रोग्रेस भी जोड़ी जा सकती है यह दिखाने के लिए, एकonProgressUpdate
हैंडलर जोड़ा जाता हैupdateIfNewReleaseAvailable
टास्क.
आप अपने ऐप्लिकेशन में किसी भी समय updateIfNewReleaseAvailable
को कॉल कर सकते हैं. इसके लिए
उदाहरण के लिए, onResume
के दौरान updateIfNewReleaseAvailable
को कॉल किया जा सकता है
मुख्य गतिविधि का तरीका होता है.
नीचे दिए गए उदाहरण में यह जांच की गई है कि टेस्टर ने चेतावनियां चालू की हैं या नहीं और को नए बिल्ड का ऐक्सेस मिलता है. अगर ये शर्तें पूरी होती हैं, तो एक डायलॉग दिखता है जब बिल्ड इंस्टॉल करने के लिए उपलब्ध हो:
Kotlin+KTX
// Copy and paste this into any part of your app - for example, in your main
// activity's onResume method.
val firebaseAppDistribution = FirebaseAppDistribution.getInstance()
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
// (Optional) Handle errors.
if (e is FirebaseAppDistributionException) {
when (e.errorCode) {
Status.NOT_IMPLEMENTED -> {
// SDK did nothing. This is expected when building for Play.
}
else -> {
// Handle other errors.
}
}
}
}
Java
// Copy and paste this into any part of your app - for example, in your main
// activity's onResume method.
FirebaseAppDistribution firebaseAppDistribution = FirebaseAppDistribution.getInstance();
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener(updateProgress -> {
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
})
.addOnFailureListener(e -> {
// (Optional) Handle errors.
if (e instanceof FirebaseAppDistributionException) {
switch (((FirebaseAppDistributionException)e).getErrorCode()) {
case NOT_IMPLEMENTED:
// SDK did nothing. This is expected when building for Play.
break;
default:
// Handle other errors.
break;
}
}
});
बेहतर कॉन्फ़िगरेशन
बेहतर साइन-इन कॉन्फ़िगरेशन
signInTester
और isTesterSignedIn
तरीकों का इस्तेमाल करके, अपने हिसाब से ये काम किए जा सकते हैं
टेस्टर के साइन इन करने के अनुभव को पसंद के मुताबिक बनाना, ताकि टेस्टर का अनुभव
ऐप्लिकेशन के रंग-रूप के मुताबिक बेहतर होता है.
नीचे दिए गए उदाहरण में यह जांच की गई है कि टेस्टर ने पहले ही
App Distribution टेस्टर खाता. इससे आपको अपनी वेबसाइट पर
यूज़र इंटरफ़ेस (यूआई) से साइन-इन करने का तरीका. इस तारीख के बाद
टेस्टर साइन इन करता है. इसके बाद, updateIfNewReleaseAvailable
पर कॉल करके जांच की जा सकती है
टेस्टर के पास नए बिल्ड का ऐक्सेस है या नहीं.
Kotlin+KTX
// Only show sign-in UI if this is the "beta" variant (example).
if (BuildConfig.BUILD_TYPE == "beta" && !firebaseAppDistribution.isTesterSignedIn) {
// Start your sign-in UI here.
}
// Only check for updates if the tester is already signed in (do not prompt).
if (firebaseAppDistribution.isTesterSignedIn) {
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener {
// Handle failed update.
}
}
Java
// Only show sign-in UI if this is the "beta" variant (example).
if (BuildConfig.BUILD_TYPE == "beta" && !firebaseAppDistribution.isTesterSignedIn()) {
// Start your sign-in UI here.
}
// Only check for updates if the tester is already signed in (do not prompt).
if (firebaseAppDistribution.isTesterSignedIn()) {
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener( e -> {
// Handle failed update.
});
}
आपके साइन इन यूज़र इंटरफ़ेस (यूआई) से, जब टेस्टर आगे बढ़ने का विकल्प चुने, तो signInTester()
पर कॉल करें:
Kotlin+KTX
firebaseAppDistribution.signInTester().addOnSuccessListener {
// Handle successful sign-in.
}.addOnFailureListener {
// Handle failed sign-in.
});
Java
firebaseAppDistribution.signInTester().addOnSuccessListener( unused -> {
// Handle successful sign-in.
}).addOnFailureListener(e -> {
// Handle failed sign-in.
});
अपडेट के लिए बेहतर कॉन्फ़िगरेशन
checkForNewRelease
और updateApp
तरीकों का इस्तेमाल करके, अपने हिसाब से ये काम किए जा सकते हैं
आपके टेस्टर को अपडेट का प्रॉम्प्ट मिलने पर, अपने हिसाब से सेटिंग तय करें. आपके पास यह चुनने का विकल्प भी है कि
पहले से बने हुए अपडेट का डायलॉग बॉक्स और डाउनलोड की प्रोग्रेस दिखाने वाला इंडिकेटर, ताकि वे बेहतर ढंग से काम कर सकें
आपके ऐप्लिकेशन के रंग-रूप के मुताबिक होना चाहिए.
ध्यान दें कि updateApp
डाउनलोड की प्रोग्रेस का संकेत नहीं देता. इसका मतलब है
आपको यह सुविधा इस्तेमाल करके, अपनी प्रोग्रेस की जानकारी देने वाली सुविधा को लागू करना होगा
NotificationManager
, किसी तरह का इन-ऐप्लिकेशन स्टेटस या कोई अन्य जानकारी
अप्रोच का इस्तेमाल करें.
यहां दिए गए उदाहरण में बताया गया है कि नई रिलीज़ उपलब्ध है या नहीं. इसके बाद,
पसंद के मुताबिक बनाया गया यूज़र इंटरफ़ेस (यूआई) दिखाता है. checkForNewRelease
और updateApp
को कॉल करने से पहले, यह बनाएं
तो आप
साइन-इन के लिए बेहतर कॉन्फ़िगरेशन.
Kotlin+KTX
firebaseAppDistribution.checkForNewRelease().addOnSuccessListener { release ->
if (release != null) {
// New release available. Start your update UI here.
}
}.addOnFailureListener {
// Handle failed check for new release. Fails with Status#NOT_IMPLEMENTED
// if built for Play.
}
Java
firebaseAppDistribution.checkForNewRelease().addOnSuccessListener(release -> {
if (release != null) {
// New release available. Start your update UI here.
}
}).addOnFailureListener(e -> {
// Handle failed check for new release. Fails with Status#NOT_IMPLEMENTED
// if built for Play.
});
जब टेस्टर आपके अपडेट यूज़र इंटरफ़ेस (यूआई) से अपडेट करना चुनता है, तो
updateApp()
:
Kotlin+KTX
firebaseAppDistribution.updateApp()
.addOnProgressListener { updateState ->
// Use updateState to show update progress.
}
Java
firebaseAppDistribution.updateApp()
.addOnProgressListener(updateState -> {
// Use updateState to show update progress.
});
चौथा चरण: लागू करने की प्रोसेस बनाएं और उसकी जांच करें
अपना ऐप्लिकेशन बनाएं और उसे लागू करने की प्रोसेस की जांच करें कॉन्टेंट को दुनिया भर के लोगों के लिए जो Firebase कंसोल का इस्तेमाल करके, टेस्टर के लिए उपलब्ध हैं.
YouTube Studio के App Distribution समस्या हल करने के लिए गाइड समस्याओं को हल करने में मदद पाने के लिए, जैसे:
- टेस्टर को ऐप्लिकेशन में सूचनाएं नहीं मिल रही हैं
- टेस्टर को एक से ज़्यादा बार Google में साइन इन करने के लिए कहा जा रहा है