I want to implement the Firebase-Messaging plugin into my Android-App. I've started with the "quickstart-android-master/messaging"-example from github: https://github.com/firebase/quickstart-android/tree/master/messaging
This works for me! Log-Output:
D/FirebaseApp﹕ com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
D/FirebaseApp﹕ Initialized class com.google.firebase.iid.FirebaseInstanceId.
D/FirebaseApp﹕ com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization
D/FirebaseApp﹕ Initialized class com.google.android.gms.measurement.AppMeasurement.
I/FirebaseInitProvider﹕ FirebaseApp initialization successful
But if I want to implement the Plugin "com.google.firebase:firebase-messaging:9.0.2" into my app, the FirebaseApp isn't initialized! So the FirebaseApp plugin isn't starting! - No Log or token received!
I've also added apply plugin to build.gradle file in "app"-directory:
apply plugin: 'com.android.application'
android {
// ...
}
dependencies {
// ...
compile 'com.google.firebase:firebase-messaging:9.0.2'
}
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
And the google-services plugin to build.gradle in the "root" directory:
buildscript {
// ...
dependencies {
// ...
classpath 'com.google.gms:google-services:3.0.0'
}
}
Problems could be:
My problem was the "Manifest Merger". If I use the
xmlns:tools="http://schemas.android.com/tools"
and
tools:node="replace"
in the Application Tag of the Manifest, the FirebaseApp will not be initialized!
If you use replace attr on tools:node it will replace your lower priority declaration with the annotated one (see more here). You should use merge or merge only attributes instead.
This doesn't work:
<application
android:name="xxx"
android:icon="@mipmap/ic_launcher"
android:label="@string/application_name"
android:theme="@style/Theme.TemplateStyle"
tools:node="replace">
this works:
<application
android:name="xxx"
android:icon="@mipmap/ic_launcher"
android:label="@string/application_name"
android:theme="@style/Theme.TemplateStyle">
<!-- tools:node="replace"-->
If you want to overwrite or replace some attributes, use
tools:replace
instead!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With