Fitbitの時計やアプリはJavaScriptを中心に作成する。
Fitbit Versa2を使用している。優れモノでClockfaceやアプリケーションをJavaScriptで簡単に作成できる。
Galleryをみるとどのようなことができるかを手っ取り早く把握できる。
Fitbit Studio
直接編集もできるが、ドラッグ&ドロップでローカルのフォルダをアップロード、プロジェクトをダウンロードできる。
GIMP
https://github.com/Fitbit/sdk-design-assets で公開されているアイコンを使用を優先するものの、使いたいアイコンがすべてそろっているわけではない。「8-bit Grayscale PNG」を使用するとfill属性で指定した色で染めることができるので、GIMPを使用しアイコンを作成している。背景になじませる場合は、色を削除して透過にする。画像をエクスポートするときに「8bpc GRAYA」で保存する。
LibreOffice Draw
文字盤の作成等は位置合わせ・サイズ合わせが楽なDrawを使用するようになった。
エクスポートでPNGを作成する場合は、モードでインターレースをOFF、図形描画オブジェクトで透明を保存をOFFにして保存、
GIMPでαチャネルを追加して背景を透明化するとうまくいく。(さまざまなパターンを試してないので、もう少し手間をはぶけるかもしれない)
取得の仕方は、2種類にわけて考える。
(センサーからの)通知を受け取り値を取得するもの
インターバルを設定して値を取得するもの
情報源の利用可否にもとづく受取や情報源の追加を容易にする
測定や実行の周期を必要最低限にする。
表示状況によりSensorや実行を始動・停止
装着状況によりSensorや実行を始動・停止
インスタンスやSensorの多重生成は行わない。
機種によってできることが異なる。サイトに記載されている各機種の仕様。
Versa,Versa 2,Versa Lite
解像度300x300px
Versa Lite 高度計が実装されていない。ElevetorGain/Floorsが取得できない。
Versa 3,Sense
解像度3360x336px
豊富なセンサー
Fitbit Studioから Run するとシュミレーターで(デバイスでも)動作確認できる。
デバッカーがないのでコンソール表示を頼りにすることになる。非同期処理を意識するところがないのでわりと変なツマヅキはなさそう。
シュミレーターは、起動時に不適切な再起呼び出しなどでメモリ不足が発生すると反応しなくなる。シュミレーターをアンインストール、フォルダ削除、再インストールするはめになる。
シュミレーターで確認したら、公開(限定)で継続使用し問題ないことを確認するということがほとんどで、デバイスを使ったデバックを行うことはめずらしくなった。
Fitbit StudioからRunするとデバイスで動作確認でき、コンソールが使える。
スマートフォンのFitbit APの開発者向けメニュー、デバイスのDevelopper Bridgeで、インストール可能にすると、Fitbit Studioからシュミレータと同様に扱える。
センサーの利用可否・実用度
装着・スリープ判断
他のアプリケーションからの戻りなどの挙動
バッテリー消費
使用感
スマートフォンでの既定値設定の挙動の違い。
シュミレーターでは値で選択、スマートフォンでは選択インデックスでの選択という違いがあるようにみえる。
Gallery App Manager(https://gam.fitbit.com/apps)でアプリケーションを公開する。。
Fitbitに承認を申請しないプロジェクトを用意する。該当のURLを知っている者だけがデバイスにインストールできる。
Gallery App Manager(https://gam.fitbit.com/apps)でアプリケーションを公開する。
公開用の(Fitbitに承認を申請する)プロジェクトを用意する。申請後、承認が得られれば、ギャラリーに公開できる。
異なるfba(Versa 2用,Versa 3用など)を同時公開する場合
https://community.fitbit.com/t5/SDK-Development/Publishing-OS4-amp-OS5-builds-in-one-GAM-entry/td-p/4509592
(まだ試してない)
Fitbit OS Simulator
Getting Started
SDK Guides
SDK Reference
JavaScript
SVG
CSS
JSX
Gallery
Github
ベータ機能