无法从firebase控制台发送通知

时间:2016-07-12 20:18:09

标签: android firebase firebase-cloud-messaging

This是firebase的一些教程。我正在Firebase中注册应用,获取google-services.json文件,将其粘贴到应用文件中,如教程中所示。还得到令牌。但是,当我尝试从控制台发送通知时,状态失败(我猜MismatchSenderId)。我正在插入与FirebaseInstanceId.getInstance().getToken();相同的令牌。可能是什么问题?

P.S。当我向使用该应用程序的所有设备发送通知时,它也没有成功。

编辑:清单文件

<!-- Adding Internet Permission -->

<uses-permission android:name="android.permission.INTERNET"/>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!--
        Defining Services
    -->
    <service
        android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
    </service>

    <service
        android:name=".MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
        </intent-filter>
    </service>
</application>

2 个答案:

答案 0 :(得分:2)

请检查是否满足以下所有条件。

  
      
  1. 在控制台中更新SHA 1指纹和包名。
  2.   
  3. 从开发者控制台放置一个json配置文件,并将其放在app目录[module level directory]下。
  4.   
  5. 在gradle文件中添加这些行。   a)模块gradle:apply plugin:&#39; com.google.gms.google-services&#39;   b)项目gradle:classpath&#39; com.google.gms:google-services:3.0.0&#39;
  6.   

希望它对你有所帮助......

答案 1 :(得分:0)

您可能没有为您的应用添加正确的SHA1吗? 您可以按this tutorial获取正确的SHA1。然后在控制台firebase上选择项目设置,选择添加SHA1。之后,您需要将google-services.json替换为最新版本。