スマートウォッチのスピーカーに入った水を排水するアプリ、Watch Water EjectorをPlayストアで公開しました。
元々はスマートウォッチを付けたままの風呂、手洗いが多い自分用のアプリでしたが、需要があるんではと思い公開しました。意外なことに、公開後数日でちょこちょこダウンロードがあります。
なぜ作ったか
- 自分にとってスマートウォッチのスピーカー排水機能は必要だった
- 手持ちのPixel Watch 2には何故か排水機能が付いていなかった
- サードパーティー製排水アプリは不便だったから(← ここ重要)
- 「既存のが不便だったので自分で作りました‼️」が出来るのはエンジニアの強みですよね
どういうもの?
ワンタップでノイズが大音量で再生され、結果スピーカーから水が排水されます。
主に既存のサードパーティー製排水アプリとの違いを重視しました。
- 「ワンタップ」で出来ること
- アプリを開いて、スタートボタンを押して…ってのは面倒でした
- 起動手段が色々あること
- 主にはコンプリケーションで、コンプリケーションの置き場がなくてもタイルで。みたいな形で、出来るだけ起動方法を増やしました。僕はコンプリケーションで使ってます
- 既存のアプリはコンプリケーションもタイルも無いんですよね
- 音量指定出来ること
- まあ基本最大で使いますが
- 再生の長さが指定出来ること
- 既存のアプリでは、手動スタート手動ストップでした。
- それは不便なので、任意の秒数再生して自動終了するようにしました。
- ノイズの種類があること
- 機器によってスピーカー周りの形が違うので、最適なノイズパターンは違いそう
- Pixel Watch 2で最適なのはどんなパターンか、何パターンか試してみたかった
結果としてそれなりに使いやすく、標準で排水機能のあるスマートウォッチにも導入する価値のあるものになった気がします。
技術的な感想
Wear OS向けアプリのコーディングに必要な知識は、Android用アプリを開発するときと大して変わらない
驚くことに、ロジックのコーディングも画面作成もほぼほぼ変わらず、Android Studioからスマートウォッチのテンプレを選択すればすぐに開発が始められます。
デバッグもAndroid Emulatorが存在し、ADBデバッグも操作手順はAndroidスマホと変わりません。(Wear OS自体が簡易版Android OSみたいなものなので)
ただし、一部のスマホ用Javaライブラリはバッテリー消費の観点で非推奨だったりします。
電力制限が気にならない
スマートウォッチ用アプリと言えば電力制限がつきものですが、ほぼ制限は感じませんでした(上記のライブラリくらい)
AppleのWatch OSとかだと結構あるとか無いとか
スマートウォッチ専用機能の実装も簡単
円形モニタへの対応や、竜頭(デジタルクラウン)へのスクロール対応、スマホとの連携などはスマートウォッチ独特の機能ですが、専用のライブラリがあるので簡単に導入できます。
Playストアの審査は若干独特
Playストアには当然ながらWear OS向けアプリ用の審査項目があり、よく皆さん引っ掛かってるのはスクリーンショット(画面以外が写り混んでいる、透明化されている箇所がある等)とフォントサイズ(フォントサイズを大きめに設定したときに、要素が見切れる)でしょうか
かくいう僕も、フォントサイズで何度かリジェクトされました