دسته بندی ها
09:41 1401/06/16

ارسال Notification از طریق مرورگر در Asp.net Core

مشخصات سوال کننده :
کاربر : Daneshfar     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2223
هوش مصنوعی

پاسخ هوش مصنوعی

برای ارسال نوتیفیکیشن از طریق مرورگر در Asp.net Core، شما می توانید از Web Push Notifications استفاده کنید. برای این کار، مراحل زیر را دنبال کنید:

1. **افزودن کتابخانه های مورد نیاز**: شما به کتابخانه ای برای مدیریت Push Notifications نیاز دارید. برای این کار می توانید از کتابخانه web-push استفاده کنید.

2. **ثبت Service Worker**: یک Service Worker برای مدیریت نوتیفیکیشن ها در سمت کلاینت نیاز دارید. کد زیر را در فایل JavaScript خود اضافه کنید:


if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('/service-worker.js')
    .then(function(registration) {
        console.log('Service Worker registered with scope:', registration.scope);
    })
    .catch(function(error) {
        console.error('Service Worker registration failed:', error);
    });
}

3. **نوشتن کد Service Worker**: در فایلی به نام service-worker.js، محتوای زیر را اضافه کنید:


self.addEventListener('push', function(event) {
    var options = {
        body: event.data ? event.data.text() : 'بدون محتوا',
        icon: 'icon.png',
        badge: 'badge.png'
    };
    event.waitUntil(
        self.registration.showNotification('عنوان نوتیفیکیشن', options)
    );
});

4. **ایجاد Subscriptions در سمت سرور**: سمت سرور باید کاربر را برای دریافت نوتیفیکیشن ها ثبت کند. این کار معمولاً با ذخیره آدرس endpoint، keys و غیره انجام می شود. نمونه کد زیر می تواند در کنترلر ASP.NET Core شما مورد استفاده قرار گیرد:


public async Task Subscribe([FromBody] PushSubscription subscription)
{
    // Store the subscription to send notifications later
    // Use your database or in-memory store
    return Ok();
}

5. **ارسال نوتیفیکیشن**: وقتی می خواهید نوتیفیکیشن را ارسال کنید، از کتابخانه web-push استفاده کنید. نمونه کد زیر ممکن است مفید باشد:


using WebPush;

var pushSubscription = new PushSubscription(endpoint, p256dh, auth);
var vapidDetails = new VapidDetails("mailto:example@yourdomain.com", publicKey, privateKey);
var webPushClient = new WebPushClient();
await webPushClient.SendNotificationAsync(pushSubscription, "متن نوتیفیکیشن", vapidDetails);

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

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 23:09 1401/06/16

این موردی که شما میفرمایید Push Notification بهش می گن. کافیه توی گوگل عبارت زیر رو سرچ کنید. آموزشهای زیادی در این رابطه میاد که میتونید استفاده کنید.

create push notification in asp.net core

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود