push-уведомление на сайте с помощью сервисного работника и fcm - PullRequest
0 голосов
/ 04 января 2019

Привет, я новичок в push-уведомлениях. Я хочу реализовать push-уведомления на моем сайте, используя сервисный работник и fcm. Я следую этому URL 'https://developers.google.com/web/fundamentals/codelabs/push-notifications/' и создаю в моем клиентском приложении всплывающее окно с отображением уведомлений, когда я разрешаю уведомление о создании точки входа, p256dh и ключе авторизации. Я также создал сервис, используя entpoint, p256dh, auth и private, открытый ключ и уведомление об отправке. это уведомление получено клиентом.

c # код для отправки уведомления приведен ниже.

 var pushEndpoint = @"https://fcm.googleapis.com/fcm/send/fOetqkkxzlM:APA91bHASHHThdRC4dDCnZJxAy6ZngUHhxsT9mjF5xuBDpM5kzy-dq2jcbQtsiDcXZ9WcOTE4GWzUZkvGbt3xBH0y61mqbkRVkjvBfvgnUqAGf1hsIrUXpsrl9nfqmrlXx2UFWaTJerC";
    var p256dh = @"BHmoaUoqJ6rUitaXj-YvXbuORO_x6lFigO-NV1ceDygb4GhywOw7WIKWOtWqMsVswl8pUCVJrPiNtyVQFirD1oI";
    var auth = @"-aFkO3hZKP6u0BZwKRNDiw";

    var subject = @"mailto:xyz@gmail.com";
    var publicKey = @"BNizeduk-kgre_pz7aj0_t89t-5nvQttzyL17rQfsc7GlOFIfn0qVKyLF81ahCGdsMdhWz-5n_PQavZHywBt9Rs";
    var privateKey = @"W21b4Jh9qSoGI7GpKHAq6ikMBjTStiBvQP_wWVvVRqE";

    var subscription = new PushSubscription(pushEndpoint, p256dh, auth);
    var vapidDetails = new VapidDetails(subject, publicKey, privateKey);
    //var gcmAPIKey = @"[your key here]";
    string payload = @"{""user"":{""name"":""mohan"",""teamname"":""b"",""email"":""c"",""players"":[""1"",""2""]}}";

    var webPushClient = new WebPushClient();
    try
    {
        webPushClient.SendNotification(subscription, payload, vapidDetails);

        //webPushClient.SendNotification(subscription, "payload", gcmAPIKey);
    }
    catch (WebPushException exception)
    {
        Console.WriteLine("Http STATUS code" + exception.StatusCode);

    }

Моя проблема в том, что для каждого клиента, который я должен пройти, я должен передать entpoint, p256dh, ключ авторизации. Могу ли я автоматизировать это? например, могу ли я получить эти ключи (entpoint, p256dh, auth) для всех пользователей, которые подписались на пользователей, и отправлять сообщения одновременно.

помогите пожалуйста

...