Si vous utilisez plusieurs outils CRM (et que l'enregistrement à GCM est fait plusieurs fois), ceci pourrait expliquer un problème de non-réception des push sur certains devices.


En effet, un conflit peut se produire au niveau de l'enregistrement et le token récupéré par le SDK peut s'en retrouver invalidé.

Pour remédier au problème vous pouvez :


  • Laisser notre SDK s’enregistrer à GCM et ne plus le faire vous-même

ou

  • Nous envoyer le token suite à l’enregistrement auprès de GCM


Pour la seconde solution, voici comment procéder :

Il faut enlever la méta-data suivante dans le Manifest : 


<meta-data android:name="com.ad4screen.senderid" android:value="gcm:yoursenderid" />


et, supprimer l'action suivante au niveau du GCMHandler déclaré dans le Manifest :


<action android:name="com.google.android.c2dm.intent.REGISTRATION" />

 

Ainsi, le SDK ne s'enregistrera pas automatiquement auprès de GCM et, lorsque vous demanderez un token, le GCMHandler du SDK ne sera pas appelé.


Dans ce cas, vous devez enregistrer vous-même l’application auprès de GCM et nous faire parvenir le token via la méthode sendPushToken: http://wiki.accengage.com/android/javadoc/reference/com/ad4screen/sdk/A4S.html#sendPushToken(java.lang.String)