2016-04-14 4 views
-1

Я использую локон команду отправить уведомление толчок работает properly.Here мой локон командаКак отправить уведомления толчка в прогрессивном веб-приложение

curl --header "Authorization: key=GjO1y_hPm-xUdgnM25Ny4" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"dFWzS2cc7I0:APmREGNkRg8YKdlVp89vUVNTuEI0ygJ8TZ-7lhzs9wGek6nEiojzA-N2BC1dxbPpT1_VsTtM6kS9LLJ90bIK_xvt5Y2TTx6qB_GUsjYxGF3Ni4UBr7_H6NeVMIYmYPj7\"]}" 

Когда я выполнить эту команду через уведомление командной строки доставляется пользователю . Я хочу отправить уведомление на кнопку click.how я могу это сделать.

+0

Что ваш сервер делает на 'send_notification'? – Marco

ответ

0

Я использую asp.net C# для отправки уведомлений на кнопку click.here мой код

protected void Button1_Click(object sender, EventArgs e) 
    { 
string RegArr = string.Empty; 
RegArr = string.Join("\",\"", RegistrationID);  

string message = "some test message"; 
string tickerText = "example test GCM"; 
string contentTitle = "content title GCM"; 
postData = 
"{ \"registration_ids\": [ \"" + RegArr + "\" ], " + 
"\"data\": {\"tickerText\":\"" + tickerText + "\", " + 
"\"contentTitle\":\"" + contentTitle + "\", " + 
"\"message\": \"" + message + "\"}}"; 

string response = SendGCMNotification("Api key", postData); 
} 

SendGCMNotification Функция: -

private string SendGCMNotification(string apiKey, string postData, string postDataContentType = "application/json") 
    { 

     byte[] byteArray = Encoding.UTF8.GetBytes(postData); 

     // CREATE REQUEST 
     HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send"); 
     Request.Method = "POST"; 
     Request.KeepAlive = false; 
     Request.ContentType = postDataContentType; 
     Request.Headers.Add(string.Format("Authorization: key={0}", apiKey)); 
     Request.ContentLength = byteArray.Length; 

     Stream dataStream = Request.GetRequestStream(); 
     dataStream.Write(byteArray, 0, byteArray.Length); 
     dataStream.Close(); 
     // 
     // SEND MESSAGE 
     try 
     { 
      WebResponse Response = Request.GetResponse(); 
      HttpStatusCode ResponseCode = ((HttpWebResponse)Response).StatusCode; 
      if (ResponseCode.Equals(HttpStatusCode.Unauthorized) || ResponseCode.Equals(HttpStatusCode.Forbidden)) 
      { 
       var text = "Unauthorized - need new token"; 
      } 
      else if (!ResponseCode.Equals(HttpStatusCode.OK)) 
      { 
       var text = "Response from web service isn't OK"; 
      } 
      StreamReader Reader = new StreamReader(Response.GetResponseStream()); 
      string responseLine = Reader.ReadToEnd(); 
      Reader.Close(); 

      return responseLine; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
     return "error"; 
    } 
0

Существует ряд API, которые нам нужно проверить, прежде чем мы включим нашу кнопку. Ниже приведен краткий обзор шагов, приведенных в Push Notifications on the Open Web, где коды образца также можно найти:

  • Мы проверяем, что showNotification доступен в ServiceWorkerRegistration прототипа. Без этого мы не сможем показать уведомление от нашего сервисного работника при получении push-сообщения.
  • Проверяем, что такое . Уведомление.передача заключается в том, чтобы гарантировать, что это не «отрицается». Отказано в разрешении означает, что вы не можете показывать уведомления до тех пор, пока пользователь не будет вручную изменять разрешение в браузере.
  • Чтобы проверить, поддерживается ли push-обмен, мы проверяем, что в объекте окна доступен PushManager.
  • Наконец, мы использовали pushManager.getSubscription(), чтобы проверить, есть ли у нас подписка или нет. Если мы это сделаем, мы отправим данные подписки на наш сервер, чтобы убедиться, что у нас есть правильная информация и наш пользовательский интерфейс указывает, что push-сообщения уже включены или нет. Мы рассмотрим, какие детали существуют в объекте подписки позже в этой статье.

Your first push notifications web app также может помочь вам о том, как правильно реализовать Push-уведомления для веб-приложений.

+0

Я уже просматриваю документацию, предоставленную Google для push-уведомлений, но у меня возникла проблема во время подачи запроса в GCM для отправки уведомления с использованием XHR –