かずきち。の日記

サーバサイドエンジニアのつぶやき

スマホの充電回数をGASとiPhoneのショートカットアプリで可視化するアプリを作成してみる


引用:
https://www.itmedia.co.jp/mobile/articles/2209/16/news001.html


www.nikkei.com

iPhoneはビジネスマンの必須アイテム。
なので当然会社から支給され、会社としては従業員のスマホを数年に一回リプレイスを行います。
大体スマホが1台10万円、従業員1000人規模の会社で1億円の予算計上を行わなければいけません。
というわけでなるべくスマホは長く使っていただきたい。

なので今回はみなさんがどれほどこまめに充電をしているか可視化するアプリを作っていく。

使用するものはiPhoneのショートカットアプリとGoogleAppsScript

ショートカットアプリで充電を行うとGmailに充電したよという通知が飛ぶ仕掛けのオートメーションを作成した状態から始めます。

news.yahoo.co.jp
引用:
https://news.yahoo.co.jp/articles/df65ced885cb46dc4d51e42c12e50e7351a54c65

Yahoo!ニュースにもなっていますが、iPhoneスマホのある場所、時間、電池残量などに応じて自動で〜〜をするという設定ができるのです。
例えば会社から500m以上離れたら、家族に「帰るよ」のメールを送ったりできます。
ここではそのレシピは解説しません。
やってみたい人は上記のYahooニュースにも取り上げられている「ショートカット」というアプリを使ってみてください。

話は戻りまして、スマホがコンセントに刺さったら、Gmailに充電を開始したよと自分にメールを送って
毎日23:59に何回コンセントに刺したかを集計するプログラムを書きます。

function myFunction() { 
  var threads = GmailApp.search("label:充電を開始しました newer_than:1d");
  //Logger.log(threads);
  
  //件数を習得
  Logger.log(threads.length);
  
  //今日の日付を習得
  var date = new Date();
  Logger.log(Utilities.formatDate(date,'Asia/Tokyo', 'yyyy/MM/dd'));
  var today = new Date(Utilities.formatDate(date,'Asia/Tokyo', 'yyyy/MM/dd'));

  var ss_id = "自身のID"; //スプレッドシートのIDを指定
  var sh_name = "充電回数"; //スプレッドシートのシート名を指定
  var sh = SpreadsheetApp.openById(ss_id).getSheetByName(sh_name);

  sh.appendRow([today,threads.length]);

  //https://docs.google.com/spreadsheets/d/********************************/edit#gid=0に充電回数記入
}

プログラム20行で終わりまして、あとは適当に毎日23時台にスプレッドシートに転記するように仕掛けます。

トリガーはこんな感じ

あとは寝て待てばどんどんグラフが更新されていきます。

従業員が一人ひとりにプログラムを仕掛ければ、どんどんグラフを書いていってくれます。