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サーバを用意しなくてもすむ。

関連記事

Amazon Echo Spot を買ってみた

2018/07/26(木) に発売された、丸いスクリーン付き Alexa デバイス Echo Spo

記事を読む

no image

Nintendo 3DS 開梱。ウィニングイレブン 3Dの感想

たまたまAmazonで予約できた3DSは、3/6以降の発送になっていたが、実際には3/4に届いた

記事を読む

Wi-Fi体重計Withings WS-50 を買ったのでSDKを試してみる

奥さんからの要望でスマホと連携する体重計を検討していたが、いつの間にかWithingsのWS-50が

記事を読む

新型Pebble カウントダウン中

待望の新型Pebbleが、24日10:00 EST(日本時間25日0時)に発表されるらしい。あと

記事を読む

EverLearn Ver.1.6 を公開しました。今回はiPhone6 Plus 対応+英英辞書追加

残念ながらあまり売れていないiPhoneアプリ EverLearn ですが、自分的には毎日使っている

記事を読む

no image

incase compact backpack CL55302 を買ってみた

ここ10年くらい? ずっとPorterのBackpackを使ってきたが、最近は価格に見合う満足が得ら

記事を読む

no image

[iOS] iPhone とつながるG-SHOCKの注意すべき仕様

CASIO 腕時計 G-SHOCK ジー・ショック Bluetooth Low Energy対応

記事を読む

no image

PDFファイルをKindle3で快適に読みたい

PDFファイルをKindle3で快適に読みたい。 PDFファイルはそのままKindle3で読むことが

記事を読む

no image

Apple Universal Dock MB125G/B

最近Appleものを買うことが多いが、これはAmazonで20日前に注文したもの。 家ではTIME

記事を読む

no image

PS3 クラシックホワイト CECH-2500 HDD160GB 注文

ずっと初代PS3を使い続けてきたが、さすがにファンの音に耐えきれなくなり、新型を買うことにした。 そ

記事を読む

Message

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

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

iPhone XR予約開始

10/19(金)はiPhone XRの予約開始日だった。おそらく大量に

[iOS開発本] よくわかる Auto Layout

あまりにも Auto Layout がわかりにくいので、業を煮やして開

LogLocations 1.3.4 リリース

久しぶりに、LogLocations をアップデートしました。今までピ

Apple Special Event September 2018

今年も新型iPhoneを発表するアップルのスペシャルイベントが2018

Mint60のFirmwareをOSX用に書き換えてみる

Mint60のFirmwareを書き換えてみる前回、自作キーボードキッ

→もっと見る

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