2015-05-28 3 views
5

Ich verwende derzeit parse zum Senden und Empfangen von Push-Benachrichtigungen auf einer Android-App.
Alles war gut, bis ich eine Anwendung id Suffix meine build.gradle für den Debug-Buildtyp hinzugefügt:Android Parse, Benachrichtigungen und BuildTypes

defaultConfig { 
    applicationId "com.example.myapp" 
    ... 
} 

buildTypes { 
    debug { 
     applicationIdSuffix ".debug" 
     ... 
    } 
    release { 
     ... 
    } 
} 

Jetzt kann ich in Parse sehen, dass neue Anlagen mit dem applicationId Feld eingetragen werden: com.example.myapp.debug, so in die Manifest-Datei Ich habe das folgende Stück Code verwendet:

<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="${applicationId}" /> 

     </intent-filter> 
    </receiver> 

Doing dies dachte ich, die Registrierung wäre dynamisch nach dem Build-Typ.

Eigentlich funktioniert es nicht: Installationen registriert mit dem .debug Suffix haben keine GCMSenderId noch DeviceToken, und so kann ich keine Benachrichtigung erhalten. Ich vermisse offensichtlich einen Punkt, oder ich habe nicht verstanden, wie die Registrierung funktioniert, aber ich kann mir nicht vorstellen, wie ich es in Ordnung bringen kann.
Verwendet Parse die applicationId, um die Anwendung zu registrieren, oder den echten Paketnamen (für R)?

Hat jemand parse Benachrichtigungen mit verschiedenen BuildTypes (ApplicationId Suffix) verwalten?

Antwort

5

Ok, ich habe es endlich herausgefunden. Ich habe vergessen, die dynamische applicationId in der Berechtigungserklärung hinzufügen ...

<permission 
    android:name="${applicationId}.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> 

Problem gelöst.

+1

Wenn es dich besser fühlen lässt, bin ich auf dasselbe gestoßen und dein "nutzloses Thema" hat mich vor mir selbst gerettet (und mehr Schmerzen). :) Vielen Dank –