2016-03-22 17 views
0
Everytime bir itme aşağıdaki alıyorum bir Android müşteriye gönderilen

üzerinde göç sonra Android için Push bildirimler edilemez:almak (veya göndermek?) Ayrıştırması-sunucu için Heroku

03-22 17: 15: 21,751 1585- 2213 /? I/GCM: GCM mesajı 0: 1458663322082941% 5774d2def9fd7ecd 03-22 17: 15: 21.803 1585-1585 /? W/GCM-DMM: yayınlama amacı geri çağırma: sonuç = İPTAL EDİLİR {act = com.google.android.c2dm.intent.RECEIVE pkg = (ek var)}

Bildirim dosyasına gerekli tüm izinleri ve meta verileri ekledim . Taşıma işleminden önce push bildirimlerini (bulut kodu veya REST API aracılığıyla gönderilir) alma konusunda hiçbir sorun yaşamadım.

Birisi de bunu deneyimledi ve bunun için bir çözüm buldunuz mu?

Düzenleme: Bildiri dosyasındaki Kodu:

...

<service android:name="com.parse.PushService" /> 
<receiver android:name="com.parse.ParseBroadcastReceiver" > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      <action android:name="android.intent.action.USER_PRESENT" /> 
     </intent-filter> 
    </receiver> 
    <receiver 
     android:name="com.parse.GcmBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="com.unicorn.app" /> 
     </intent-filter> 
    </receiver> 
    <receiver 
     android:name=".functions.CustomParseBroadcastReceiver" 
     android:exported="false" > 
     <intent-filter> 
      <action android:name="com.parse.push.intent.RECEIVE" /> 
      <action android:name="com.parse.push.intent.DELETE" /> 
      <action android:name="com.parse.push.intent.OPEN" /> 
     </intent-filter> 
    </receiver> 

...

özel BroadcastReceiver sınıfı :

public class CustomParseBroadcastReceiver extends ParsePushBroadcastReceiver { 
protected void onPushReceive(Context context, 
           Intent intent) {.... 

Düzenleme: Bu ne bir olduğunu _PushStatus koleksiyonundaki belge şöyle görünüyor:

{ 
    "_id": { 
     "$oid": "some-other-id" 
    }, 
    "objectId": "some-id", 
    "pushTime": "2016-03-19T17:51:12.235Z", 
    "_created_at": { 
     "$date": "2016-03-19T17:51:12.235Z" 
    }, 
    "query": "{\"deviceType\":{\"$in\":[\"ios\",\"android\"]}}", 
    "payload": { 
     "title": "The Shining", 
     "alert": "All work and no play makes Jack a dull boy." 
    }, 
    "source": "rest", 
    "title": null, 
    "expiry": null, 
    "status": "succeeded", 
    "numSent": 0, 
    "pushHash": "f41355801d168ad58b479075e9a8576e", 
    "_wperm": [], 
    "_rperm": [], 
    "numFailed": 0 
} 

Dolayısıyla, numSent, itirazların gönderilmediği anlamına gelmez, değil mi? Öte yandan gcm mesajlarını alıyorum, bu yüzden iterek bir şekilde alınacak gibi görünüyor.

+0

'IntentService' kodunuzu koyun, muhtemelen 'CANCELLED' iletilerini kabul etmez. – Shark

+0

com.parse.PushService'i kullanarak, kod ekledi –

cevap