Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

قم بإعداد تنبيهات بناء جديدة داخل التطبيق باستخدام App Distribution SDK

يتيح لك Firebase App Distribution SDK ، وهو اختياري للاستخدام ، عرض التنبيهات داخل التطبيق للمختبرين عند توفر إصدارات جديدة من تطبيقك للتثبيت. يشرح هذا الدليل كيفية استخدام App Distribution SDK لإنشاء وتخصيص تنبيهات بناء جديدة للمختبرين.

قبل ان تبدأ

أضف Firebase إلى مشروع iOS الخاص بك ، إذا لم تكن قد قمت بذلك بالفعل.

الخطوة 1 : تفعيل واجهة برمجة تطبيقات اختبار توزيع التطبيق

  1. حدد مشروعك في وحدة تحكم Google Cloud Platform .

  2. ضمن Firebase App Testers API ، انقر على تمكين .

الخطوة 2 : أضف توزيع التطبيق إلى تطبيقك

نوصي باستخدام CocoaPods لتثبيت مكتبات Firebase . ومع ذلك ، إذا كنت تفضل عدم استخدام CocoaPods ، فيمكنك دمج أطر عمل SDK مباشرةً .

  1. افتح ملف podfile الذي أنشأته للمشروع (أو قم بتشغيل pod init لإنشاء واحد) ، ثم أضف السطر التالي داخل القسم الهدف:

    pod 'Firebase/AppDistribution'
  2. في دليل ملف podfile الخاص بك ، قم بتشغيل pod install ، ثم افتح ملف .xcworkspace تم إنشاؤه.

  3. قم بترميز معرف تطبيق Google الخاص بك ( مطلوب فقط للإصدارات 9 و 10 من نظام التشغيل iOS ):

    قم بترميز معرف تطبيق Google الخاص بك

    أضف appdistribution-<encoded-google-app-id> مخطط عنوان URL من خلال تضمين المقتطف في Info.plist file (راجع وثائق Apple للحصول على إرشادات حول كيفية إضافة مخطط URL في Xcode):

    100 FC24219

    بعد ذلك ، قم بترميز معرف تطبيق Google الخاص بك عن طريق استبدال النقطتين (:) بالشرطات (-). لاحظ أن معرف تطبيق Google موجود في ملف GoogleService-Info.plist الخاص بك. على سبيل المثال ، إذا كان معرف تطبيق Google الخاص بك هو:

    7:77777777777:ios:123456789

    معرف تطبيق Google المشفر الخاص بك هو:

    7-77777777777-ios-123456789
  4. استيراد وحدة Firebase في UIApplicationDelegate :

    سويفت

    import Firebase
    

    ج موضوعية

    @import Firebase;
    
  5. قم FirebaseApp مثيل FirebaseApp المشترك ، عادةً في تطبيق تطبيقك application:didFinishLaunchingWithOptions: method:

    سويفت

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

    ج موضوعية

    // Use Firebase library to configure APIs
    [FIRApp configure];
    
  6. أخيرًا ، أعد تجميع تطبيقك.

الخطوة 3 : تكوين التنبيهات داخل التطبيق

يوفر App Distribution SDK طريقتين لإعداد تنبيهات بناء داخل التطبيق للمختبرين: تكوين تنبيه أساسي ، والذي يأتي مع حوار تسجيل دخول مُدمج مسبقًا لعرضه على المختبرين ، وتكوين تنبيه متقدم ، والذي يسمح لك تخصيص واجهة المستخدم الخاصة بك (UI). إذا كنت حديث العهد باستخدام SDK ، فإننا نوصي أولاً بتجربة تكوين التنبيه الأساسي.

التكوين الأساسي

استخدم checkForUpdate لعرض checkForUpdate حوار تنبيهات التمكين المبني مسبقًا للمختبرين الذين لم يقوموا بتمكين التنبيهات بعد ، ثم تحقق من توفر بنية جديدة. عندما يتم استدعاؤها ، تقوم الطريقة بتفعيل التسلسل التالي:

  1. للتحقق مما إذا كان أحد المختبرين قد قام بتمكين التنبيهات عن طريق مطالبتهم بتسجيل الدخول إلى App Distribution باستخدام حساب Google الخاص بهم.

  2. إذا لم يقم المُختبِر بتمكين التنبيهات بعد ، فسيتم عرض حوار مُعد مسبقًا. تمكين التنبيهات هو عملية لمرة واحدة على جهاز الاختبار وتستمر عبر تحديثات تطبيقك. بمجرد التمكين ، تظل التنبيهات ممكّنة على الجهاز حتى يتم إلغاء تثبيت التطبيق ، أو حتى يتم استدعاء طريقة signOutTester (لمزيد من المعلومات حول طريقة التكوين المتقدمة هذه ، راجع وثائق مرجع توزيع التطبيقات لـ Swift و Objective-C ).

  3. يتحقق من البنيات المتوفرة حديثًا لتثبيتها المختبِر.

على سبيل المثال ، يتحقق الرمز التالي من تمكين المُختبِر للتنبيهات ولديه حق الوصول إلى بنية جديدة:

سويفت

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

لاحظ أنه يمكنك تضمين هذه الطريقة في أي وقت في تطبيقك. على سبيل المثال، يمكنك مطالبة اختبار لتثبيت يبني المتوفرة حديثا عند بدء التشغيل من قبل بما في ذلك checkForUpdate في viewDidAppear من UIViewController .

يعرض المثال التالي حوارًا للمُختبِر عندما يتوفر إصدار جديد للتثبيت:

سويفت

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

للحصول على معلومات حول الأساليب الإضافية ، راجع وثائق مرجع توزيع التطبيقات لـ Swift و Objective-C .

التكوين المتقدم

signInTester و isTesterSignedIn مزيدًا من المرونة في تخصيص تجربة تسجيل الدخول لدى المختبِر ، بحيث يمكن أن تتطابق بشكل أفضل مع شكل التطبيق isTesterSignedIn .

يتحقق المثال التالي مما إذا كان المُختبِر قد قام بالفعل بتسجيل الدخول إلى حساب مختبري Firebase App Distribution الخاص به ، بحيث يمكنك اختيار عرض واجهة مستخدم تسجيل الدخول الخاصة بك فقط للمختبرين الذين لم يسجلوا الدخول بعد. بعد تسجيل المختبِر الدخول ، يمكنك حينئذٍ call 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
  })
}

ج موضوعية

441 فابى 0

للحصول على معلومات حول الطرق الإضافية ، بما في ذلك signOutTester ، راجع الوثائق المرجعية لتوزيع التطبيقات لـ Swift و Objective-C .

الخطوة 4 : بناء واختبار التنفيذ الخاص بك

أخيرًا ، أنشئ تطبيقك واختبر التنفيذ عن طريق توزيع الإصدار على المختبرين باستخدام وحدة تحكم Firebase.

تفضل بزيارة دليل استكشاف أخطاء توزيع التطبيقات وإصلاحها للحصول على المساعدة في المشكلات الشائعة ، مثل:

  • لا يتلقى المختبر تنبيهات داخل التطبيق
  • يُطلب من المختبر تسجيل الدخول إلى Google أكثر من مرة