Android应用未收到firebase通知

时间:2017-09-15 05:16:28

标签: android firebase firebase-notifications

我的Android应用未收到任何firebase通知。当我从firebase控制台发送消息时,它显示该过程已完成,当行展开时,它显示0消息发送,屏幕截图如下

Screenshot

消息的到期时间设置为1分钟。

我添加了FirebaseMessagingServiceFirebaseInstanceIdService并在清单中添加了这样的服务

    <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输出中有一个有效的令牌

我做了他们说文档的所有内容,但它无法正常工作。我错过了一些重要的事情吗?

3 个答案:

答案 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();
}}

以上代码会在收到通知并且您的应用处于前台时启动您的主要活动。