از FCM و FIAM برای ارسال پیام به کاربران استفاده کنید

1. قبل از شروع

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

206c7ecece550bde.png

پیش نیازها

هیچ یک

چیزی که یاد خواهید گرفت

  • Firebase را به برنامه Android خود اضافه کنید
  • وابستگی های FCM و FIAM را اضافه کنید
  • پیام آزمایشی FCM را به برنامه خود ارسال کنید
  • پیام آزمایشی FIAM را به برنامه خود ارسال کنید

آنچه شما نیاز دارید

  • اندروید استودیو 4.1
  • دستگاه یا شبیه ساز اندروید

2. شروع کنید

کد نمونه را دریافت کنید

مخزن GitHub را از خط فرمان کلون کنید:

برنامه شروع را وارد کنید

از Android Studio، پوشه codelab-fcm-and-fiam انتخاب کنید ( android_studio_folder.png ). این همان چیزی است که در مرحله قبل شبیه سازی شده است ( File > Open > .../codelab-fcm-and-fiam).

اکنون باید پروژه FcmAndFiam را در Android Studio باز کنید. اگر هشداری در مورد گم شدن فایل google-services.json مشاهده کردید، نگران نباشید. در مرحله بعد اضافه خواهد شد.

3. پروژه کنسول Firebase را ایجاد کنید

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

  1. به کنسول Firebase بروید.
  2. افزودن پروژه را انتخاب کنید.
  3. نام پروژه را انتخاب یا وارد کنید.
  4. مراحل راه‌اندازی باقی‌مانده را در کنسول Firebase دنبال کنید، سپس روی ایجاد پروژه (یا افزودن Firebase، اگر از یک پروژه Google موجود استفاده می‌کنید) کلیک کنید.
  5. از صفحه نمای کلی پروژه جدید خود، روی نماد Android کلیک کنید تا گردش کار راه اندازی شود.
  6. نام بسته Codelab را وارد کنید: com.google.firebase.codelab.fcmandfiam

فایل google-services.json را به برنامه خود اضافه کنید

پس از افزودن نام بسته، روی Register App کلیک کنید، سپس google-services.json را دانلود کنید تا فایل پیکربندی Android Firebase خود را دریافت کنید، سپس فایل google-services.json را در فهرست app در پروژه خود کپی کنید. پس از دانلود فایل، می توانید برای مراحل بعدی نشان داده شده در کنسول، روی Skip کلیک کنید (این مراحل قبلاً برای شما در پروژه build-android-start انجام شده است).

افزونه google-services را به برنامه خود اضافه کنید

افزونه google-services از فایل google-services.json برای پیکربندی برنامه شما برای استفاده از Firebase استفاده می کند. وابستگی افزونه google-services و خود افزونه باید قبلاً به ترتیب به فایل‌های ساخت پروژه و برنامه اضافه شوند. ورودی های زیر را تأیید کنید:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

وابستگی ها را اضافه کنید

FCM و FIAM به وابستگی های زیر نیاز دارند. این وابستگی ها باید قبلاً به فایل ساخت سطح برنامه اضافه شوند. تأیید کنید که وابستگی های زیر اضافه شده اند:

app/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

پروژه خود را با فایل های gradle همگام سازی کنید

برای اطمینان از اینکه همه وابستگی ها برای برنامه شما در دسترس هستند، باید پروژه خود را با فایل های gradle در این مرحله همگام کنید. File > Sync Project with Gradle Files را از نوار ابزار Android Studio انتخاب کنید.

4. شناسه ورود به سیستم

Firebase Cloud Messaging و Firebase In App Messaging هر دو از شناسه‌ها برای ارسال پیام به برنامه‌ها استفاده می‌کنند. FCM از یک رمز ثبت و FIAM از شناسه نصب استفاده می کند.

  1. در MainActivity.kt کد TODO را با کد زیر جایگزین کنید تا شناسه های مورد نیاز برای ارسال پیام را ثبت کنید:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. دستگاه اندروید خود را وصل کنید و روی Run کلیک کنید ( execute.png )در نوار ابزار Android Studio. با ضربه زدن روی دکمه Log Identifiers ، نشانه ثبت FCM و شناسه نصب Firebase در logcat ثبت می شود. خروجی باید به شکل زیر باشد:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. پیام آزمایشی FCM را ارسال کنید

پیام های FCM را می توان هم از کنسول Firebase و هم از FCM REST API ارسال کرد. در این کد لبه ما یک پیام اعلان FCM ایجاد می کنیم و آن را به دستگاه خود ارسال می کنیم. پیام های اعلان پیام هایی هستند که در قسمت اطلاع رسانی سیستم نمایش داده می شوند. ارسال یک پیام آزمایشی FCM توسط:

  1. اطمینان حاصل کنید که برنامه در پس‌زمینه است (به صفحه اصلی بروید)
  2. به کنسول Firebase بروید و Cloud Messaging را در ناوبری سمت چپ انتخاب کنید
  3. ارسال اولین پیام خود را انتخاب کنید
  4. یک عنوان و متن برای پیام اضافه کنید، سپس روی ارسال پیام آزمایشی کلیک کنید

207ced65f5245ada.png

  1. رمز ثبت FCM را اضافه کنید، سپس روی تست کلیک کنید

f3556c6a8a6453fe.png

  1. اعلان نمایشگر را روی دستگاه مشاهده کنید
  2. با ضربه زدن روی اعلان، برنامه باز می شود

6. پیام آزمایشی FIAM را ارسال کنید

Firebase In App Messaging می تواند در نتیجه رویدادهای مختلف کاربر فعال شود. پیام آزمایشی از رویداد باز شدن برنامه برای راه‌اندازی پیام درون برنامه استفاده می‌کند. ارسال یک پیام آزمایشی FIAM توسط:

  1. اطمینان حاصل کنید که برنامه در پس‌زمینه است (به صفحه اصلی بروید)
  2. به کنسول Firebase بروید و In-App Messaging را در ناوبری سمت چپ انتخاب کنید
  3. ایجاد اولین کمپین خود را انتخاب کنید
  4. کمپین بنر برتر را انتخاب کنید و عنوان و متن پیام را وارد کنید
  5. روی تست روی دستگاه کلیک کنید

69f6ea5efff240d1.png

  1. شناسه نصب را اضافه کنید و روی Test کلیک کنید

24b101edfab47144.png

  1. برنامه را دوباره باز کنید
  2. پیام را در برنامه مشاهده کنید

7. تبریک می گویم

تبریک می‌گوییم، شما پیام‌های FCM و FIAM را با موفقیت ارسال کردید. اکنون می‌دانید که چگونه با کاربران خود ارتباط برقرار کنید، چه آن‌ها از برنامه شما در پیش‌زمینه استفاده می‌کنند یا برنامه شما در پس‌زمینه.

بیشتر خواندن

بعد چه است

  • در برنامه اندروید خود برای کاربران پیام ارسال کنید.

اسناد مرجع