在Android库项目中的Firebase云消息传递。

时间:2016-11-11 09:13:43

标签: android android-studio firebase firebase-cloud-messaging

这是我的项目文件夹结构。


应用/
FCM /
FcmMessagingService.class
FcmRegistrationService.class
谷歌,services.json
Android系统的Manifest.xml

的Android的Manifest.xml

<service android:name=".fcm.FcmRegistrationService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
        </intent-filter>
</service>

<service android:name=".fcm.FcmMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
</service>

库(子模块)/
FCM /
LibMessagingService.class
LibRegistrationService.class
Android系统的Manifest.xml

的Android的Manifest.xml

<service android:name=".fcm.LibRegistrationService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
</service>

<service android:name=".fcm.LibMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
</service>

通过上面的实现,我只能从应用程序的服务类中捕获INSTANCE_ID_EVENT和MESSAGING_EVENT。库模块中的firebase服务类根本没有被触发。

当收到firebase消息时,是否可以同时触发Application和Library模块中的服务类?

2 个答案:

答案 0 :(得分:0)

我没有任何问题在库模块上实现它。 我刚刚在库中实现了所有服务,并在客户端清单中声明它们。这就是我的项目的样子: enter image description here

google-services.json文件位于客户端应用目录中。 客户端build.gradle文件位于apply plugin: 'com.google.gms.google-services'

答案 1 :(得分:0)

太让它工作我也必须在Lib清单和App清单中注册库服务。试图找出实际需要的东西

`<service 
    android:name="com.libPackage.FCMService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>`