Emergency Situation Sharing Tool,
Send Message by Gmail,
Cloud Functions,
Firebase Cloud Messaging,
Google Assistant API
Abstract#
I'm thinking what I wanted to do in ESST project can be implemented by using Firebase. I would like to study how Firebase can work by trying to develop ESST by using Firebase.
Topics#
- AndroidクライアントからTwitterのタイムラインを取得できるか?
Firebaseのドキュメントをベースに進めてみよう。 |
Twitter APIに登録して、API KeyとAPI Secretを取得して、FirebaseのAuthentificationのTwitterを有効にしてみた。 |
Default FirebaseApp is not initialized in this process Make sure to call FirebaseApp.initializeApp(Context) first.
FirebaseAuth.getInstance();
これが出て先に進めない。 |
ここも重要だ。これをちゃんとやってみよう。 |
いつの間にか、上記エラーも出なくなるが、コンパイルエラーが。。。 |
Invoke-customs are only supported starting with Android O (--min-api 26)
Message{kind=ERROR, text=Invoke-customs are only supported starting with Android O (--min-api 26), sources=[Unknown source file], tool name=Optional.of(D8)}
うーん、以下をProjectのbuild.gradleに追加して解決。 |
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
行き詰ったので、まずは、Androidのクイックスタートをやってみる。githubからプロジェクトフォルダダウンロードして、展開して、Android Studioでauthフォルダを開く。そうすると、必要なダウンロードが自動的に始まる。 |
エラーがいくつかでて終わる。必要な設定ファイルがないから当然。Tool->Firebaseでアシスト画面を開きAuthentification->connect Firebaseをやると、ネットワークの調子が良ければ、Firebaseサーバ側にプロジェクトが生成され、Androidアプリ側にもgoogle-services.jsonなど必要なファイルがダウンロードされて設定ができる。 |
TwitterのAPI KeyやAPI SecretをAPPSページから持ってきて、Firebase ConsoleのページとAndroidのリソースresにあるids.xmlに追加。 |
com.google.firebase.FirebaseException: An internal error has occurred.
Identity Toolkit API has not been used in project 937695033468 before or it is disabled.
Enable it by visiting
https://console.developers.google.com/apis/api/identitytoolkit.googleapis.com/overview?project=937695033468 then retry.
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Identity Toolkit APIを有効にしてみる。 |
com.google.firebase.auth.FirebaseAuthException:
The given sign-in provider is disabled for this Firebase project.
Enable it in the Firebase console, under the sign-in method tab of the Auth section.
注意点ですが、慣れていないと意外と引っかかるのが、Android StudioのConnect to Firebaseを使って設定すると、Firebase上にどんどんプロジェクトが自動作成されます。どのアプリがどのプロジェクトに接続するかを理解しながらAndroidアプリ側、Firebaseサーバ側、Twitterサーバ側を設定しないと当然エラーがおこります。当たり前なのですが。。 |
- AndroidクライアントからGmailが送れるか?
まずは、OAuthでGoogleにログインしてみる。なお、で最初に要求されるSHA Finger Printは、Firebase Assistantがすでに設定してくれてた.できたこと、できなかったことをSend Message by Gmailに記録。 |
- Firebaseのサーバ側のDBにクライアントからメッセージを登録できるか。
Reference#
- Google, Android で Twitter を使用して認証する, https://firebase.google.com/docs/auth/android/twitter-login?hl=ja
- Google, Android プロジェクトに Firebase を追加する, https://firebase.google.com/docs/android/setup?hl=ja
- Google Inc, quickstart-android, https://github.com/firebase/quickstart-android
- Twitter, Inc., Twitter Apps, https://apps.twitter.com
- Invoke-customs are only supported starting with android 0 --min-api 26, https://stackoverflow.com/questions/49891730/invoke-customs-are-only-supported-starting-with-android-0-min-api-26
- Google Inc, Android で Google ログインを使用して認証する, https://firebase.google.com/docs/auth/android/google-signin?hl=ja