2013-07-26 11 views
8

boş mesaj verir. Sunucuya ulaşabiliyorum ama sunucudan null mesajım var. Mesajsız olarak androidde bildirim görebilirim. Bu sunucudan benim kodudur ve ben ANDROID HIVEGCM Ben android bir itme bildirim olarak sunucudan mesajı almaya çalışıyorum

public class GCMBroadcast { 
    @POST 
    @Path("/getgcm") 
public String getGcmData(){ 
    String str="success"; 


       try { 
        System.out.println("From CLient"); 
        Sender sender = new Sender(
          "AIzaSyBbfXkbCYWQdE5qyjJKwl-YLBX-F01ICug"); 
        // add your own google api key in android menifest 
        // use this to send message with payload data 
        Message message = new Message.Builder() 
          .collapseKey("message") 
          .timeToLive(3) 
          .delayWhileIdle(true) 
          .addData("message", "Welcome to Push Notifications") 
          // you can get this message on client side app 
          .build(); 
        System.out.println("message:"+message); 
        System.setProperty("http.proxyHost", "192.168.1.110"); 
        // write you own proxy 
        System.setProperty("http.proxyPort", "8080"); 

        // write you own proxy host 
        // Use this code to send notification message to a single device 
        Result result = sender 
          .send(
            message, 
            "APA91bFEmQ53TKnJQXa0HbF9lXGTMEyRrp-6H9-_zZNBdFAUMsvXIG0rpvKcXn_6L5wBP77HskWw4svo6GLHZwfWdDf-yQCBAvIqp4fQF05cWqDtJ8mfNDnAQ8qdXByaEqwDmK3aQi0xIq7L3XGF1dSkbOOfBFIjlfDzlj4SG3z_SA-v3IUz_g4", 
            1); 
        System.out.println("Message Result: " + result.toString()); 

        // Use this code to send notification message to multiple 
        // devices 
        /*ArrayList<String> devicesList = new ArrayList<String>(); 

        // add your devices RegisterationID, one for each device 
        devicesList 
          .add("APA91bFEmQ53TKnJQXa0HbF9lXGTMEyRrp-6H9-_zZNBdFAUMsvXIG0rpvKcXn_6L5wBP77HskWw4svo6GLHZwfWdDf-yQCBAvIqp4fQF05cWqDtJ8mfNDnAQ8qdXByaEqwDmK3aQi0xIq7L3XGF1dSkbOOfBFIjlfDzlj4SG3z_SA-v3IUz_g4"); 

        // Use this code for multicast messages 
        MulticastResult multicastResult = sender.send(message, 
          devicesList, 0); 
        sender.send(message, devicesList, 0); 
        System.out.println("Message Result: " 
          + multicastResult.toString()); 
        */ 
       } catch (Exception e) { 
        e.printStackTrace(); 
        str="Failure"; 
       } 
     return str; 
    } 
} 

gelen android kodu var ve sana mesaj price parametresinden ayıklanır, iletin iddia linkte android hive example

+0

Google'dan bir başarı yanıt almak varsayarsak, elleçleme uygulama kodunu gönderilmesi gerekiyor Sorunu bulmakta yardım istiyorsanız – Eran

+0

ben den uygulama kodu var [bu] (http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/) ve android den örnekler –

cevap

10

kullanıyorum:

/** 
* Method called on Receiving a new message 
* */ 
@Override 
protected void onMessage(Context context, Intent intent) { 
    Log.i(TAG, "Received message"); 
    String message = intent.getExtras().getString("price"); 

    displayMessage(context, message); 
    // notifies user 
    generateNotification(context, message); 
} 

Ancak, sunucu kodunda, bir message parametrede mesaj koyun:

Boş mesaj alıyorum açıklıyor
   Message message = new Message.Builder() 
         .collapseKey("message") 
         .timeToLive(3) 
         .delayWhileIdle(true) 
         .addData("message", "Welcome to Push Notifications") 

.

Size bu bağlantıdan var istemci kod değişti, tabii ki, mümkün, ama eğer sizde müşteri kodu gönderilmeyen beri, bunu bilmenin hiçbir yolu yoktur. . Demo projesinde

+0

İnanılmaz benim için çalışıyor. Bunu 2 gün boyunca zorladım, şimdi mükemmel çalışıyor. Çok teşekkür ederim. –

+0

Bu cevap çok faydalı – Steve

1

hi intent.getExtras() getString ("fiyat") alıyorsanız; Eğer php yöneticisi olarak php kullanıyorsunuz fiyat here.As siz "adı" alanı prvide ve bu ad alanını ve mesaj almak ben de bu sorunu çözmek ..

@Override 
     protected void onMessage(Context context, Intent intent) { 
      Log.i(TAG, "Received message"); 
      String message = intent.getExtras().getString("message"); 
      displayMessage(context, message); 
      // notifies user 
      generateNotification(context, message); 
     } 
-1

Parametre ve değişken anahtar eşleşmelidir için. özdeş

Bu Web sayfası test edilmemiştir ancak android anahtarını yapmak "mesaj":

enter image description here

enter image description here

İlgili konular