به یک برنامه iOS سابقه دار پیام آزمایشی ارسال کنید

برای دریافت با FCM آغاز شده، ساخت ساده ترین مورد استفاده: ارسال یک پیام اطلاع رسانی آزمون از آهنگساز اطلاعیه به یک دستگاه توسعه زمانی که برنامه در پس زمینه بر روی دستگاه است. این صفحه همه مراحل برای رسیدن به این، از راه اندازی به تایید - ممکن است مراحل شما در حال حاضر تکمیل اگر شما تحت پوشش راه اندازی یک برنامه سرویس گیرنده در iOS برای FCM.

Firebase را به پروژه iOS خود اضافه کنید

این بخش شامل وظایفی است که ممکن است در صورت فعال کردن سایر ویژگی های Firebase برای برنامه خود انجام داده باشید. برای FCM به طور خاص، شما نیاز به آپلود کلیدی APN ها احراز هویت خود را و ثبت نام برای اطلاعیه از راه دور .

پیش نیازها

  • موارد زیر را نصب کنید:

    • کد X.2 12 یا بالاتر
    • CocoaPods 1.10.0 یا بالاتر
  • اطمینان حاصل کنید که پروژه شما دارای این الزامات است:

    • پروژه شما باید iOS 10 یا بالاتر را هدف قرار دهد.
  • تنظیم یک دستگاه فیزیکی در iOS برای اجرای برنامه خود را، و تکمیل این وظایف:

    • به دست آوردن یک هشدار از طریق فشار اپل اعتبار کلید برای خود حساب اپل توسعهدهنده .
    • فعال کردن فشار اطلاعیه در Xcode متعلق به تحت برنامه> قابلیت های.

اگر شما در حال حاضر یک پروژه Xcode متعلق اند و فقط می خواهم سعی کنید از یک محصول فایربیس، شما می توانید یکی از ما را دانلود نمونه شروع سریع .

ایجاد پروژه Firebase

قبل از افزودن Firebase به برنامه iOS خود ، باید یک پروژه Firebase ایجاد کنید تا به برنامه iOS خود متصل شوید. مشاهده درک پروژه فایربیس برای کسب اطلاعات بیشتر در مورد پروژه های فایربیس.

برنامه خود را با Firebase ثبت کنید

پس از انجام پروژه Firebase ، می توانید برنامه iOS خود را به آن اضافه کنید.

مشاهده درک پروژه فایربیس برای کسب اطلاعات بیشتر در مورد بهترین شیوه و ملاحظات برای اضافه کردن برنامه به یک پروژه فایربیس، از جمله نحوه اداره چندین انواع ساخت.

  1. رفتن به کنسول فایربیس .

  2. در مرکز صفحه مرور کلی پروژه، کلیک بر روی آیکون های iOS ( ) برای راه اندازی گردش کار راه اندازی شده است.

    اگر شما در حال حاضر یک برنامه اضافه به پروژه Firebase خود، کلیک کنید اضافه کردن برنامه برای نمایش گزینه های پلت فرم.

  3. ID بسته نرم افزاری برنامه خود را وارد کنید در iOS بسته نرم افزاری به حوزه ID.

  4. نام مستعار برنامه و فروشگاه App ID: (اختیاری) دیگر اطلاعات برنامه را وارد کنید.

  5. برنامه ثبت نام کلیک کنید.

یک فایل پیکربندی Firebase اضافه کنید

  1. برای به دست آوردن فایل پیکربندی فایربیس خود را IOS (کلیک کنید دانلود GoogleService-Info.plist GoogleService-Info.plist ).

  2. فایل پیکربندی خود را به ریشه پروژه Xcode خود منتقل کنید. در صورت درخواست ، انتخاب کنید تا فایل پیکربندی به همه اهداف اضافه شود.

اگر شما شناسه بسته نرم افزاری متعدد در پروژه خود را، شما باید هر ID بسته نرم افزاری با یک برنامه ثبت نام در کنسول فایربیس به طوری که هر برنامه می تواند خود را داشته مرتبط GoogleService-Info.plist فایل.

SDK های Firebase را به برنامه خود اضافه کنید

ما توصیه می کنیم با استفاده از CocoaPods به نصب کتابخانه فایربیس. با این حال، اگر شما ترجیح می CocoaPods استفاده نمی کند، شما می توانید قاب های SDK به طور مستقیم ادغام و یا استفاده از سویفت بسته بندی شده مدیریت به جای.

آیا شما استفاده از یکی از نمونه شروع سریع ؟ این پروژه Xcode و Podfile (با غلاف) در حال حاضر در حال حاضر، اما شما هنوز هم نیاز به اضافه کردن فایل پیکربندی Firebase خود و نصب غلاف.

  1. اگر قبلاً فایل Podfile ندارید ایجاد کنید:

    cd your-project-directory
    pod init
  2. به Podfile خود ، غلاف های Firebase را که می خواهید در برنامه خود استفاده کنید ، اضافه کنید.

    شما می توانید هر یک از اضافه محصولات فایربیس پشتیبانی به برنامه iOS خود را.

    برای یک تجربه بهینه با Firebase ابر پیام، توصیه می کنیم فعال کردن Google Analytics به در پروژه شما. همچنین ، به عنوان بخشی از راه اندازی Analytics ، باید Firebase SDK for Analytics را به برنامه خود اضافه کنید.

    تجزیه و تحلیل فعال است

    # Add the Firebase pod for Google Analytics
    pod 'Firebase/Analytics'
    
    # For Analytics without IDFA collection capability, use this pod instead
    # pod ‘Firebase/AnalyticsWithoutAdIdSupport’
    
    # Add the pod for Firebase Cloud Messaging
    pod 'Firebase/Messaging'

    اطلاعات بیشتر در مورد جشنواره آمستردام، در سطح شناسه دستگاه تبلیغاتی، در اپل بدانید حریم خصوصی کاربر و داده ها استفاده کنید و از نرم افزار ردیابی شفافیت اسناد و مدارک.

    تجزیه و تحلیل فعال نیست

    # Add the pod for Firebase Cloud Messaging
    pod 'Firebase/Messaging'
  3. نصب غلاف، پس از آن خود را باز .xcworkspace فایل که این طرح در Xcode متعلق به:

    pod install
    open your-project.xcworkspace

کلید احراز هویت APN خود را بارگذاری کنید

کلید احراز هویت APN خود را در Firebase بارگذاری کنید. اگر شما در حال حاضر یک کلید APN ها احراز هویت دارند، مطمئن شوید که به ایجاد یک در توسعه مرکز اپل کاربران .

  1. در داخل پروژه خود را در فایربیس کنسول، را انتخاب کنید آیکون چرخ دنده، تنظیمات پروژه را انتخاب کنید، و سپس برگه ابر پیام انتخاب کنید.

  2. در کلید احراز هویت APN ها تحت پیکربندی برنامه های iOS، کلیک بر روی دکمه آپلود.

  3. مرور به محل که در آن کلید خود را نجات داد، آن را انتخاب کنید، و روی Open کلیک کنید. اضافه کردن شماره شناسایی کلید برای کلید (موجود در توسعه مرکز اپل کاربران ) و آپلود را کلیک کنید.

ابتدا Firebase را در برنامه خود فعال کنید

شما باید کد اولیه Firebase را به برنامه خود اضافه کنید. ماژول Firebase را وارد کنید و یک نمونه مشترک را مطابق شکل پیکربندی کنید:

  1. واردات ماژول فایربیس خود را UIApplicationDelegate :

    سریع

    import Firebase

    هدف-ج

    @import Firebase;
  2. پیکربندی FirebaseApp عنوان مثال مشترک، به طور معمول در برنامه شما application:didFinishLaunchingWithOptions: روش:

    سریع

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

    هدف-ج

    // Use Firebase library to configure APIs
    [FIRApp configure];

برای اطلاع رسانی از راه دور ثبت نام کنید

در هنگام راه اندازی یا در نقطه مورد نظر در جریان برنامه ، برنامه خود را برای اعلانات از راه دور ثبت کنید. پاسخ registerForRemoteNotifications عنوان نشان داده شده:

سریع

if #available(iOS 10.0, *) {
  // For iOS 10 display notification (sent via APNS)
  UNUserNotificationCenter.current().delegate = self

  let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
  UNUserNotificationCenter.current().requestAuthorization(
    options: authOptions,
    completionHandler: { _, _ in }
  )
} else {
  let settings: UIUserNotificationSettings =
    UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
  application.registerUserNotificationSettings(settings)
}

application.registerForRemoteNotifications()

هدف-ج

if ([UNUserNotificationCenter class] != nil) {
  // iOS 10 or later
  // For iOS 10 display notification (sent via APNS)
  [UNUserNotificationCenter currentNotificationCenter].delegate = self;
  UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
      UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
  [[UNUserNotificationCenter currentNotificationCenter]
      requestAuthorizationWithOptions:authOptions
      completionHandler:^(BOOL granted, NSError * _Nullable error) {
        // ...
      }];
} else {
  // iOS 10 notifications aren't available; fall back to iOS 8-9 notifications.
  UIUserNotificationType allNotificationTypes =
  (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
  UIUserNotificationSettings *settings =
  [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
  [application registerUserNotificationSettings:settings];
}

[application registerForRemoteNotifications];

دسترسی به رمز ثبت نام

برای ارسال پیام به یک دستگاه خاص ، باید رمز ثبت آن دستگاه را بدانید. از آنجا که شما نیاز به وارد علامت در یک میدان در آهنگساز اطلاعیه برای تکمیل این آموزش، مطمئن شوید که برای کپی کردن رمز یا به صورت ایمن ذخیره آن بعد از شما آن را بازیابی کنید.

به طور پیش فرض ، FCM SDK در هنگام راه اندازی برنامه یک کد ثبت برای نمونه برنامه مشتری ایجاد می کند. مشابه توکن دستگاه APN ، این توکن به شما امکان می دهد اعلان های هدفمند را به هر نمونه خاصی از برنامه خود ارسال کنید.

در راه همان است که در iOS به طور معمول ارائه یک دستگاه APN ها نشانه در شروع برنامه FCM یک ثبت نام نشانه از طریق فراهم می کند FIRMessagingDelegate را messaging:didReceiveRegistrationToken: روش. FCM SDK در حین راه اندازی اولیه برنامه و هر زمان که این رمز به روز می شود یا باطل می شود ، یک توکن جدید یا موجود را بازیابی می کند. در تمام موارد، FCM SDK خواستار messaging:didReceiveRegistrationToken: با یک نشانه معتبر است.

نماد ثبت نام ممکن است در موارد زیر تغییر کند:

  • برنامه در دستگاه جدید بازیابی می شود
  • کاربر برنامه را حذف/نصب مجدد می کند
  • کاربر داده های برنامه را پاک می کند.

نماینده پیام را تنظیم کنید

برای دریافت نشانه ثبت نام، پیاده سازی پروتکل پیام نمایندگان و مجموعه FIRMessaging را delegate اموال پس از تماس [FIRApp configure] . برای مثال، اگر نماینده درخواست خود را مطابق با پروتکل پیام نماینده، شما می توانید نماینده در مجموعه application:didFinishLaunchingWithOptions: را به خود.

سریع

Messaging.messaging().delegate = self

هدف-ج

[FIRMessaging messaging].delegate = self;

واکشی رمز فعلی ثبت نام

نشانه ثبت نام از طریق روش تحویل messaging:didReceiveRegistrationToken: . این روش معمولاً یک بار در هر برنامه با رمز ثبت نام نامیده می شود. هنگامی که این روش نامیده می شود ، زمان ایده آل برای موارد زیر است:

  • اگر رمز ثبت نام جدید است ، آن را به سرور برنامه خود ارسال کنید.
  • نشانه ثبت نام در موضوعات را مشترک کنید. این مورد فقط برای اشتراک های جدید یا شرایطی که کاربر برنامه را دوباره نصب کرده است لازم است.

شما می توانید این رمز بازیابی طور مستقیم با استفاده توکن (تکمیل :) . اگر بازیابی توکن به هیچ وجه با شکست مواجه شود ، خطای غیر تهی ارائه می شود.

سریع

Messaging.messaging().token { token, error in
  if let error = error {
    print("Error fetching FCM registration token: \(error)")
  } else if let token = token {
    print("FCM registration token: \(token)")
    self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
  }
}

هدف-ج

[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
  if (error != nil) {
    NSLog(@"Error getting FCM registration token: %@", error);
  } else {
    NSLog(@"FCM registration token: %@", token);
    self.fcmRegTokenMessage.text = token;
  }
}];

می توانید در هر زمان از این روش برای دسترسی به توکن به جای ذخیره آن استفاده کنید.

بازخوانی رمز را کنترل کنید

برای اطلاع رسانی در صورت بروزرسانی توکن ، نماینده ای را مطابق پروتکل نمایندگان پیام ارسال کنید. مثال زیر نماینده را ثبت کرده و روش نمایندگی مناسب را اضافه می کند:

سریع

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
  print("Firebase registration token: \(String(describing: fcmToken))")

  let dataDict: [String: String] = ["token": fcmToken ?? ""]
  NotificationCenter.default.post(
    name: Notification.Name("FCMToken"),
    object: nil,
    userInfo: dataDict
  )
  // TODO: If necessary send token to application server.
  // Note: This callback is fired at each app startup and whenever a new token is generated.
}

هدف-ج

- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
    NSLog(@"FCM registration token: %@", fcmToken);
    // Notify about received token.
    NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"];
    [[NSNotificationCenter defaultCenter] postNotificationName:
     @"FCMToken" object:nil userInfo:dataDict];
    // TODO: If necessary send token to application server.
    // Note: This callback is fired at each app startup and whenever a new token is generated.
}

متناوبا، شما می توانید برای یک گوش دادن NSNotification نام kFIRMessagingRegistrationTokenRefreshNotification به جای تهیه یک روش نماینده. ویژگی توکن همیشه دارای ارزش توکن فعلی است.

پیام اطلاع رسانی ارسال کنید

  1. برنامه را در دستگاه مورد نظر نصب و اجرا کنید. برای دریافت اعلان های راه دور باید درخواست مجوز را بپذیرید.

  2. مطمئن شوید که برنامه در پس زمینه دستگاه قرار دارد.

  3. باز آهنگساز اطلاعیه و اطلاع رسانی جدید را انتخاب کنید.

  4. متن پیام را وارد کنید

  5. پیام آزمون ارسال را انتخاب کنید.

  6. در قسمتی تحت عنوان اضافه کردن یک کد ثبت FCM، ثبت نام رمز را که در بخش قبلی این راهنما به دست آمده را وارد کنید.

  7. تست کلیک کنید

پس از آزمون کلیک کنید، دستگاه مشتری هدفمند (با نرم افزار در پس زمینه) باید اطلاع رسانی در مرکز اطلاع رسانی دریافت خواهید کرد.

بینش به تحویل پیام را به برنامه خود را، مشاهده داشبورد FCM گزارش ، که سوابق تعدادی از پیام های ارسال شده و برای "برداشت" (اطلاعیه دیده شده توسط کاربران) برای برنامه های آندروید باز به دستگاه های iOS و آندروید، همراه با داده.

مراحل بعدی

برای فراتر رفتن از پیام های اعلان و افزودن رفتارهای پیشرفته تر به برنامه خود ، به موارد زیر مراجعه کنید: