如何在一个应用程序中实现多个GCM推送通知?

6

我正在尝试实现两个第三方库(Parse & Localytics),它们使用GCM推送通知,但我似乎无法让它们同时工作。只有一个会起作用。

<receiver android:name="com.parse.GcmBroadcastReceiver"
          android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
</receiver>



<receiver android:name="com.localytics.android.PushReceiver"
          android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
</receiver>
1个回答

3

GCM仅了解您的应用程序,而不了解GCM有效载荷的内容。

您需要一个通用接收器,可以解析接收到的意图,以识别它是否为Localytics或Parse,并将该意图转发到相应的服务接收器。

GCM基于“应用程序注册”,而不是“应用程序功能注册”-它将传递到您的应用程序,而不是应用程序内的特定接收器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接