2016-11-07 11 views
4

私は、firebaseにはリアルタイムデータベースがあり、私はそれを利用していることを知っています。しかし、まずユーザーからの認証に基づいています。私がしたいのは、firebaseリアルタイムデータベースに他のアプリとそのコンテンツを共有させることです。 AndroidのContentProviderと同じです。Googleのfirebase - 他のアプリとデータベースを共有する方法

は、私が呼び出すと:これは私のアプリのためfirebaseDatabaseを取得する予定です

FirebaseDatabase database = FirebaseDatabase.getInstance(); 

。他のアプリでもリアルタイムデータベースを使用できるようにしたい。どのように彼らはそれに接続することができますか?

更新日:
概念的には、この問題を解決できるのはcontentProviderですか? contentProviderは抽象であり、ソースとしてsqlを使用するのではなく、データソースが何であるか気にしないので、firebase dbを使用できます。その後、firebase dbがcontentProviderの中にラップされているので、他のアプリが使用するURIを公開して、contentProviderを公開することができます。 contentProviderはネットワークまたはローカルのいずれかのデータソースのラッパーであるため、これを詳しく見ていく必要があります。 ContentProvider.queryコマンドはカーソルを返しますが、取得したfirebaseデータからカーソルをどのように作成するかはわかりません。

+0

Firebaseの依存関係を追加しない他のアプリは、どういう意味ですか? –

+0

彼らがfirebaseの依存関係を持っていれば気にしません。どちらの方法も問題ありません。私はちょうど他のアプリに私のfirebaseデータベースを公開する方法が欲しい。 – j2emanue

答えて

0

オプション1は、何らかの認証によってデータへのアクセスポイントとして機能するカスタムバックエンドを実装することです。

オプション2は、共有したいすべてのデータを公開し、問題のアプリでそのデータベースへの参照を取得することです。

オプション1は、より安全で信頼性が高く、単一の場所から構成可能です。オプション2は実装が簡単です。

+0

のオプション2については、リアルタイムベースのデータベースを誰にでも公開できるようにfirebaseダッシュボードに方法がありますか?もしそうなら、私はこれを行う方法を知らない。ルールでそれを変更するだけですか? firebaseの機能はアプリごとにあると思いましたか? – j2emanue

+0

これを行うには、他のアプリにservices.jsonを追加する必要があります。外部のアプリケーション(公開していないなど)とデータを共有する場合は、オプション1を選択します。どちらの方法でもオプション1はより持続可能なシステムになるでしょう –

+0

それはちょうど別の方法で私に来ました。 contentProviderは抽象であり、ソースとしてsqlを使用するのではなく、データソースが何であるか気にしないので、firebase dbを使用できます。その後、firebase dbがcontentProviderの中にラップされているので、他のアプリが使用するURIを公開して、contentProviderを公開することができます。 contentProviderは複数のデータソース(ネットワーク、ローカルSQL)のラッパーであるため、これをさらに詳しく見ていく必要があります。あなたは私が思う何も返すクエリコマンドを行うことができます。 – j2emanue

関連する問題