うまくいかんシリーズだ。
ESP8266からPOSTしたら、たぶんNotificationしてAndroidアプリで受け付けることができるんだろう。
よくわからんなりに、Firebaseのコンソール画面から左側の「Notifications」を選び、Androidを選択。
そして、適当に項目を埋めた。
そのときにアプリのパッケージ名がいるようなので、同じ名前で作る。
親切にも、Android Studioでどうしたらいいかのガイドが出てくるので、従う。
- ダウンロードしたJSONファイルをドラッグ&ドロップ
- build.gradleを、プロジェクト直下とapp内の両方を書いてあるとおりに変更
が、送ってこないね。。。
こちらを見ると、「firebase-core:9.0.2」も追加するようなのだけど、見つからないと怒られる。
Add Firebase to your Android Project | Firebase
「firebase」でライブラリを検索するといくつか出てくるのだが、「firebase-core」だと出てこない。。。
あ、やりたいことによって追加するライブラリが違うんだ。
https://firebase.google.com/docs/android/setup#available_libraries
と思ったが、そもそも候補に出てこないのだ。
ん?
2.2 preview?
でも、これはInstant Runだけの話だよなぁ。
Google Play services 9.0.2以降がインストールされていればよいっぽいのだが。
あら、今気付いたが、インストールしているGoogle Play servicesのバージョンは「30」だ。
よくわからんが、Standaloneの方のSDK Managerを使ってインストールして再起動すると、エラーが出なくなった。
まあいいや。
compile 'com.google.firebase:firebase-messaging:9.0.2'
を追加した。
コンソール画面で出てくる説明は、全体としての説明で、ここのサービスについては必要なライブラリを組み込むことになるようだ。
まあ、1行だけなんだけどね。
が、Notificationは飛んでこない。
JSONファイルは読んでいるようなのだが、signature not valid、なんて言われている。
うーん。。。
「バグで偽のログが出てるけど、動作には影響しないので修正するまで我慢して」と言っているのかな?
アプリを新しく作って、build.gradleに埋め込んでおけば通知バーに何か出てくるのかと思ったけど、そんなに甘いものじゃないのかな?
Receive and handle notifications
フォアグラウンドで動くときは何もいらないかと思っていたけど、何か追加しなさいと言っているな。。。
FirebaseMessagingServiceをextendsして、onMessageReceived()をoverrideしてログを出すようにしてみたが、呼ばれんな。
あれ、Nexus5で動かなかったのでNexus7でやっていたのだが、いま見たらNexus5の方にはNotificationが出ている。
Nexus5の方は、まだFirebaseMessagingServiceなどを追加する前だ。
じゃあ、別に今のままでもよいということか?
ううーん。。。
送信して1時間ほど放置したが、届かなかったので、Nexus5を再起動させた。
そのおかげかどうかわからないが、送信したら届くようになった。
・・・あら、来ない。
次に送ったら、来たけど、受け取れてないのもあるな。
うーん。。。
本体がスリープ状態(LCD消灯)してるけど、電源ボタンを押すと通知が来ているのよね。
通知が受け取れると言うことは、アプリは別にこのままでよいということなのか?
わっからーん。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。