带有声音的Android Mixpanel推送通知

时间:2017-07-28 15:06:09

标签: android push-notification mixpanel

我开发了一个使用Mixpanel推送通知的应用。他们运作良好,包括深层链接。

问题是我的客户希望他们一旦收到就发出声音,但他们没有播放任何声音。

阅读文档之后,我知道对于iOS来说就像在自定义数据中添加字段一样简单,但是对于Android,没有声音字段可以自定义。 如果我没错,唯一的解决方案是扩展Mixpanel广播接收器,所以我改变了我的AndroidManifest:

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

到此:

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

我已经添加了这个类.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);
    }
}

这种方式仍然可以正确接收从Mixpanel发送的推送通知,但我不知道如何为此通知添加声音。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

分叉MixPanel库并自定义通知构建器。 请注意以下事项:

  • MixPanel使用MPConfig获取通知默认值
  • MixPanel没有使用NotificationCompat,因此有几种构建器方法(可能是因为它们不包含支持库)。

这是他们建立通知的地方:

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