Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

नए बिल्ड के बारे में परीक्षकों को सूचित करें

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

वैकल्पिक फायरबेस ऐप वितरण आईओएस और एंड्रॉइड एसडीके आपको अपने परीक्षकों को इन-ऐप अलर्ट प्रदर्शित करने देते हैं जब आपके ऐप के नए बिल्ड इंस्टॉल के लिए उपलब्ध होते हैं। यह मार्गदर्शिका बताती है कि अपने परीक्षकों के लिए नए बिल्ड अलर्ट बनाने और कस्टमाइज़ करने के लिए ऐप वितरण आईओएस और एंड्रॉइड एसडीके का उपयोग कैसे करें।

शुरू करने से पहले

यदि आपने पहले से ऐसा नहीं किया है, तो अपने Android प्रोजेक्ट में Firebase जोड़ें

चरण 1 : ऐप वितरण परीक्षक API सक्षम करें

  1. Google क्लाउड कंसोल में अपना प्रोजेक्ट चुनें।

  2. फायरबेस ऐप टेस्टर्स एपीआई के तहत, सक्षम करें पर क्लिक करें

चरण 2 : अपने ऐप में ऐप डिस्ट्रीब्यूशन जोड़ें

ऐप वितरण एंड्रॉइड एसडीके में दो पुस्तकालय शामिल हैं:

  • firebase-appdistribution-api - एपीआई-ओनली लाइब्रेरी, जिसे आप सभी बिल्ड वेरिएंट में शामिल कर सकते हैं।
  • firebase-appdistribution - पूर्ण एसडीके कार्यान्वयन (वैकल्पिक)।

API-only लाइब्रेरी आपके कोड को SDK को कॉल करने देती है। यदि पूर्ण SDK कार्यान्वयन मौजूद नहीं है, तो कॉल का कोई प्रभाव नहीं पड़ेगा।

अपने मॉड्यूल (ऐप-लेवल) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle ) में ऐप डिस्ट्रीब्यूशन एंड्रॉइड एसडीके के लिए निर्भरता की घोषणा करें। अपने Play बिल्ड में पूर्ण SDK कार्यान्वयन की स्वयं-अपडेट कार्यक्षमता को शामिल करने से बचने के लिए, सभी बिल्ड वेरिएंट में केवल-एपीआई लाइब्रेरी निर्भरता जोड़ें। केवल पूर्ण एसडीके कार्यान्वयन को वेरिएंट में जोड़ें जो विशेष रूप से पूर्व-रिलीज़ परीक्षण के लिए अभिप्रेत हैं:

Java

dependencies {
    // ADD the API-only library to all variants
    implementation 'com.google.firebase:firebase-appdistribution-api:16.0.0-beta04'

    // ADD the full SDK implementation to the "beta" variant only (example)
    betaImplementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta04'
}

Kotlin+KTX

dependencies {
    // ADD the API-only library to all variants
    implementation 'com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta04'

    // ADD the full SDK implementation to the "beta" variant only (example)
    betaImplementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta04'
}

चरण 3 : इन-ऐप अलर्ट कॉन्फ़िगर करें

ऐप डिस्ट्रीब्यूशन एंड्रॉइड एसडीके आपके परीक्षकों के लिए इन-ऐप बिल्ड अलर्ट सेट करने के निम्नलिखित तरीके प्रदान करता है:

  • एक बुनियादी अलर्ट कॉन्फ़िगरेशन जो परीक्षकों को प्रदर्शित करने के लिए पूर्व-निर्मित ऐप अपडेट और साइन-इन संवादों के साथ आता है।
  • एक उन्नत अलर्ट कॉन्फ़िगरेशन जो आपको अपने स्वयं के उपयोगकर्ता इंटरफ़ेस को अनुकूलित करने की अनुमति देता है।

अगर आप पहली बार ऐप डिस्ट्रीब्यूशन एंड्रॉइड एसडीके का उपयोग कर रहे हैं, तो हम बेसिक कॉन्फ़िगरेशन का उपयोग करने की सलाह देते हैं।

बुनियादी विन्यास

उन परीक्षकों को पूर्व-निर्मित सक्षम अलर्ट संवाद प्रदर्शित करने के लिए updateIfNewReleaseAvailable का उपयोग करें, जिन्होंने अभी तक अलर्ट सक्षम नहीं किया है, और फिर जांचें कि कोई नया बिल्ड उपलब्ध है या नहीं। जब बुलाया जाता है, तो विधि निम्नलिखित अनुक्रम को लागू करती है:

  1. जांचता है कि किसी परीक्षक ने अलर्ट सक्षम किया है या नहीं। यदि परीक्षक ने अभी तक अलर्ट सक्षम नहीं किया है, तो विधि परीक्षक को अपने Google खाते से ऐप वितरण में साइन इन करने के लिए प्रेरित करती है।

  2. परीक्षक को स्थापित करने के लिए नए उपलब्ध बिल्ड की जांच करता है।

  3. एक पूर्व-निर्मित अलर्ट प्रदर्शित करता है जो परीक्षक को अद्यतन करने के लिए प्रेरित करता है।

  4. यदि नया बिल्ड एक Android ऐप बंडल (AAB) है, तो अपडेट प्रक्रिया को पूरा करने के लिए परीक्षक को Google Play पर रीडायरेक्ट करता है।

    यदि नया बिल्ड एक Android एप्लिकेशन PacKage (APK) है, तो SDK नए बिल्ड को पृष्ठभूमि में डाउनलोड करता है और डाउनलोड पूर्ण होने पर परीक्षक को इंस्टॉल करने के लिए प्रेरित करता है। एसडीके अधिसूचना प्रबंधक का उपयोग करके उपयोगकर्ता को डाउनलोड प्रगति NotificationManager भेजता है। आप एक onProgressUpdate हैंडलर को updateIfNewReleaseAvailable कार्य में संलग्न करके अपना स्वयं का प्रगति संकेतक भी जोड़ सकते हैं।

आप अपने ऐप में किसी भी समय updateIfNewReleaseAvailable को कॉल कर सकते हैं। उदाहरण के लिए, आप ऐप की मुख्य गतिविधि के onResume विधि के दौरान updateIfNewReleaseAvailable को कॉल कर सकते हैं।

निम्न उदाहरण जांचता है कि क्या परीक्षक ने अलर्ट सक्षम किया है और एक नए बिल्ड तक पहुंच है। यदि इन शर्तों को पूरा किया जाता है, तो बिल्ड स्थापित करने के लिए उपलब्ध होने पर एक संवाद प्रदर्शित होता है:

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;
        }
      }
    });

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.
          }
        }
      }
    }

उन्नत विन्यास

उन्नत साइन-इन कॉन्फ़िगरेशन

signInTester और isTesterSignedIn के तरीके आपको अपने परीक्षक के साइन-इन अनुभव को अनुकूलित करने के लिए अधिक लचीलापन प्रदान करते हैं, ताकि परीक्षक अनुभव आपके ऐप के रंगरूप से बेहतर मेल खा सके।

निम्न उदाहरण जांचता है कि क्या परीक्षक ने पहले ही अपने ऐप वितरण परीक्षक खाते में साइन इन कर लिया है। यह आपको अपना साइन-इन यूजर इंटरफेस (यूआई) केवल उन परीक्षकों को प्रदर्शित करने देता है जिन्होंने अभी तक साइन इन नहीं किया है। परीक्षक के साइन इन करने के बाद, आप यह जांचने के लिए updateIfNewReleaseAvailable उपलब्ध है कि परीक्षक के पास नए बिल्ड तक पहुंच है या नहीं।

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.
    });
}

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.
    }
}

अपने साइन-इन UI से, जब परीक्षक आगे बढ़ना चुनता है, तो signInTester() पर कॉल करें:

Java

firebaseAppDistribution.signInTester().addOnSuccessListener( unused -> {
  // Handle successful sign-in.
}).addOnFailureListener(e -> {
  // Handle failed sign-in.
});

Kotlin+KTX

firebaseAppDistribution.signInTester().addOnSuccessListener {
  // Handle successful sign-in.
}.addOnFailureListener {
  // Handle failed sign-in.
});

उन्नत अद्यतन विन्यास

जब आपके परीक्षक को अपडेट करने के लिए कहा जाता है, तो विधियाँ checkForNewRelease और updateApp आपको अनुकूलित करने के लिए अधिक लचीलापन देती हैं। आप प्री-बिल्ट अपडेट डायलॉग को भी कस्टमाइज़ कर सकते हैं और प्रोग्रेस इंडिकेटर डाउनलोड कर सकते हैं ताकि वे आपके ऐप के लुक और फील से बेहतर तरीके से मेल खा सकें।

ध्यान दें कि updateApp डाउनलोड प्रगति संकेत प्रदान नहीं करता है। इसका मतलब है कि आपको अपने स्वयं के प्रगति संकेत को लागू करने की आवश्यकता है NotificationManager , किसी प्रकार का इन-ऐप स्थिति प्रदर्शन, या किसी अन्य दृष्टिकोण का उपयोग करना।

निम्न उदाहरण जांचता है कि कोई नई रिलीज़ उपलब्ध है या नहीं और फिर एक कस्टम UI प्रदर्शित करता है। checkForNewRelease और updateApp को कॉल करने से पहले, सुनिश्चित करें कि उन्नत साइन-इन कॉन्फ़िगरेशन का उपयोग करके परीक्षक ने साइन इन किया है।

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.
});

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.
}

जब परीक्षक आपके अपडेट UI से अपडेट के साथ आगे बढ़ना चुनता है, तो updateApp() पर कॉल करें:

Java

firebaseAppDistribution.updateApp()
    .addOnProgressListener(updateState -> {
      // Use updateState to show update progress.
    });

Kotlin+KTX

firebaseAppDistribution.updateApp()
    .addOnProgressListener { updateState ->
      // Use updateState to show update progress.
    }

चरण 4 : अपने कार्यान्वयन का निर्माण और परीक्षण करें

Firebase कंसोल का उपयोग करके परीक्षकों को बिल्ड वितरित करके अपना ऐप बनाएं और अपने कार्यान्वयन का परीक्षण करें।

सामान्य समस्याओं में सहायता के लिए ऐप वितरण समस्या निवारण मार्गदर्शिका पर जाएँ, जैसे:

  • परीक्षक को इन-ऐप अलर्ट नहीं मिल रहा है
  • परीक्षक को Google में एक से अधिक बार साइन इन करने के लिए प्रेरित किया जा रहा है