我按照飞艇网站上的描述为 Flutter 配置了一个飞艇测试项目:https://docs.airship.com/platform/mobile/setup/sdk/flutter/。 在 Firebase 中,我使用 Cloud Messaging API,并且在一个项目中有多个 iOS 和 Android 应用程序,因为我的应用程序中有多个任务。 Cloud Messaging API 的服务器密钥在 Airship Android 配置中设置。
当我启动我的应用程序时,我可以看到 Airship 成功启动,我的物理设备上的推送通知已启用,我有一个稳定的互联网连接,我可以获取我的频道 ID。在具有类似设置的 iOS 上,推送通知工作正常。但是在 Android 上我没有收到任何通知。但这是一种新行为,就在一个月前,推送通知在我的 Android 设备上运行良好。我实现了 Flutter Flavors 以在强制器之间切换,它会影响飞艇/Firebase 设置吗?
我没有在 Airship 的错误控制台中收到任何错误,也没有在应用程序的控制台中收到任何错误。
我仔细检查了 App Key 和 App Secret,app 和 Airship 都处于开发者模式。
从 Airship 发送推送时,我在控制台中得到的唯一反应是:
D/FLTFireMsgReceiver(30006): broadcast received for message
在我的例子中,我需要将此代码添加到我的 Android Manifest 文件中,然后我也能够在 Android 上接收推送通知:
<service android:name="com.urbanairship.push.fcm.AirshipFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>