2016-06-04 4 views
11

Firebase에서 모든 Apps에 공통적 인 책임이있는 프로젝트를 하나 만들려고합니다.android에서 하나 이상의 firebase 데이터베이스에 연결하는 방법 App

즉, 저는 Apps를 만들고,이 Apps가 프로젝트의 특정 Firebase 데이터베이스에 액세스하도록하고 싶습니다.

Firebase Android 문서를 보면 다른 프로젝트의 다른 firebase 데이터베이스로 데이터를 보낼 수있는 방법을 찾을 수 없습니다.

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("example"); 
     ref.push().setValue(d).addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
       finish(); 
      } 
     }); 
+0

내가 이해 한대로 안드로이드 코드 자체에서 새로운'Firebase' 프로젝트를 만들려고합니까? –

+0

님, 안드로이드 앱을 위해 현재 구성된 데이터베이스가 아닌 다른 데이터베이스에 정보를 추가하십시오. – Relm

+0

그런 다음 다른 앱의 firebase URL을 사용하여 정보를 추가하십시오. –

답변

26
당신은 당신의 코드에서 명시 적 옵션이있는 두 번째 FirebaseApp 객체를 초기화해야합니다

:

FirebaseOptions options = new FirebaseOptions.Builder() 
     .setApiKey("AI...j0") 
     .setApplicationId("1:5...e0") 
     .setDatabaseUrl("https://myapp.firebaseio.com") 
     .build(); 
FirebaseApp secondApp = FirebaseApp.initializeApp(getApplicationContext(), options, "second app"); 
FirebaseDatabase secondDatabase = FirebaseDatabase.getInstance(secondApp); 
secondDatabase.getReference().setValue(ServerValue.TIMESTAMP); 

나는 두 번째 프로젝트의 구글 - services.json에서 구성 값을 얻었다. API 키는 api_key이라는 속성 아래에 있으며 응용 프로그램 ID는 mobilesdk_app_id이라는 속성에서 왔으며 데이터베이스 URL은 firebase_url이라는 속성에서 나왔습니다.

+0

응용 프로그램이 손상됩니다. "FirebaseApp 이름 [DEFAULT]이 (가) 이미 존재합니다!" – Relm

+1

죄송합니다. 두 번째 "추측"을 추가하겠습니다. 그래도 작동하지 않는다면 Android Studio를 꺼내겠습니다. –

+0

그래, 제 3의 인수가 "FirebaseApp name $ app_name already exists!"라는 오류로 앱을 부수기 때문에 문제가 있습니다. 심지어 콘솔에있는 내 앱 중 하나가 아닌 경우에도 마찬가지입니다. – Relm