Android用FirebaseUI - FirebaseのUIバインディング(和訳）のメモ

[Android用FirebaseUI - FirebaseのUIバインディング(和訳）](https://github.com/firebase/FirebaseUI-Android)-2017.5.6現在
https://github.com/firebase/FirebaseUI-Android

FirebaseUIはAndroid用のオープンソースライブラリで、一般的なUI要素を Realtime DatabaseやFirebase認証などのFirebase API に素早く接続することができます。

互換性のあるFirebaseUIクライアントは、iOSでも利用できます。

##目次##

1.インストール
2.使用法
3.サンプルアプリケーション
4.貢献する
5.インストール

FirebaseUIは、ターゲットとするFirebase APIで区切られたライブラリのコレクションとして公開されています。各FirebaseUIライブラリは適切なFirebase SDKに推移的に依存しているため、それらを個別にアプリケーションに組み込む必要はありません。

あなたの`app/build.gradle`ファイルでは、FirebaseUIライブラリの1つに依存関係を追加します。

```:app/build.gradle
dependencies {

    // FirebaseUI データベースのみ
    compile 'com.firebaseui:firebase-ui-database:1.2.0'

    // FirebaseUI Auth認証のみ 
    compile 'com.firebaseui:firebase-ui-auth:1.2.0'

    // FirebaseUI ストレージのみ
    compile 'com.firebaseui:firebase-ui-storage:1.2.0'

    // 上記のすべてをFirebaseUIライブラリ使用する場合
    compile 'com.firebaseui:firebase-ui:1.2.0'
}
```

`firebase-ui-auth`を含めている場合は、依存関係をセットアップする必要があります。

プロジェクトの同期が完了したら、私たちのアプリでFirebaseの機能を使う準備が整いました。

Firebase / Google Playサービスライブラリとの互換性

FirebaseUIライブラリには、Firebase SDKに以下の推移的な依存関係があります。

```
firebase-ui-auth
|--- com.google.firebase:firebase-auth
|--- com.google.android.gms:play-services-auth

firebase-ui-database
|--- com.google.firebase:firebase-database

firebase-ui-storage
|--- com.google.firebase:firebase-storage
```
FirebaseUIの各バージョンには、変数として定義され、これらのライブラリの修正バージョン、上の依存関係がある

firebase_version では
`common/constants.gradle`
フォームのアプリケーションで依存関係を使用している場合 
`compile 'com.google.firebase:firebase-*:x.y.z'`や
`compile 'com.google.android.gms:play-services-*:x.y.z'` 

を選択したFirebaseUIのバージョンと同じバージョンを使用していることを確認する必要がある場合。

便宜上、いくつかの例を示します。

FirebaseUIのバージョン-	Firebase/Playサービスバージョン
1.2.0-	10.2.0
1.1.1-	10.0.0または10.0.1
1.0.1-	10.0.0または10.0.1
1.0.0-	9.8.0
0.6.2-	9.8.0
0.6.1-	9.6.1
0.6.0-	9.6.0
0.5.3-	9.4.0
0.4.4-	9.4.0
0.4.3-	9.2.1
0.4.2-	9.2.0
0.4.1-	9.0.2
0.4.0-	9.0.0

##使用法##

firebase-ui-database
firebase-ui-auth
firebase-ui-storage

##サンプルアプリケーション##

`app/`ディレクトリにFirebaseUIの機能の大部分を示すサンプルアプリケーションがあります。Android Studioでプロジェクトを読み込み、デモを見るためにAndroidデバイスでプロジェクトを実行します。

サンプルアプリケーションを実行する前に、Firebaseコンソールにプロジェクトを作成する必要があります。Androidアプリをプロジェクトに追加し、生成された`google-services.json`ファイルを`app/`ディレクトリにコピーします。また 、サンプルアプリケーションのいくつかのコンポーネントが必要とするため、Firebaseプロジェクトに対して匿名認証を有効にします。

サンプルアプリを実行しようとしているときにAndroid StudioとGradleのバージョンの互換性に問題が発生した場合は、Android Studioのインスタント実行機能を無効にしてみてください。または、Android StudioとGradleを最新のバージョンにアップデートしてください。

##コントリビュート(貢献する)##

ローカルにインストールする

FirebaseUIをダウンロードし、このリポジトリを複製して実行することで、ローカルにインストールすることができます：
<pre>
./gradlew :library:prepareArtifacts :library:publishAllToMavenLocal
</pre>

##配置##

FirebaseUIをBintrayにデプロイする

あなたの環境に設定BINTRAY_USERしBINTRAY_KEYてください。あなたはfirebaseui Bintray組織のメンバーでなければなりません。
実行する `./gradlew clean :library:prepareArtifacts :library:bintrayUploadAll`
Bintrayダッシュボードに移動し、[パブリッシュ]をクリックします。
Bintrayで 'Maven Central'タブをクリックし、リリースを公開します。

##GitHubでタグ付けする##

すべての変更がマスターになっていることと、ローカルビルドがマスターになっていることを確認する
正しいバージョン番号が入力されていることを確認してください `common/constants.gradle`
貢献者ライセンス契約

サンプルのアプリやパッチを受け入れることをお勧めします。私たちがそれらを取る前に、我々は法的障壁のいくつかを飛ばなければなりません。

個人または企業のコントリビュータ使用許諾契約書（CLA）を記入してください。

個々のオリジナルソースコードを作成していて、知的財産を所有していると思われる場合は、個々のCLAに署名する必要があり ます。
あなたがあなたの仕事に貢献することを許可したい会社に勤めているなら、法人CLAにサインする必要があり ます。
上の2つのリンクのいずれかを実行して、適切なCLAにアクセスし、署名と返却の方法を指示してください。私たちがそれを受け取ったら、あなたのプルリクエストを受け入れることができます。

##投稿プロセス##

問題のレポに提案された変更を説明する問題を提出してください。
レポ所有者は問題に迅速に対応します。
提案された変更が承認されていない場合は、コントリビュータライセンス契約に署名してください（上記の詳細を参照）。
目的のレポをフォークし、コードの変更を開発してテストします。
あなたのコードは、あなたが貢献しているライブラリの既存のスタイルに従っていることを確認してください。
コードにすべてが合格する単体テストの適切なセットがあることを確認します。
プルリクエストとcc @pufまたは@samtsternを送信してください