2015-07-29 21 views
6

Kısaca çalışmıyor push bildirimi ayrıştırmak. şimdi Parse yükleme tablosuna eklenen cihaz belirtecinin türünü takip edin.Android ayrıştırma push bildirim ve yeni GCM belirteci yanlış cihaz üretmek ve

DeviceToken: | kimliği | 1 |: crGctxOB068: APA91bFgPRehabJcm9CYdS948iqX2_ppLj02CtbzmEHR0cfbuPooq5F - hqqvR9AH-Ez6MWMQON1Toc2DiNJTNdpRc3nmm3ukIpWJ1jHaXq0Iug6MoHbmKb9U0ak2CrKznkpKnPY5_Jp


Ayrıntılı açıklama: Ben kayıt kimliği almak için yeni GCM api kullandık

. Dahili kullanım için bu kayıt numarasına ihtiyacım var.

Aşağıdaki bağlantıdan google: Google cloud messaging android bağlantısını kullandım.

Bir noktaya dikkat çektim. ne zaman app parse düzgün bir şekilde deviceToken olsun. deviceToken çalıştırmak kodunun üzerinde yanlış görünüyor belirteç söz Above değiştirildi aldığımda Giriş yaptıktan sonra ben Genellikle

ParseACL acl = new ParseACL(); 
acl.setPublicReadAccess(true); 
acl.setPublicWriteAccess(true); 

ParseInstallation installation =  ParseInstallation.getCurrentInstallation(); 
    installation.setACL(acl); 

    if (ParseUser.getCurrentUser() != null) { 
     installation.put("user", ParseUser.getCurrentUser()); 
    } 
installation.saveInBackground(new SaveCallback() { 
     @Override 
     public void done(ParseException e) { 
      if (e == null) { 
       Log.e("installation", "success"); 
       Log.i("parse", "token after save : " + ParseInstallation.getCurrentInstallation().getString("deviceToken")); 
       ParsePush.subscribeInBackground("", new SaveCallback() { 

        @Override 
        public void done(ParseException e) { 

         if (e != null) { 

          Log.e("error: ", e.getLocalizedMessage()); 
          e.printStackTrace(); 
         } else { 

          Log.e("subscribed: ", "to broadcast channel"); 
          Log.i("parse", "token after subscribe : " + ParseInstallation.getCurrentInstallation().getString("deviceToken")); 
         } 
        } 
       }); 

      } else { 
       Log.e("installation", "failed"); 
       e.printStackTrace(); 
      } 
     } 
    }); 

MainActivity

ait onCreate aşağıdaki kodu kullanarak "kullanıcı" alanını güncelleştiriyorum. Yani itme bildirimim çalışmıyor.

+0

deviceToken değişti ve benim app tamam bak o Kurulum tablonun deviceToken alanını kontrol ettikten ilk kez çalıştırdığınızda – AniV

+0

yanlıştır. "Kullanıcıyı" yüklemeye kaydettiğimde giriş yaptıktan sonra deviceToken alanı yukarıda belirtilen simgeye dönüştü. Not: Bazen iyi çalışıyor. –

cevap

1

Çözümü çözdüm.

GCM aygıt belirtecini diğer web servislerine iletmem gerekiyor, bu yüzden GCM'den jeton almak için aşağıdaki kodu kullandım.

InstanceID instanceID = InstanceID.getInstance(getApplicationContext()); 
       String token = instanceID.getToken(CommonUtils.SENDER_ID, 
         GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 

Bu kod çözümünü aldıktan sonra ayrıştırıcının aygıtıToken değişti. Yukarıdaki kod yerine, deviceToken'i almak için aşağıdaki kodu kullandım ve sorunu çözdüm. Eğer nasıl doğrularım

ParseInstallation.getCurrentInstallation().getString("deviceToken"); 
İlgili konular