J'essaye de faire fonctionner gcm.
Lorsque notre serveur envoie une notification Push, ces deux erreurs sont consignées dans le journal de mon application:
E/GcmReceiver (8049): échec de la résolution du service d'intention cible, ignorant application du nom de classe E/GcmReceiver (8049): erreur lors de la livraison du fichier message: ServiceIntent introuvable.
Dans le dossier de mon application, j'ai récupéré le fichier google-services.json
.
J'ai ajouté le 2 services nécessaires et le destinataire à mon manifeste:
<receiver
Android:name="com.google.Android.gms.gcm.GcmReceiver"
Android:exported="true"
Android:permission="com.google.Android.c2dm.permission.SEND" >
<intent-filter>
<action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
<category Android:name="com.myapppackage.application" />
</intent-filter>
</receiver>
<service
Android:name="com.myapppackage.application.gcm.newgcm.RegisterGCMTokenService"
Android:exported="false">
</service>
<service
Android:name="com.myapppackage.application.gcm.newgcm.MyInstanceIDListenerService"
Android:exported="false">
<intent-filter>
<action Android:name="com.google.Android.gms.iid.InstanceID"/>
</intent-filter>
</service>
J'ai également ajouté ces deux classes Java. Le jeton gcm fournissant et téléchargeant sur notre serveur est correct. _ {J'ai aussi l'événement Push ', mais j'ai eu ces 2 erreurs ci-dessus et aucun message.
J'ai ajouté mon numéro de projet} de la console Google Api au strings.xml
en tant que 'google_app_id'
Les clés de l'API devraient être correctes car j'obtiens l'événement Push, mais le message n'est pas fourni.
Mes diplômés les dépendances au niveau de l'application ont:
compile 'com.google.Android.gms:play-services:8.+'
Mes diplômés les dépendances au niveau du projet ont:
classpath 'com.google.gms:google-services:1.3.1'
Alors qu'est-ce que c'est??} S'il vous plaît, aidez-moi si vous le pouvez.
Vous devriez avoir ces 3 services dans votre manifeste. Il vous manque celui avec l'action-.google.Android.c2dm.intent.RECEIVE
<service
Android:name="com.myapppackage.application.gcm.GcmIntentService"
Android:exported="false">
<intent-filter>
<action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
Android:name="com.myapppackage.application.gcm.GcmIDListenerService"
Android:exported="false">
<intent-filter>
<action Android:name="com.google.Android.gms.iid.InstanceID" />
</intent-filter>
</service>
<service
Android:name="com.myapppackage.application.gcm.RegistrationIntentService"
Android:exported="false"/>
Hey, vous devez ajouter la classe MyGcmListenerService pour recevoir une notification:
public class MyGcmListenerService extends GcmListenerService {
@Override
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
}
vous devez ajouter cette classe en tant que service dans AndroidMaifest.xml
<service Android:name="com.mypackage.application.services.MyGcmListenerService"
Android:exported="false" >
<intent-filter>
<action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>