Согласно документации Firebase вы можете инициализировать несколько приложений, например, так:
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");
И чтобы получить этот явный экземпляр, вы можете сделать:
FirebaseApp.getInstance( "your_app_name" );
Затем, когда вы пытаетесь получить доступ к экземпляру FirebaseMessaging
, вы просто можете получить экземпляр DEFAULT:
FirebaseMessaging.getInstance();
Что выполняется внутри:
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;
}
...
}
Так что вы не можете ничего делатькак:
new FirebaseMessaging( FirebaseApp.getInstance( "your_app_name" ) );
ИЛИ
FirebaseMessaging.getInstance( "your_app_name" );
Как вы можете использовать FirebaseMessaging
для явного приложения, отличного от ПО УМОЛЧАНИЮ?