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

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

SDK را تنظیم کنید

این بخش شامل وظایفی است که ممکن است در صورت فعال کردن سایر ویژگی های Firebase برای برنامه خود انجام داده باشید.

قبل از اینکه شروع کنی

  • نصب و یا به روز رسانی اندروید استودیو به آخرین نسخه آن.

  • اطمینان حاصل کنید که پروژه شما دارای این الزامات است:

    • Targets API سطح 16 (Jelly Bean) یا بالاتر
    • از Android 4.1 یا بالاتر استفاده می کند
    • استفاده از jetpack است (AndroidX) ، که شامل ملاقات این شرایط نسخه:
      • com.android.tools.build:gradle v3.2.1 و یا بعد از
      • compileSdkVersion 28 و یا بعد از
  • تنظیم یک دستگاه فیزیکی یا استفاده از یک شبیه ساز برای اجرای برنامه خود را.
    توجه داشته باشید که فایربیس SDK ها با وابستگی به سرویسهای Google Play نیاز به دستگاه و یا شبیه ساز به سرویس Google Play نصب شده است.

  • ورود به فایربیس استفاده از حساب Google خود را.

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

ایجاد پروژه Firebase

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

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

برای استفاده از Firebase در برنامه Android خود ، باید برنامه خود را در پروژه Firebase خود ثبت کنید. ثبت برنامه شما اغلب "افزودن" برنامه شما به پروژه شما نامیده می شود.

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

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

  3. نام بسته نرم افزار خود را وارد کنید در قسمت نام بسته آندروید.

  4. نام مستعار برنامه و امضای اشکال زدایی گواهی SHA-1: (اختیاری) اطلاعات برنامه دیگر را وارد کنید.

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

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

  1. فایل پیکربندی Firebase Android را به برنامه خود اضافه کنید:

    1. برای به دست آوردن فایل پیکربندی فایربیس آندروید خود را کلیک کنید دانلود Google-services.json ( google-services.json ).

    2. فایل پیکربندی خود را به فهرست ماژول (سطح برنامه) برنامه خود منتقل کنید.

  2. برای فعال کردن محصولات فایربیس در برنامه شما، اضافه کردن گوگل-خدمات پلاگین به فایل های Gradle خود را.

    1. در خود ریشه در سطح (سطح پروژه) فایل Gradle ( build.gradle )، اضافه کردن قوانین شامل افزونه Google خدمات Gradle. بررسی کنید که آیا مخزن Maven Google را نیز دارید.

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. در ماژول خود را (در سطح برنامه) فایل Gradle (معمولا app/build.gradle )، درخواست افزونه Google خدمات Gradle:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

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

  1. با استفاده از فایربیس آندروید BOM ، اعلام وابستگی برای کتابخانه فایربیس ابر پیام آندروید در ماژول خود را (در سطح برنامه) فایل Gradle (معمولا app/build.gradle ).

    برای یک تجربه بهینه با Firebase ابر پیام، توصیه می کنیم قادر می سازد گوگل آنالیز در پروژه Firebase خود و اضافه کردن SDK فایربیس برای گوگل آنالیز برای برنامه شما.

    جاوا

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.1')
    
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    با استفاده از فایربیس آندروید BOM ، برنامه شما همیشه نسخه های سازگار با کتابخانه فایربیس آندروید استفاده خواهد کرد.

    (جایگزین) اعلام فایربیس وابستگی کتابخانه بدون استفاده از BOM

    در صورت عدم استفاده از Firebase BoM ، باید هر نسخه کتابخانه Firebase را در خط وابستگی مشخص کنید.

    توجه داشته باشید که در صورت استفاده از کتابخانه فایربیس های متعدد در برنامه شما، ما به شدت توصیه با استفاده از BOM به مدیریت نسخه های کتابخانه، که تضمین می کند که تمام نسخه های سازگار است.

    dependencies {
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging:22.0.0'
        implementation 'com.google.firebase:firebase-analytics:19.0.1'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.1')
    
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    با استفاده از فایربیس آندروید BOM ، برنامه شما همیشه نسخه های سازگار با کتابخانه فایربیس آندروید استفاده خواهد کرد.

    (جایگزین) اعلام فایربیس وابستگی کتابخانه بدون استفاده از BOM

    در صورت عدم استفاده از Firebase BoM ، باید هر نسخه کتابخانه Firebase را در خط وابستگی مشخص کنید.

    توجه داشته باشید که در صورت استفاده از کتابخانه فایربیس های متعدد در برنامه شما، ما به شدت توصیه با استفاده از BOM به مدیریت نسخه های کتابخانه، که تضمین می کند که تمام نسخه های سازگار است.

    dependencies {
        // Declare the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-messaging-ktx:22.0.0'
        implementation 'com.google.firebase:firebase-analytics-ktx:19.0.1'
    }
    

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

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

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

هنگام راه اندازی اولیه برنامه شما ، FCM SDK یک کد ثبت برای نمونه برنامه مشتری ایجاد می کند. اگر شما می خواهید به هدف قرار دادن دستگاه های تک و یا ایجاد گروه دستگاه، شما نیاز به دسترسی به این نشانه با گسترش FirebaseMessagingService و فارغ onNewToken .

این بخش نحوه بازیابی توکن و نحوه نظارت بر تغییرات آن را توضیح می دهد. از آنجا که می توان توکن را پس از راه اندازی اولیه چرخاند ، به شما توصیه می شود که آخرین رمز ثبت شده به روز شده را بازیابی کنید.

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

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

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

هنگامی که شما نیاز به بازیابی رمز فعلی، پاسخ FirebaseMessaging.getInstance().getToken() :

جاوا

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
          if (!task.isSuccessful()) {
            Log.w(TAG, "Fetching FCM registration token failed", task.getException());
            return;
          }

          // Get new FCM registration token
          String token = task.getResult();

          // Log and toast
          String msg = getString(R.string.msg_token_fmt, token);
          Log.d(TAG, msg);
          Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

Kotlin+KTX

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
    if (!task.isSuccessful) {
        Log.w(TAG, "Fetching FCM registration token failed", task.exception)
        return@OnCompleteListener
    }

    // Get new FCM registration token
    val token = task.result

    // Log and toast
    val msg = getString(R.string.msg_token_fmt, token)
    Log.d(TAG, msg)
    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})

نظارت بر تولید نشانه

onNewToken آتش سوزی پاسخ به تماس هر زمان که یک نشانه جدید تولید می شود.

جاوا

/**
 * There are two scenarios when onNewToken is called:
 * 1) When a new token is generated on initial app startup
 * 2) Whenever an existing token is changed
 * Under #2, there are three scenarios when the existing token is changed:
 * A) App is restored to a new device
 * B) User uninstalls/reinstalls the app
 * C) User clears app data
 */
@Override
public void onNewToken(String token) {
    Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

Kotlin+KTX

/**
 * Called if the FCM registration token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the
 * FCM registration token is initially generated so this is where you would retrieve the token.
 */
override fun onNewToken(token: String) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token)
}

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

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

  1. برنامه را در دستگاه مورد نظر نصب و اجرا کنید.

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

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

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

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

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

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

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

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

مراحل بعدی

ارسال پیام به برنامه های پیش زمینه

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

فراتر از پیام های اعلان بروید

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