我开发了一个使用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发送的推送通知,但我不知道如何为此通知添加声音。
非常感谢任何帮助!
答案 0 :(得分:0)
分叉MixPanel库并自定义通知构建器。 请注意以下事项:
这是他们建立通知的地方: