はじめにCM
私の過去記事をご覧頂いた方にはおなじみですが、FF14のゲーム内で流れているエオルゼア時間がいつでもWear OS搭載のスマートウォッチで確認できるウィッチフェイスをGoogle Playでリリースしました。
(無料です!)
ここから本題
ところでこのウォッチフェイスをGoogle Playでリリースするまでに様々な躓きやトラブルがありました。
ここはQiitaなので、そういった情報を共有できればと思います。
開発での躓き
レイアウトの作成
はじめに、下図のようにAndroid StudioのXMLビジュアルエディターでウォッチフェイスのデザインレイアウトを頑張って作りました。
エミュレーターでも確認してこれでバッチリだと思ったんですよ。
ところがウォッチフェイスの切替画面で見たとき驚愕の事態が。
なにこれ?
はい、原因はテキストサイズを「sp単位」(OSのシステムテキストサイズ基準で相対的にサイズが決まる単位)で指定したためです。
かといってWear OSデバイスごとに画面の縦横px数は異なるのでpx単位で指定するわけにも行かず積みになりました。
結局このXMLはほとんど破棄して、1つだけ置いたViewに対してCanvas内でゴリゴリ計算しながら描画する実装にしました。
(Android StudioでWatch Faceプロジェクト作成時に生成されるサンプルコードもCanvasに描画する実装になっていました)
Google Playの審査での躓き
リジェクト1回目
さて、なんとかウォッチフェイスが完成したのでApp bundleを作成してGoogle Playの審査に提出しました。
待つこと半日、ありがたくないリジェクト(否承認)を知らせる下記の内容を含むメールが届きました。
問題が見つかりました。 Wear のスクリーンショット
Wear OS のスクリーンショットに 1 つ以上の問題(下記を参照)があります。
Wear OS のスクリーンショットに透明な背景やマスキングが含まれています。
マスキングも半透明にした覚えもないけどな…と思いながらよくよく提出したスクリーンショットを眺めていると
エミュレーターで撮った丸形デバイスのスクショ、余白透明になってない…?
というわけで背景を黒にしてJPEG形式で再提出しました。
リジェクト2回目
待つこともう半日、もう一度リジェクトメールが届きました。
お客様のアプリアイコンは、ウォッチフェイスに表示される画像を正確に表していません。
Wear アプリの品質に関するガイドライン について
Wear アプリの品質に関するガイドラインに準拠していない Wear OS アプリは承認されません。
…あっ、そんなルールがあるんですね。
(適当にウォッチフェイス名を書いた画像をアプリアイコンとして提出していました)
ガイドラインなど公式ドキュメントはちゃんと読みましょう。
さいごに
というわけで皆様がWear OSのウォッチフェイスを開発する際の一助になれば幸いです。
Let's happy watch face hacking!