Firebase推送通知将不会显示

时间:2017-07-13 07:21:30

标签: android firebase firebase-cloud-messaging

我终于开始在Android Studio中试用Firebase云消息传递服务。我尝试这个教程,我有与本教程中完全相同的类: enter link description here

  1. 我的第一个问题是,为什么" Android Monitor"在Android Studio中,只显示设备令牌一次?每次我在Firebase中启动一个新项目并将其与我的AppProjekt连接并运行它时,Token只是在我没有遇到麻烦时第一次向我展示。如果我再次运行它,我什么都看不到这个令牌,什么都没有!

  2. 第二个问题是,为什么我没有从Firebase获得推送通知?

  3. 这是我的Android Manifest:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.felixkoepping.pushtest2">
    
    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:name="android.support.multidex.MultiDexApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        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>
    
        <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>
    

    以下是app部分中的gradle文件:

    apply plugin: 'com.android.application'
    
    android {
    compileSdkVersion 25
    buildToolsVersion '25.0.3'
    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.felixkoepping.pushtest2"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 
       "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
       'proguard-rules.pro'
        }
    }
    }
    
    dependencies {
      compile fileTree(include: ['*.jar'], dir: 'libs')
      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
    {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    
    compile 'com.google.firebase:firebase-messaging:9.2.0'
    compile 'com.google.firebase:firebase-core:9.2.0'
    compile 'com.android.support:multidex:1.0.1'
    testCompile 'junit:junit:4.12'
    }
    apply plugin: 'com.google.gms.google-services'
    

    这是项目部分的gradle文件:

    // Top-level build file where you can add configuration options common to 
    all sub-projects/modules.
    
    buildscript {
        repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        classpath 'com.google.gms:google-services:3.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
       }
    }
    
    allprojects {
        repositories {
        jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    唯一的红色消息&#34;在Android Monitor中是:

    E/FA: Failed to send event to AppMeasurementService: 
    android.os.DeadObjectException: 
    com.google.android.gms.measurement.internal.zzm$zza$zza.zza(Unknown Source)
    

    如果我使用令牌从Firebase中的控制台向此设备发送通知,则我的模拟器中不会显示任何内容...

    我希望你们中的一些人可以帮我解决这个问题。我尝试了很多,但没有任何作用......

    谢谢大家: - )

1 个答案:

答案 0 :(得分:0)

感谢您的来信。我今天将帮助您解决问题。

如果您仍然不知道会发生什么,请通过评论工具告诉我,谢谢!