Pebble WatchApp の設定をスマホから変更可能にする

公開日: : 最終更新日:2015/08/22 gadget, Pebble

invert-notinvert

このページは Pebble SDK 2.0 Tutorial #9: App Configuration | try { work(); } finally { code(); } の記事をおおまかに翻訳したものである。(Chris氏から許可いただきました)

Pebble アプリにはWatchface と WatchAppの2種類があり、WatchfaceはPebbleのハードウェアボタンを使用することができないのでPebble上で設定を変更することができない。

このため、Android/iOS 側で設定ページを用意する必要がある。

ここでは例として、Watchface や WatchApp の背景色をPebbleKit JSを使ってスマホ側で変更できるようにしてみる。

参考ページ Developer Guides // Pebble Developers

作業の流れ

  1. PebbleKit JS からデータを送れるように WatchAppでAppMessageを使えるようにする
  2. appinfo.json か、CloudPebble の設定ページで、AppMessageで使うKeyを設定する
  3. PebbleKit JS のコードを変更して設定ページをロードして watchappに送るようにする
  4. HTMLページを用意してユーザが設定を変更できるようにする

PebbleKit JS からデータを送るために WatchAppにAppMessage用コードを追加する

AppMessageInboxReceived ハンドラを用意し、メッセージを受けられるようにする。
ハンドラ中で persist date に値を書き込む。

下記を init などで実行する。

  • app_message_register_inbox_received((AppMessageInboxReceived) in_recv_handler);
  • app_message_open(app_message_inbox_size_maximum(), app_message_outbox_size_maximum());

書き込んだ persist data はwindow_load などで読み込む

appinfo.json に appkeys を追加する

App Metadata (SDK only) // Pebble Developers を参考に appinfo.json に appKeys を追加する。

今回の場合は  KEY_INVERT を追加する。

PebbleKit JS から設定ページをロードして watchappに送る

PebbleKit JS は、スマートフォンから configuration page を読み込んでwatchappに結果を送るためのもので、src/js/pebble-js-app.js にある。 “showConfiguration” と “webviewclosed” のイベントで設定を行う。 デフォルトの状態

showConfiguration イベントでは、ページを開く

webviewclosed では、設定を読み込む

上記の URLにHTMLを用意して、ユーザが設定を変更できるようにする。

また、こちらのスクリプトも追加する。

HTML置き場として上記参考ページでは Dropbox の Public folder がおすすめされている。こちらを使うと自前でWebサーバを用意しなくてもすむ。

関連記事

Miselu C.24 日本でも12/16からSoftbankで発売開始

KickstarterでMiselu の iPad用キーボード C.24 に出資してみた |

記事を読む

KORG nanoPAD2を改造してみた

年末に買ったnanoPAD2はなかなか良いものなのだが、結構強くパッドを叩かないと反応してくれない。

記事を読む

no image

デザインの良いデスクライト LEDIC EXARM mono

早朝にプログラムを書いているが、手元が暗くて目が悪くなりそうなので、 なるべく省スペース

記事を読む

Alexa スキル公開特典 2018年6月

AmazonはAlexaスキル公開を促すために、期間限定でTシャツを配布している。毎月1ヶ月と期間は

記事を読む

no image

MacJournalからのテスト投稿

今日MacPeopleで知ったMacJournalからのWordPressへの書き込みテスト。 うま

記事を読む

no image

コンビのチャイルドシート コッコロS ヘーゼルナッツ

3番目と4番目の子が生まれたので車を買い、様々なものを買いそろえています。 先週金曜日についに奥さん

記事を読む

自作キーボード Mint60 完成

自作キーボード Mint60 が年末完成していたので、記録を残しておく。買った時の記事はこちら 自

記事を読む

EverLearn-Pebble

EverLearn 1.8.0をリリースしました

以前から、iOSから英単語をPebbleに転送できるアプリを作っていましたが、今回はPebbleの画

記事を読む

no image

iPod touch を安く買いたい

会社から借りて常用していたiPod touchをそろそろ返却しないといけないので、ついに購入しようと

記事を読む

BluetoothドラムデバイスSenstrokeとFreedrum

ドラム練習アプリドラムちゃん を作って以来、ドラムに興味があるが、実際には練習はできていない。Ro

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

LogLocations 1.4.0 写真表示対応

行動ログは取りたいが、何も操作したくない。という自分のようなずぼらな

Apple Watch用バッテリーロガーを公開しました

1年前に開発し、App StoreにSubmitしたものの Reje

Guideline 2.5.10 – Performance – Software Requirements で Reject

2019年3月27日以降、iPhone Xs Maxの画面サイズ6.

XcodeにiPhoneとwatchが表示されない

2019年はGWに10連休があるということで、今日は3日目。毎日少し

Xcode のインストール進捗確認

Mac App Store を使って 2019/04/18に公開され

→もっと見る

  • 2015年8月
    « 7月   9月 »
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
PAGE TOP ↑