もともとはSW2に通知を出すために構成したプログラム群だったりする。 色々変遷はあるんだけど構成としては (1) Twitterから最新のTweetを取得するプログラム (2) 1からPOSTされてGCMにPUSHするプログラム (3) GCMからMessagingされてSmartWatchに通知するプログラム 1はWindows、2はPHP、3はAndroidという面倒な構成。 3はそれ以外選択肢がなかったので仕方がないんだが 1に関しては初期はPHPで実装して2とひとまとめの予定だったんだがイマイチ安定しなかった。 で一旦Windowsのオープンソースクライアントを改造して通知側と分離した。 (この時にWindowsアプリ側に通知まで組み込む手もあったんだけど、いろいろ面倒が出るのでね)
その後Windowsアプリを動かすためだけに鯖に仮想環境動かしておくのが馬鹿らしくなって C#で自前実装したうえmonoでLinux鯖でも動かせるように変更。 さらにTwitterがUserStreamを廃止したのでそれに合わせてポーリングに変更と変遷。
で今回は3のAndroid側がSW2の独自仕様からWearOSの一般仕様に代わるための対応。 大幅に変わるため改造ではなく新規実装となったわけだが 相当世代が開いているせいでいろいろ変更しなきゃならんところが出てきた。 というかもうGCM自体が廃止でFCMに変更しないといけないとのこと。 おまけにFCMの使用方法自体も変遷があってネット情報が当てにならない辛さ。 (つかまあ、公式情報をちゃんと見ろよって話ではあるがGoogleのドキュメントわかりづらいんだよ)
ネットワーク通信回りも非推奨がさらに標準からは削除になってしまったので 最新で使えるようにライブラリを変更したりと予想以上の大作業。 まあただ、SW2のライブラリと違って標準だから癖はないのでよかったけれども。 しかしOreo以降のNotificationはイマイチ効いてないオプションがあるような? 継続して調整改造していかないといかんかもしれん。
あとはWear側が非使用の場合通知自体をOFFにする機能が新版には実装してない。 これ昔の極力省電力を狙った実装だがそこまで気にしなくていいかもしれない。 ただ腕から外してるときに通知しているのは意味ないので止めたいけど Mobile側で接続が切れたのは判断できなくないだろうけど、非装着はわかるんかな?
|