我的Android应用未收到任何firebase通知。当我从firebase控制台发送消息时,它显示该过程已完成,当行展开时,它显示0消息发送,屏幕截图如下
消息的到期时间设置为1分钟。
我添加了FirebaseMessagingService
,FirebaseInstanceIdService
并在清单中添加了这样的服务
<service android:name=".service.TjssFireBaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service
android:name=".service.TjssFireBaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
我已尝试添加
android:enabled="true"
android:exported="true"
这是应用程序类的onCreate
方法
@Override
public void onCreate() {
super.onCreate();
mGlide = Glide.with(this);
String token = FirebaseInstanceId.getInstance().getToken();
if (token != null)
M.log("Firebase Token", token);
}
我在logcat输出中有一个有效的令牌
我做了他们说文档的所有内容,但它无法正常工作。我错过了一些重要的事情吗?
答案 0 :(得分:1)
在你的onCreate of Application中添加这个
FirebaseApp.initializeApp(this);
这意味着上下文
答案 1 :(得分:0)
您是否已将google-services.json
放入app文件夹中? 。如果没有,请将它放在app文件夹中,查看此文件中的信息,它是否与您的项目相关。尝试通过选择应用程序包名称来发送通知。我希望这会奏效。感谢
答案 2 :(得分:0)
发送通知时,请确保您的应用未运行。如果您的应用位于前台,则您将无法接收通知。
如果您希望在应用处于前台时收到通知,请按以下步骤修改服务:
public class TjssFireBaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (remoteMessage.getNotification() != null) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("Val", remoteMessage.getNotification().getTitle());
startActivity(i);
}
}
@Override
public void onDeletedMessages() {
super.onDeletedMessages();
}}
以上代码会在收到通知并且您的应用处于前台时启动您的主要活动。