یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام به همه دوستان راکتی .
من توی Nodejs و React Native تازه کارم رو شروع کردم . و میخواستم بدونم چطور میتونم از طریق nodejs نوتیفیکیشن ارسال بکنم به اپلیکیشن React Native خودم .
(خوشحال میشم اگه فقط مراحل یا منابع خوبش رو هم ارسال کنید)
سلام برای ارسال نوتیفیکیشن میتونید از سرویس های ارسال نوتیفیکیشن مثل 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 همان توکن فردی که میخواید بهش نوتیفیکیشن ارسال کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟