According to the Firebase documentation you can initialize multiple apps like this:
FirebaseOptions options = new FirebaseOptions.Builder()
.setApplicationId(APPLICATION_ID)
.setApiKey(API_KEY)
.setProjectId(PROJECT_ID)
.setDatabaseUrl(DATABASE_URL)
.build();
FirebaseApp.initializeApp(activity, options, "your_app_name");
And to get this explicit instance you can do:
FirebaseApp.getInstance( "your_app_name" );
Then, when you try to access to the FirebaseMessaging
instance you just can get the DEFAULT instance:
FirebaseMessaging.getInstance();
What internally executes:
public class FirebaseMessaging {
public static final String INSTANCE_ID_SCOPE = "FCM";
private static final Pattern zzolx = Pattern.compile("[a-zA-Z0-9-_.~%]{1,900}");
private static FirebaseMessaging zzoly;
private final FirebaseInstanceId zzolz;
public static synchronized FirebaseMessaging getInstance() {
if(zzoly == null) {
zzoly = new FirebaseMessaging(FirebaseInstanceId.getInstance());
}
return zzoly;
}
private FirebaseMessaging(FirebaseInstanceId var1) {
this.zzolz = var1;
}
...
}
So you can't do things like:
new FirebaseMessaging( FirebaseApp.getInstance( "your_app_name" ) );
OR
FirebaseMessaging.getInstance( "your_app_name" );
How can you use FirebaseMessaging
for an explicit app other the the DEFAULT?