これは私のプロジェクトフォルダ構造です。
アプリケーション/
FCM/
FcmMessagingService.class
FcmRegistrationService.class
Googleがservices.json
アンドロイドたManifest.xml
アンドロイド-たManifest.xml
アンドロイドライブラリプロジェクトのFirebaseクラウドメッセージング。
<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
アンドロID-たManifest.xml
アンドロイド-た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メッセージを受信したときに、アプリケーションモジュールとライブラリモジュールの両方でサービスクラスを起動することはできますか?
ソリューションを見つけましたか? – Blagojco
@Blagojcoはい、私はこれを回避する方法を見つけました。私の図書館では、実際のFCMサービスを追加しました。アプリケーションのFCMサービスクラスは、GoogleのFCMサービスではなく、図書館のFCMサービスを拡張します。 – Karthik