我正在集成FCM以管理iOS和Android移动应用程序的通知。对于iOS,一切都运行良好:后台/前台服务器/控制台消息。
对于Android,我无法使其流畅运行。
使用控制台或发送服务器通知
1- 当我发送一条通知并且应用程序在后台时,通知中心总是显示一个灰色方块,而不是在清单文件或负载中定义的图标。在展开通知中心之前,状态栏中的图标是正确的。
我尝试指定全局圆形@drawable/resource_name或仅使用resource_name,但结果相同。
2- 当应用程序在前台时,一切正常,但当应用程序在后台时,onMessageReceived()永远不会被触发,操作系统会自动在通知中心中显示一条透明的通知,对于应用程序来说是透明的,如果/当用户点击通知中心中的通知时,默认会启动Activity,但getIntent().getData()和getIntent().getExtra()都为null,如果应用程序在前台,则传递参数成功。
Manifest.xml
<activity
android:name=".ui.activities.MainActivity"
android:theme="@style/AppTheme.ActionBar.Transparent">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="appName"
android:scheme="appName" />
<data
android:host="subdomain.domain.com"
android:scheme="https" />
</intent-filter>
</activity>
...
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_launcher" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@android:color/black" />
<!-- Used for FireBase Messaging and Analytics -->
<service
android:name=".services.MessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service
android:name=".services.TokenService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
有什么建议吗?