後編:
最近のお話
いつものようにゴロゴロしながらX(旧twitter)を眺めていると「デモに紛れて強奪が発生。Apple Storeが襲撃された」というセンセーショナルな記事が目につきました。
しかしながら自分の居住地は日本。対岸の火事よろしく「大変そうだなぁ」なんて思っていたところ
続報で「強奪されたiPhoneは遠隔操作ができるようになっている」との情報が目に飛び込んできました。
日本でも物騒なニュースが見られる昨今。
いつ何時、暴力が支配する弱肉強食の世界へと変貌するやもしれません。
ヒャッハーと言いながらスマホを強奪していくモヒカン頭が現れる可能性もあります。
そんな時 「盗られても安心。そうiPhoneならね」 と、Apple最強卍みたいになるのは避けなければなりません(Android狂信者)
というわけで、 Androidでも同じようなの作れるんだぞ!実際に作ってみよう! というのが今回のコンセプトになります。
仕様を考えるフェーズ
挙動の確認
ひとまずなんとなく調べたところ、盗まれたiPhoneは以下のような挙動をしていることが分かりました
- 店舗から離れるとロックされる
- ロック後インカメラで撮影(動画?)が行われる
- 撮影と同時にアラートが鳴る
この挙動をもとに、もっと仕様を考えていきましょう
技術的なところ
- 店舗から離れるとロックされる & アラートが鳴る
これは、おそらくこことかここらへんのことをしてるんだと思います。デバイスを監視対象モードにしといて、GPSが離れたら紛失モードにするって感じかな?
自分の記憶が正しければ、SIMなしだとこいつ動いてくれなかったような気がするのでSIM入ってるんですかね(自信なし)。自分の浅学がガガガ
位置情報もちゃんと取ってそうですね
- ロック後インカメラで撮影
これ知らない子でした
もう完全に店頭のものが盗まれたとき用ですよね。Appleの 許さん… って気持ちが伝わってきます
ドキュメント見ると
カメラの使用
この制限は監視対象ではないiPhoneおよびiPadデバイスでは非推奨です。今後のリリースでのみ監視対象になります。
こんな感じらしいです
仕様
なんとなく言葉でまとめて
- 店舗から離れるとロックされる
- GPSで位置情報を取って、指定の場所から10m程度離れたらロック
- 撮影と同時にアラートが鳴る
- 指定の場所から10m程度離れたらアラート
- 鳴る時間は作りながら検討(最良はずっと鳴る)
- ロック後インカメラで撮影(動画?)が行われる
- 動画を撮影してローカル保存
こんな感じの仕様となりました
動画をサーバに保存もやってみたかったんですが、時間的制約と自分の知識量的なところできつそうなので、今回はローカル保存を目指します
つくるぞー
Android Management API(以下AMAPI)を使って作っていきます
ブログのネタを考えたときはAMAPIの紛失モードで行けるんじゃないかなと思ってたけど調べてみたらカメラの起動はダメっぽい?
(想定外だった…勉強になりました)
なので、仕様の機能を持ったアプリを作成して、キオスクモードで固定でいきます!
もっといいやり方もありそうだけど、今回はこれで作っていきます
専用端末の設定とか
今回は前述したようにAMAPIを用いて専用端末化します
AMAPIではポリシーというのを作って端末に適用することで、機能の制限やアプリのインストールなどを行います。
AMAPIのQickStratと上記のブログを参考に作っていきます
GoogleCloudからプロジェクトを作って、Android Management API(以下AMAPI)を有効にします
プロジェクト名は好きなもので大丈夫です
(MDM全然できないのと、オレオレを合わせてore-no-mdmにしときました)
次は認証情報を登録します
今回はお試しで1台しか登録するつもりがないので簡単なOuth2で認証とします
Outh2の認証についてはQickStratのcolaboにのっとって進めていく…
んですがちょっと長くなりすぎたので、ポリシー作成とアプリつくりは次のブログで書いていきます
後編: