Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
This page was translated by the Cloud Translation API.
Switch to English

অ্যাপ বিতরণ এসডিকে দিয়ে অ্যাপ-ইন নতুন বিল্ড সতর্কতা সেট আপ করুন

আপনার অ্যাপ্লিকেশনটির নতুন বিল্ডগুলি যখন ইনস্টল করার জন্য উপলব্ধ থাকে তখন Fireচ্ছিক ফায়ারবেস অ্যাপ ডিস্ট্রিবিউশন এসডিকে আপনাকে আপনার পরীক্ষকদের কাছে অ্যাপ্লিকেশন সতর্কতা প্রদর্শন করতে দেয়। আপনার গাইডের জন্য নতুন বিল্ড সতর্কতা তৈরি করতে এবং কাস্টমাইজ করতে অ্যাপ ডিস্ট্রিবিউশন এসডিকে কীভাবে ব্যবহার করবেন তা এই গাইড ব্যাখ্যা করে।

তুমি শুরু করার আগে

আপনার যদি ইতিমধ্যে না থাকে তবে আপনার আইওএস প্রকল্পে ফায়ারবেস যুক্ত করুন

পদক্ষেপ 1 : অ্যাপ বিতরণ পরীক্ষক এপিআই সক্ষম করুন

  1. গুগল ক্লাউড কনসোলে আপনার প্রকল্প নির্বাচন করুন।

  2. ফায়ারবেস অ্যাপ পরীক্ষক এপিআই এর অধীনে সক্ষম ক্লিক করুন।

পদক্ষেপ 2 : আপনার অ্যাপে অ্যাপ বিতরণ যুক্ত করুন

আমরা ফায়ারবেস লাইব্রেরি ইনস্টল করতে কোকোপড ব্যবহার করার পরামর্শ দিই । আপনি সরাসরি এসডিকে ফ্রেমওয়ার্কগুলি সংহত করতেও চয়ন করতে পারেন।

  1. আপনি প্রকল্পের জন্য তৈরি পডফিলটি খুলুন (বা একটি তৈরি করার জন্য pod init করুন), তারপরে লক্ষ্য বিভাগের মধ্যে নিম্নলিখিত লাইনটি যুক্ত করুন:

    pod 'Firebase/AppDistribution'
  2. আপনার পোডফিলের ডিরেক্টরিতে, pod install চালান, তারপরে তৈরি .xcworkspace ফাইলটি খুলুন।

  3. আপনার গুগল অ্যাপ আইডি এনকোড করুন ( শুধুমাত্র আইওএস সংস্করণ 9 এবং 10 এর জন্য প্রয়োজনীয় ):

    আপনার গুগল অ্যাপ আইডি এনকোড করুন

    appdistribution-<encoded-google-app-id> যোগ appdistribution-<encoded-google-app-id> ইউআরএল স্কিমটি আপনার Info.plist file স্নিপেট Info.plist file (এক্সকোডে ইউআরএল স্কিম কীভাবে যুক্ত করবেন তার নির্দেশাবলী জন্য অ্যাপলের ডকুমেন্টেশন দেখুন ):

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>appdistribution-<encoded-google-app-id></string>
            </array>
        </dict>
    </array>
    

    তারপরে, কলোনগুলি (:) ড্যাশ (-) দিয়ে প্রতিস্থাপন করে আপনার গুগল অ্যাপ আইডি এনকোড করুন। নোট করুন যে আপনার গুগল অ্যাপ্লিকেশন আইডিটি আপনার গুগল GoogleService-Info.plist ফাইলটিতে অবস্থিত। উদাহরণস্বরূপ, যদি আপনার গুগল অ্যাপ আইডি হয়:

    7:77777777777:ios:123456789

    আপনার এনকোডযুক্ত গুগল অ্যাপ আইডিটি হ'ল:

    7-77777777777-ios-123456789
  4. আপনার UIApplicationDelegate মডিউলটি আমদানি করুন:

    সুইফট

    import Firebase
    

    উদ্দেশ্য গ

    @import Firebase;
    
  5. কনফিগার একটি FirebaseApp , উদাহরণস্বরূপ ভাগ সাধারণত আপনার অ্যাপ্লিকেশনের মধ্যে application:didFinishLaunchingWithOptions: পদ্ধতি:

    সুইফট

    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    উদ্দেশ্য গ

    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  6. শেষ পর্যন্ত, আপনার অ্যাপ্লিকেশনটি পুনরায় সংকলন করুন।

পদক্ষেপ 3 : অ্যাপ্লিকেশন সতর্কতা কনফিগার করুন

অ্যাপ্লিকেশন ডিস্ট্রিবিউশন এসডিকে আপনার পরীক্ষকদের জন্য অ্যাপ-বিল্ড সতর্কতা স্থাপনের দুটি উপায় সরবরাহ করে: একটি প্রাথমিক সতর্কতা কনফিগারেশন, যা পরীক্ষার্থীদের প্রদর্শিত হওয়ার জন্য প্রাক-বিল্ট সাইন-ইন কথোপকথন এবং একটি উন্নত সতর্কতা কনফিগারেশন সহ আসে যা আপনাকে অনুমতি দেয় আপনার নিজস্ব ইউজার ইন্টারফেস (ইউআই) কাস্টমাইজ করুন। আপনি যদি অ্যাপ বিতরণ এসডিকে নতুন হন তবে আমরা প্রথমে প্রাথমিক সতর্কতা কনফিগারেশনটি ব্যবহার করার পরামর্শ দিই।

বেসিক কনফিগারেশন

যে checkForUpdate এখনও সতর্কতা সক্ষম করেনি তাদের প্রাক বিল্ট সক্ষম সক্ষম সতর্কতা সংলাপ প্রদর্শন করতে checkForUpdate ব্যবহার করুন এবং তারপরে একটি নতুন বিল্ড উপলব্ধ কিনা তা পরীক্ষা করুন। যখন ডাকা হয়, পদ্ধতিটি নীচের ক্রমটি কার্যকর করে:

  1. কোনও পরীক্ষক তাদের গুগল অ্যাকাউন্টের সাথে অ্যাপ বিতরণে সাইন ইন করার অনুরোধ জানিয়ে সতর্কতা সক্ষম করেছে কিনা তা পরীক্ষা করে।

  2. যদি পরীক্ষক এখনও সতর্কতা সক্ষম না করে থাকে তবে একটি প্রাক-বিল্ট কথোপকথনটি প্রদর্শন করে।

    সতর্কতা সক্ষম করা টেস্ট ডিভাইসে এককালীন প্রক্রিয়া এবং আপনার অ্যাপ্লিকেশনটির আপডেটগুলি জুড়ে থাকে। অ্যাপ্লিকেশনটি আনইনস্টল না করা পর্যন্ত অথবা signOutTester পদ্ধতিটি না বলা পর্যন্ত সতর্কতাগুলি পরীক্ষার ডিভাইসে সক্ষম থাকে। আরও তথ্যের জন্য পদ্ধতির রেফারেন্স ডকুমেন্টেশন ( সুইফট বা উদ্দেশ্য-সি ) দেখুন।

  3. পরীক্ষক ইনস্টল করার জন্য নতুন উপলব্ধ বিল্ডগুলির জন্য চেক।

আপনি আপনার অ্যাপ্লিকেশনের যে কোনও মুহুর্তে checkForUpdate অন্তর্ভুক্ত করতে পারেন। উদাহরণস্বরূপ, যদি আপনি স্টার্টআপে সদ্য প্রাপ্তিসাধ্য তৈরী করে অন্তর্ভুক্ত করে ইনস্টল করতে আপনার পরীক্ষকদের সূচিত করে checkForUpdate মধ্যে viewDidAppear এর UIViewController

নিম্নলিখিত উদাহরণগুলি পরীক্ষক সতর্কতা সক্রিয় করেছে এবং একটি নতুন বিল্ডে অ্যাক্সেস করেছে কিনা তা পরীক্ষা করে দেখায় এবং যদি তাই হয়, বিল্ডটি ইনস্টল করার জন্য উপলব্ধ থাকে তখন একটি কথোপকথন প্রদর্শন করে:

সক্ষম সতর্কতাগুলির জন্য পরীক্ষা করুন :

সুইফট

AppDistribution.appDistribution().checkForUpdate(completion: { release, error in
// Includes a pre-built enable alerts dialogue that lets your tester enable alerts.
// You can also customize your own user interface that prompts the tester to
// install a newly available distribution (refer to sample code below).
})

উদ্দেশ্য গ

[[FIRAppDistribution appDistribution]
    checkForUpdateWithCompletion:^(FIRAppDistributionRelease *_Nullable release,
                                   NSError *_Nullable error) {
// Includes a pre-built enable alerts dialogue that lets your tester enable alerts.
// You can also customize your own user interface that prompts the tester to
// install a newly available distribution (refer to sample code below).
}];

নতুন বিল্ড ইনস্টল করার জন্য সংলাপ প্রদর্শন করুন :

সুইফট

AppDistribution.appDistribution().checkForUpdate(completion: { release, error in
  guard let release = release else {
    return
  }

  // Customize your alerts here.
  let title = "New Version Available"
  let message = "Version \(release.displayVersion)(\(release.buildVersion)) is available."
  let uialert = UIAlertController(title: title,message: message, preferredStyle: .alert)

  uialert.addAction(UIAlertAction(title: "Update", style: UIAlertAction.Style.default) {
    _ in
    UIApplication.shared.open(release.downloadURL)
  })
  uialert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel) {
    _ in
  })

  // self should be a UIViewController.
  self.present(uialert, animated: true, completion: nil)
})

উদ্দেশ্য গ

[[FIRAppDistribution appDistribution]
  checkForUpdateWithCompletion:^(FIRAppDistributionRelease *_Nullable release,
                                 NSError *_Nullable error) {
  if (error) {
  UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Check For Update"
message:[NSString stringWithFormat:@"Error during tester sign in! %@", error.localizedDescription]
preferredStyle:UIAlertControllerStyleAlert];

  UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {}];

  [alert addAction:okAction];
  [self presentViewController:alert animated:YES completion:nil];

  return;
  }

  if (release) {
  UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"New Version Available"
message:[NSString stringWithFormat:@"Version %@ (%@) is available.", release.displayVersion,
release.buildVersion] preferredStyle:UIAlertControllerStyleAlert];

  UIAlertAction *updateAction = [UIAlertAction actionWithTitle:@"Update"
style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
    [[UIApplication sharedApplication] openURL:release.downloadURL options:@{}
completionHandler:nil];
  }];
  UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {}];
  [alert addAction:updateAction];
  [alert addAction:cancelAction];
  [self presentViewController:alert animated:YES completion:nil];
  }
}];

উন্নত কনফিগারেশন

পদ্ধতিগুলি signInTester এবং isTesterSignedIn আপনাকে আপনার পরীক্ষকের সাইন ইন অভিজ্ঞতা কাস্টমাইজ করার জন্য আরও নমনীয়তা দেয় যাতে এটি আপনার অ্যাপ্লিকেশনটির চেহারা এবং অনুভূতির সাথে আরও ভাল মেলে।

নিম্নলিখিত উদাহরণটি পরীক্ষকরা ইতিমধ্যে তাদের ফায়ারবেস অ্যাপ বিতরণ পরীক্ষক অ্যাকাউন্টে সাইন ইন করেছে কিনা তা যাচাই করে, তাই আপনি কেবলমাত্র সাইন ইন না করে এমন পরীক্ষার্থীদের জন্য আপনার সাইন ইন ইউআই প্রদর্শন করতে পারেন the পরীক্ষক সাইন ইন করার পরে, আপনি তখন পরীক্ষককে নতুন বিল্ডে অ্যাক্সেস রয়েছে কিনা তা পরীক্ষা করতে checkForUpdate কল করুন।

সুইফট

// Sign in a tester without automatically checking for update
if (!AppDistribution.appDistribution().isTesterSignedIn) {
  AppDistribution.appDistribution().signInTester (completion: { error in
    // completion block for signInTester
     if (error != nil) {
       // handle failed sign in
      return
     }
    // handle successful sign in
  })
}

// Only check for update if tester is already signed in - do not prompt
if (AppDistribution.appDistribution().isTesterSignedIn) {
  AppDistribution.appDistribution().checkForUpdate(completion: { release, error in
      // completion block for check for update
  })
}

উদ্দেশ্য গ

// Sign in a tester without automatically checking for update
if(![[FIRAppDistribution appDistribution] isTesterSignedIn]) {
  [[FIRAppDistribution appDistribution]
    signInTesterWithCompletion:^(NSError *_Nullable error) {
      // completion block for signInTester
     if (error) {
       // handle failed sign in
       return;
     }
      // handle successful sign in
  }];
}

// only check for update if tester is already signed in - do not prompt
if([[FIRAppDistribution appDistribution] isTesterSignedIn]) {
  [[FIRAppDistribution appDistribution]
        checkForUpdateWithCompletion:^(FIRAppDistributionRelease *_Nullable release,
                                       NSError *_Nullable error) {
     // completion block for check for update
  }];
}

signOutTester সহ অতিরিক্ত পদ্ধতির তথ্যের জন্য, সুইফট এবং অবজেক্টিভ-সি এর জন্য অ্যাপ বিতরণ রেফারেন্স ডকুমেন্টেশন দেখুন।

পদক্ষেপ 4 : আপনার বাস্তবায়ন তৈরি করুন এবং পরীক্ষা করুন

অবশেষে, ফায়ারবেস কনসোল ব্যবহার করে বিল্ডকে পরীক্ষকদের বিতরণ করে আপনার অ্যাপ্লিকেশনটি তৈরি করুন এবং আপনার প্রয়োগটি পরীক্ষা করুন।

সাধারণ সমস্যাগুলির সাহায্যের জন্য অ্যাপ বন্টন সমস্যা সমাধানের গাইড দেখুন :

  • পরীক্ষক ইন-অ্যাপ্লিকেশন সতর্কতা গ্রহণ করছেন না
  • পরীক্ষককে গুগলে একাধিকবার সাইন ইন করার জন্য অনুরোধ করা হচ্ছে