8

Avevo un'app che funziona su Parse, con le notifiche che funzionano correttamente. Ho cambiato la confezione delle app e ho creato una nuova app su Parse.Parse - tabella di installazione non impostazione deviceToken o pushType

Con la nuova app, le colonne deviceToken e pushType rimangono sempre vuote sulla tabella _Installation, quindi push non funziona anche se inviato dalla pagina di analisi Parse e una nuova voce viene generata all'avvio dell'applicazione.

Ho aggiornato le chiavi di analisi sul mio codice Java e sul mio codice cloud.

Qualcuno ha un'idea di ciò che potrei aver perso o che cosa potrebbe accadere in modo che lo stesso codice abbia un comportamento diverso in diverse app con configurazioni equivalenti?

Se aggiorno uno dell'installazione con pushType = "gcm" e "deviceToken" quello presente nell'altra app, questo dispositivo riceve le notifiche.

Grazie

risposta

8

ok, ho avuto un problema simile. entrambe quelle colonne erano vuote. questo è principalmente dovuto al problema manifest. le tue autorizzazioni sembrano a posto perché stai ricevendo la notifica e sei anche in grado di registrarti nel database di analisi.

quindi il problema dovrebbe essere nei tag <receiver> ci dovrebbero essere solo 2 di loro come il mio.

<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" /> 

       <!-- 
        IMPORTANT: If you change the package name of this sample app, 
        change "com.parse.tutorials.pushnotifications" in the lines 
        below to match the new package name. 
       --> 
       <category android:name="com.example.ifis" /> 
      </intent-filter> 
     </receiver> 

se avete qualsiasi ricevitore come "com.google.android.gcm.GCMBroadcastReceiver" pls rimuovere e anche uno <service android:name="com.parse.PushService" />

+2

Ok, revisione manifest, ho visto che ho scambiato il nome del pacchetto ... – MarionaDSR

0

attivare la registrazione parse:

Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE); 

Nel mio caso ero autorizzazioni GCM mancanti

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<permission android:name="my.package.permission.C2D_MESSAGE" android:protectionLevel="signature" /> 
<uses-permission android:name="my.package.permission.C2D_MESSAGE" />