2017-07-28 2 views
0

J'ai développé une application qui utilise des notifications push avec Mixpanel. Ils fonctionnent bien, y compris les liens profonds.Android Mixpanel push notification avec le son

Le problème est que mon client veut qu'il sonne une fois qu'il est reçu mais qu'il ne reproduit aucun son. Après avoir lu les docs, je sais que pour iOS est aussi simple que d'ajouter un champ dans les données personnalisées, mais avec Android, il n'y a pas de champ sonore pour personnaliser cela. Si je ne me trompe pas la seule solution est d'étendre le récepteur de radiodiffusion Mixpanel, alors j'ai changé mon AndroidManifest de ceci:

<receiver android:name="com.mixpanel.android.mpmetrics.GCMReceiver" 
      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="my.package.name" /> 
    </intent-filter> 
</receiver> 

à ceci:

<receiver android:name=".auxiliary.LocalNotificationBroadcastReceiver" 
      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="my.package.name" /> 
    </intent-filter> 
</receiver> 

Et j'ai ajouté cette classe .auxiliary.LocalNotificationBroadcastReceiver:

import com.mixpanel.android.mpmetrics.GCMReceiver; 

public class LocalNotificationBroadcastReceiver extends GCMReceiver { 

    @Override 
    public void onReceive(final Context context, Intent intent) { 
     super.onReceive(context, intent); 
    } 
} 

de cette façon les notifications push envoyées par Mixpanel sont toujours bien reçu, mais je ne sais pas comment ajouter du son à THI s notification.

Toute aide serait très appréciée!

Répondre

0

Fourchez la bibliothèque MixPanel et personnalisez le générateur de notifications. Notez les points suivants:

  • MixPanel utilise MPConfig pour obtenir les valeurs par défaut de notification
  • MixPanel ne pas utiliser NotificationCompat donc il existe plusieurs méthodes de constructeur (peut-être parce qu'ils ne comprennent pas le soutien lib).

C'est là où ils construisent la notification:

https://github.com/mixpanel/mixpanel-android/blob/master/src/main/java/com/mixpanel/android/mpmetrics/GCMReceiver.java#L376