2013-05-06 5 views
1

Я отправил push-уведомление с помощью ASP.net C# с помощью GCM на мобильные телефоны android.Push-уведомления -Error - Отсутствует регистрация

Но я пробовал разные виды кода, но все возвраты arr. Ошибка пропуска регистрации. Поэтому, пожалуйста, помогите мне.

+0

Можете ли вы разместить свой код? – Eran

ответ

0

попробуйте PushSharp. это довольно просто. и проверить эту инструкцию - How to Configure & Send GCM Google Cloud Messaging Push Notifications using PushSharp

var push = new PushBroker(); 

//Registering the GCM Service and sending an Android Notification 
push.RegisterGcmService(new GcmPushChannelSettings("theauthorizationtokenhere")); 
//Fluent construction of an Android GCM Notification 
//IMPORTANT: For Android you MUST use your own RegistrationId here that gets generated within your Android app itself! 
push.QueueNotification(new GcmNotification().ForDeviceRegistrationId("DEVICE REGISTRATION ID HERE") 
         .WithJson("{\"alert\":\"Hello World!\",\"badge\":7,\"sound\":\"sound.caf\"}")); 

Вы можете установить его с помощью nuget.

+0

Я использую этот код. http://www.codeproject.com/Tips/434338/Android-GCM-Push-Notification. Можете ли вы предложить, как это –

+0

@ user2353494 поддерживает ли ваш телефон GCM? у вас есть учетная запись google на этом телефоне? –

+0

ya Dmitry У меня есть все. или же вы можете просто настроить pushsharp для моего веб-приложения asp.net. я боролся в этой точке, потому что я использую framework 2.0. –

0
public class GCMSNS 
{ 
    public static string SendGCMNotification(string deviceId, string message) 
    { 
     string GoogleAppID = "XYxxxxxxxxxxxxxxxxxxxx";//This is API Key Server 
     var SENDER_ID = "11111111111111"; //This is Google Project Id 
     var value = message; 
     WebRequest tRequest; 
     tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send"); 
     tRequest.Method = "post"; 
     tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8"; 
     tRequest.Headers.Add(string.Format("Authorization: key={0}", GoogleAppID)); 

     tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 

     string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message=" + value + "&data.time=" + 
     System.DateTime.Now.ToString() + "&registration_id=" + deviceId + ""; 
     Console.WriteLine(postData); 
     Byte[] byteArray = Encoding.UTF8.GetBytes(postData); 
     tRequest.ContentLength = byteArray.Length; 

     Stream dataStream = tRequest.GetRequestStream(); 
     dataStream.Write(byteArray, 0, byteArray.Length); 
     dataStream.Close(); 

     WebResponse tResponse = tRequest.GetResponse(); 

     dataStream = tResponse.GetResponseStream(); 

     StreamReader tReader = new StreamReader(dataStream); 

     String sResponseFromServer = tReader.ReadToEnd(); 

     tReader.Close(); 
     dataStream.Close(); 
     tResponse.Close(); 
     return sResponseFromServer; 
    } 
} 
Смежные вопросы