टेस्टर को नए बिल्ड के बारे में सूचना दें

वैकल्पिक Firebase App Distribution iOS और Android SDK टूल की मदद से ऐप्लिकेशन के नए बिल्ड उपलब्ध होने पर, टेस्टर को इन-ऐप्लिकेशन सूचनाएं भेजी जाती हैं इंस्टॉल. इस गाइड में App Distribution iOS और Android SDK टूल को इस्तेमाल करने का तरीका बताया गया है का इस्तेमाल करके अपने ऐप्लिकेशन की जांच करें.

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

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

पहला चरण: App Distribution Tester API चालू करना

  1. इसमें अपना प्रोजेक्ट चुनें: Google Cloud Console.

  2. Firebase App Testers API में जाकर, चालू करें पर क्लिक करें.

दूसरा चरण: अपने ऐप्लिकेशन में ऐप्लिकेशन डिस्ट्रिब्यूशन की सुविधा जोड़ना

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 टूल को शामिल करने से बचने के लिए अपने-आप अपडेट होने की सुविधा देता है. सभी में, सिर्फ़ एपीआई वाली लाइब्रेरी डिपेंडेंसी जोड़ें वैरिएंट बनाना. सिर्फ़ उन वैरिएंट में 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 का इस्तेमाल करें उन टेस्टर के लिए डायलॉग बॉक्स जिन्होंने अभी तक सूचनाएं चालू नहीं की हैं. इसके बाद, देखें कि बिल्ड उपलब्ध है. कॉल करने पर, यह तरीका नीचे दिया गया क्रम लागू करता है:

  1. यह जांचता है कि क्या किसी टेस्टर ने सूचनाएं चालू की हैं. अगर टेस्टर को अब तक चालू नहीं किया गया है इस तरीके में, टेस्टर को App Distribution में साइन इन करने के लिए प्रॉम्प्ट अपने Google खाते से साइन इन करें.

  2. टेस्टर को इंस्टॉल करने के लिए, उपलब्ध नए बिल्ड की जांच करता है.

  3. पहले से मौजूद सूचना दिखाती है, जो टेस्टर को अपडेट करने के लिए कहती है.

  4. अगर नया बिल्ड 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 के ऐप्लिकेशन डिस्ट्रिब्यूशन से जुड़ी समस्या हल करने के लिए गाइड समस्याओं को हल करने में मदद पाने के लिए, जैसे:

  • टेस्टर को ऐप्लिकेशन में सूचनाएं नहीं मिल रही हैं
  • टेस्टर को एक से ज़्यादा बार Google में साइन इन करने के लिए कहा जा रहा है