国民的な?徒歩ゲーム!
『ドラクエ・ウォーク』してますか? (※ SQUARE ENIX社のスマホアプリ)
“ドラクエ・ファン” な我が家では、ワタシ(46♂)だけでなく、子供達(9♂・7♂)も、歩きまくってます。(俺たちは勇者だ!)
通勤ウォーク!
そもそもワタシは毎日の通勤が徒歩です。
なので、子供達より圧倒的に有利です。 (父はいつでも強くなくてわナリマセン?)
しかも最近では、コッソリ “遠回り” しています。(えっ? 姑息??)
自動計測アプリ(Google Fit)の集計で見ても、『ドラクエウォーク』のリリース日(9月12日)以降は、よく歩いています。特に、子供達がオフルのスマホにインストールした日(9月14日)以降は、毎日の「歩数」が倍増していました。(下図のカレンダ表示参照)
※ 最近の Android や iPhone にはジャイロセンサー・加速度センサー・GPS などが搭載されているため、スマホ単体でも歩数や移動距離などを自動で計測できるのです。かなり正確です。そこで活躍するアプリは「アクティビティ・トラッカー」とも言われます。

業務報告にも活用?
ある日、歩いていると、、、
「この Fitness データ…、もっと活用できるんぢゃね?」
「たとえば “働き過ぎの検知” とかにも、使えるんぢゃね??」
などなど、、、いろんな妄想が止まらなくなりました。
つまり、、、たとえば、、、
『“運送会社の配送員” が、会社スマホを持ち歩いた歩数』
といったデータが、もしこの世の中にあるとすれば、、、、それは会社が管理すべき対象なのではないでしょうか?? (←いかにも真面目風)
(他にも、旅行会社の添乗員の歩数とか、外回り営業マンの移動距離とか、訪問メンテナンス作業員の血圧変化だとかww)
たしかに「プライベートな時間のデータ」も含まれているので取り扱いが難しいところです。うーん。うーん。うーん。
しかし、就業時間だけを切り出せば、(任意の時間で切り出せれば)、使ってもイイような、エエような、イイような。。。(そもそも健康管理は会社の義務/安全配慮義務? 監視社会・監視企業? ブラック企業??)
そもそも賃金(労働対価)を時間だけに依存している現状労基法には無理がある。ましてや “生産性” を語るなら尚更だ。いっそ「”1日1万歩” を超えたら “歩き過ぎ割増賃金” を付けちゃう」とか…(暴論)

REST API で実装!
ということで、、、 「利用シーン」についてはダンダンどうでも良くなってきたので、、、「利用シーン」については後回しにすることとして(!)、、、早速作ってみました。
上の超シンプルな “ワークフロー図” と “データ入力画面” を見て頂ければ、何となく解かると思いますが、、、、つまるところ
『任意時間の「歩数データ」を切り出してくる』という工程
が自動化される仕組みです。(自動処理工程名:Google Fit データセット 歩数集計 via “Fit REST API”)
要するに、、、たとえば、、、
- 「9~17時の歩数」のレポートメールが、翌朝、自動的に届く!
- 「日報にかいた業務時間の歩数」が提出した日報に自動加筆される!
といったことが実現できるようになりマス。
さらに、〔2.上司承認〕のような上司工程を後置すれば、立派な(?)企業ワークフローに!?
ワタシ自身が “歩き回る仕事” ではないので有用性がワカラナイ(検証しづらい)ので、、、もし何処かの会社の、何かの業務の自動化に貢献できそうなら、是非ご一報ください。万が一にも強いニーズあれば、自動処理の仕様についても積極的に改変させて頂きたいと思います。よろしくお願いします。
追伸1:
ちなみに “Fit REST API (v1)” は、とてもクセのある API でした。(実装 Script などはリンク先を参照してください)
Request Json を POST する形式(aggregate)は、Slides API や Sheets API (batchUpdate)などと同じ仕組みなのですが、
- 許諾(OAuth2 Scope)内容に関わらず、デバイス Raw データには参照させない…、とか
- データ生成クライアントのみが参照できるようにIDの一部が難読化されている…、とか
- ミリ秒ではなく、マイクロ秒でもなく、ナノ秒で記録されている…、とか (マバタキは何ナノ秒なの?)
- 集計の境界時刻をまたぐウォーキング(歩数や距離など)は、そのどちらにも合算されてしまう…、とか
なんともオモムキ(?)がある API です。
さらに、(現時点では自身のデータしか取得できませんが)、将来的には “他人のデータ” も取得できそうな Parameters 設計になっていること、も新鮮でした、にも驚きました。ま、「Google Fit Web サイト」の類似サービスが復活することはなさそうですが、それ以外の周辺サービスの動向については、今後もウォッチし続けていきたいと思っています。
let requestObj = {};
requestObj.aggregateBy = [];
requestObj.aggregateBy[0] = {};
requestObj.aggregateBy[0].dataTypeName
= "com.google.step_count.delta";
requestObj.endTimeMillis = numEndTimeMillis;
requestObj.startTimeMillis = numStartTimeMillis;
requestObj.bucketByTime = {};
requestObj.bucketByTime.durationMillis = numDurationMillis;
let apiRequest = httpClient.begin(); // HttpRequestWrapper
apiRequest = apiRequest.bearer( token );
apiRequest = apiRequest.body( JSON.stringify( requestObj ),
"application/json" );
const apiUri
= "https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate";
engine.log( " AutomatedTask Trying: POST " + apiUri );
const response = apiRequest.post( apiUri );
#超個人的には「血圧」と「体重」(←とっぷしーくれっと?)を手入力し続けている(←イイ機器あったら買いたい)ので、”朝昼晩での増減傾向” などを分析しようかな、とか、思ったり思わなかったり。。。
追伸2:
ちなみに『ドラクエ・ウォーク』の進捗は。。。
現時点で配信されているストーリーは全て終了しています。
“第5章クリア” は Lv48 でした。ええ、無課金デス。(←子供達の手前、仕方ないのデス)
「ゲームがなかったら運動できへんのか~い?・健康管理できへんのか~い?」と言われれば返す言葉もないのですが、、、まぁ、もうしばらくは、子供達と一緒に、”ウォーク” を楽しもうと思っています。(俺たちは無課金勇者だ!!)

(C) SUGIYAMA KOBO