Ali Sadeghi
4 سال پیش توسط Ali Sadeghi مطرح شد
2 پاسخ

ارسال نوتیفیکیشن از Nodejs به React Native

سلام به همه دوستان راکتی .
من توی Nodejs و React Native تازه کارم رو شروع کردم . و میخواستم بدونم چطور میتونم از طریق nodejs نوتیفیکیشن ارسال بکنم به اپلیکیشن React Native خودم .
(خوشحال میشم اگه فقط مراحل یا منابع خوبش رو هم ارسال کنید)


ثبت پرسش جدید
سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 4 سال پیش مطرح شد
1

سلام برای ارسال نوتیفیکیشن میتونید از سرویس های ارسال نوتیفیکیشن مثل firebase گوگل (انتخاب اول و بهتر) یا سرویس های ایرانی مثل پوشه استفاده کنید.

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

قدم بعدی تست نوتیفیکیشن هست که توی پروژه ایی که توی firebase ساختید در منوی سمت چپ بخش Cloud Messaging رو انتخاب کنید و اولین نوتیفیکیشن خودتون رو ارسال کنید.

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

//DETECT Firebae Token
 token = '';
  try {
    const enabled =  await firebase.messaging().hasPermission();

    if (enabled) {
      token = await firebase.messaging().getToken() || 'NOT_DETECTED';
    } else {
      await firebase.messaging().requestPermission();
      token = await firebase.messaging().getToken() || 'NOT_DETECTED';
    }
  } catch {
    token = 'NOT_DETECTED';
  }

حالا که این توکن رو دارید باید به سمت سرور خودتون ارسال کنید و توی دیتابیس سرور این توکن رو ذخیره کنید و مشخص کنید این توکن برای چه کاربریه تا وقتی که خواستید به این کاربر خاص نوتیفیکیشن ارسال کنید، با استفاده از توکنش این کار را انجام بدید.

وقتی که توکن رو سمت سرور گرفتید حالا همه چی برای ارسال نوتیفیکیشن به کاربر در سمت سرور آمادست.

برای ارسال از سمت سرور با nodeJs باید یک درخواست با متد POST به https://fcm.googleapis.com/fcm/send ارسال کنید که بدنه این درخواست به این صورت باید باشه:

{"registration_ids": ["fPsKvZPac_DbsMp8q86_zZjTjQ61_kJAxIInk7vHyWYMJkx_nhLFTDC4vTn0W5q5ZjLseTkFdjrJ2Kz-shYeRqOU0LYL_QIjW3TD716f0"],
    "collapse_key":  "example",
                "time_to_live": 122000,
                "notification": {
                    "title": "test",
                    "body": "body",
                    "icon": "https://example.ir//images/logo.png",
                    "tag":  "test"
                },
                "priority": "high"}

که در این بدنه registration_ids همان توکن فردی که میخواید بهش نوتیفیکیشن ارسال کنید.


Ali Sadeghi
تخصص : Javascript Developer
@alimsadeghi1 4 سال پیش مطرح شد
0

@sinashahoveisi
خیلی خیلی ممنون بابت راهنماییتون واقعا عالی بود 👏🌹


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام