省エネエンジニア

ゆるっとエンジニアやってます。働きたくない系エンジニア。Android、Webのお仕事やってます。

【Android】Android Bazaar and Conferenceへ行ってきました

こんにちは。
先週の土曜日、abc2018へ行ってきました。

abc.android-group.jp

途中、道に迷いちょっと遅刻気味で会場へ到着してしまったので私が聞いたのは吉岡さんの基調公演の途中からでした。

以下、各公演の感想とか。

IoT機器との連携で広がるAndroidの可能性と懸念される脅威への対策

AndroidアプリやIoTアプリのセキュリティのお話でした。
2017年頃から日本でもスマホアプリをターゲットとするマルウェアが増えてきているというお話でした。

例えばストアに掲載されているようなアプリでもマルウェアを混入の上、リパッケージングされて出回っているとか。
実験的にすでにストアに掲載されている有名アプリに自動で悪質なプログラムを混入の上、
リパッケージングして問題なく動くかという実験をしたらしいですが、結構高い確率でそういうこともできちゃったらしいです。

GooglePlayに関しては、ストア側が監視していて怪しいアプリはどんどん削除されていっているらしいです。

ところで、GooglePlayが使えない中国では怪しいアプリが蔓延していたそうですが、
現在ではサードパーティのストア側がソースコードの難読化をしてくれるサービスを開始したようでかなり安全になってきているそうです。

これからスマホやIotアプリがどんどん普及していくと思うので、
ユーザーさんに安心して使ってもらう為にもセキュリティを気にしてアプリを作る必要があるなと思いました。
具体的にどうやるかは要調査ですね。

データ主導社会の実現に向けて

通信技術において法律をどうしていくかっていうお話でした。
話が難しくてよくわかってないところもあるのですが、
とりあえず来年5Gがくるぞってところだけ覚えてきました!

現在日本で普及しているモバイル通信は4G(LTE)だと思いますが、
これよりも超高速で5Gになると二時間の映画が3秒でダウンロードできるってことでした。

2019年から大都市近郊から徐々にってことなんで、日本全国で使えるようになるにはしばらく時間がかかると思うのですが、
5Gが普及しつつかつ携帯料金問題とかも解決したら大容量をモバイル通信でもフラットに使えるようなアプリ作り放題ですかね!?

スマホでもスピーカーでも!誰でもできるGoogleアシスタントアプリ開発

こちらはお二人でのセッションでしたね。
Googleアシスタントを使ったアプリの作り方のお話。
具体的にツールの使い方やプログラムの書き方を交えてのセッションでとても面白かったです。

具体的にGoogleAssistantアプリを作る為には以下の3つのサービスを駆使するとできます!

GoogleAssistantというと言葉での会話が中心かと思いますが、
人間っていい加減なので言葉だけじゃ伝わらないんですよね。
例えば「ねぇ、アレってどうなってんの?」とかって会話の中で結構頻繁に使いますよね。
"アレ"って言葉を言う時にジェスチャーで何かを伝えてるかもしれないし、
何かを指差しているかもしれない。

そんなこんなでGoogleAssistantでは画像も駆使しつつ会話ができます。
これもデバイスに画像を表示できる環境があるかどうか、状況はどうか(運転中に画像を見てもらおうとしたら危ないですよね)
などなどの分岐もしつつ画像も使えます。

他にもリスト表示、カード表示、スマートディスプレイ限定のTable表示とかもできるらしいです。

そんなこんなでGoogleAssistantアプリ作ってみたくなりました。
肝心なアイディアがないので、のんびりとアイディアを練ろうと思います。

ICT社会、次の10年に求められるモバイルの役割

こちらのお話は中国の深センと青森のICT事情!

深センでは急速にICT環境が整ってきているようで、
町中に監視カメラが張り巡らされドライバーや通行人の顔認証までしているようです。
違反をすればすぐさま自分の携帯へ罰金の通知が飛び、
大きなサイネージに違反者の顔が映されると。

なんだか近未来ものの映画みたいですね!

中国ではAlipayのようなQRコード決済が流行していてどのお店でも導入しているみたいです。
電子マネー決済やクレジットカード決済よりも優れている点は店側に読み取り機器がいらないことですね。
QRコードさえあればいいので飲食店なんかではテーブルにQRコードを貼っておくとかしておけばテーブルで決済ができちゃう!
というなんとも場所を取らなくて便利な決済方法ですよね。
スマホを持っている事が前提なので、スマホを持っていない人は結局現金決済になっちゃうんですが……。

さて、一方青森の決済事情ですが……。
実は青森も密かにQRコード決済が普及しつつあるそうです。
実際使っている人がいるかどうかはさておいて、青森銀行とOrigamiが連携できるということで、
青森銀行がOrigamiPayを推しているそうです。
そんなこんなで青森ではOrigimiPay加盟店がちらほら増えてきているらしいのです。

about.origami.com

ところでなぜ青森ではクレジットカード決済や電子マネー決済は普及しなかったか。
JR東日本の政策が大きいのではないかという話でした。
青森では駅の改札でSuicaはもちろん使えないし、JRバスも現金のみ。
切符を買う券売機ではクレジットカードが使えないので現金のみ。

とういう地方あるある事情により電子マネーやクレジットカード決済が普及しなかったのではないかという見解でした。

以前、電子マネー決済のお仕事したことがあるのですが、
電子マネーの技術やSuicaの技術ってかなりブラックボックスなところがあって、
情報が独占されている感じがしました。
セキュリティを守る為には必要な事なんでしょうけどね、気軽に導入できる技術ではないなと感じています。

QRコード決済であれば個人でも使える会社さんもあるので、
これが流行れば手軽にスマホでものを売り買いできる時代がやってくるんじゃないかと思います。

PWA A Go-Go!!

PWA(Progressive Web Apps)はWebアプリをネイティブアプリのように見せる事のできる技術ということですね。
そもそも私はPWAという言葉をこの日初めて聞いたので理解が浅いです。

Webアプリに対して、プッシュ通知を送信したりホーム画面にアイコンを追加する事ができ、
あたかもストアから落としてきたアプリのように見せることができるそうです。

また、画面のキャッシュなんかもできるので一度読み込んでおけばオフラインでも一度開いた事のある画面であれば使う事ができます。
このキャッシュも短時間でのクリアができるので、頻繁に更新のかかる画面では数分、数時間でキャッシュクリアとかすればOKって話だったと思います。

この発表をしてくださった進藤さんが作ったWordPress用のプラグインを使うと簡単にPWAができます!
ってことでしたので、WordPressを使っている方はこちらをチェックです。

wordpress.org

私もWordPressで作ったサイトを持っているのでさっそく導入してみようと思いました。

Flutterアプリ開発 実践編

この日、一番聞きたかったセッションがこちらです。
Flutterというと、Viewを作るのにコードをもりもりネストさせて書いていくというイメージありますよね。
実はGUIのエディタがありました。

http://mutisya.com/

ちょっと使ってみましたが、使いにくいかもしれない。。。。
現状はもりもりコードを描くしかなさそうです。

さてさて、Flutterにもさっそく様々なプラグインが登場しつつあるようです。

pub.dartlang.org

こちらのサイトで使いたい機能を検索できるようです。
これは便利ですね。
導入の仕方もこちらを見れば手順が全部書いてある様です。

便利ですね。

個人的に作りかけているFlutterアプリがあるので、
年内にはリリースしたい!

と言う訳で、盛りだくさんで楽しいカンファレンスでした。

【Android】ポリシー違反に対応

こんにちは。

最近、話題になっている「Android 広告 ID の使用ポリシー及び Google Play デベロッパー販売 / 配布契約 4.8 への違反」のメールが私のところへも届きました。

f:id:qkuroneko:20181005083502p:plain

これにより、以前公開していたアプリ「Uroovy」が削除されてしまいました。

この規約違反は広告IDを収集しているならばプライバシーポリシーをアプリ内に表示しなさいよってことなんですよね。

Uroovyは広告表示を行なっていないので、表示義務はないはずなんですが、

広告IDを使っている覚えがないのにGoogle Playからポリシー違反を通告されたけどFirebaseのせいだった

こちらの記事を読んで、身に覚えがあるなーと。

UroovyもFirebaseを使っているのでそれが原因ではないかと思いました。

対応

上の記事にある通りに「広告 ID の収集を無効にする」フラグをfalseにしました。

参考:

https://firebase.google.com/support/guides/disable-analytics

リリース

上の対応を実施し、新たにバージョンコードを振りなおして再度GooglePlayに申請してみました。

復活

play.google.com

その日のうちに公開が開始されました。

めでたしめでたしです。

その他

久々にUroovyのプロジェクトを開いたので、諸々のバージョンもあげておこうと思い、 Kotlinのバージョンを最新「1.2.71」にあげたところRealmを使っているところが永遠とクラッシュするようになってしまいました。

バージョンを「1.2.51」にしたところ解消されました。

【html】OnsenUI使ってみた

こんにちは。
今日はOnsenUIを使ってみたのでちょっと紹介しようと思います。

知り合いのデザイナーさんと月1で勉強会をしていて、その時に作ったものです。

OnsenUI

ja.onsen.io

このライブラリはUserAgentによってUIをよしなに変えてくれるライブラリです。

たとえば、ダイアログの形に注目!

Android iOS
f:id:qkuroneko:20180521184843p:plain f:id:qkuroneko:20180521184845p:plain

こんな風に、それぞれのデザインにしてくれます。

いい感じですね。
これでネイティブで作らなくてもアプリっぽいものが作れます。

作ったもの

今回作ったのはこちらです。

http://qkuronekop.com/product/weather_app/area.html

f:id:qkuroneko:20180521200659p:plain:w230

このデザインだといまいちAndroidiOSの違いはわかりにくいですが、ネイティブアプリっぽいUIになっていい感じですね。

使い方

今回は、jsとcssのみの使い方をしました。
他にもangularやreact、vueで使えるみたいです。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsenui.css">
    <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsen-css-components.min.css">
    <script src="https://unpkg.com/onsenui/js/onsenui.min.js"></script>
    <script src="https://unpkg.com/jquery/dist/jquery.min.js"></script>
  </head>
  <body>
  </body>
</html>

簡単ですね。
あとは、 https://ja.onsen.io/theme-roller/ ここのコンポーネントにあるタグを配置していくだけです。
それだけで、簡単にアプリっぽいWEB画面ができあがります。

これは色々使えそうですね。

【Android】エンジニアだってデザインの話がしたい勉強会へ行ってきました

nohana.connpass.com

先日、こちらの勉強会へ行ってきました。
内容は、Androidのデザインの話について。

一番面白かったのは、「iOSと同じで」って言われた時の対策ですかね。
これ、よく言われるんですよね。

オーナーさんも何も考えずに言ってるんだと思うんですよ。
しかし、こちらからしたらいやいやって話で。

現在お仕事させてもらっているプロジェクトでも言われてたんですよ、当初。
しかし、ここのオーナーさんは物分かりの良い方だったので、
iOSと全く同じにはできないし、Androidマテリアルデザイン の思想で作るのが良い」ということを説明したところ納得していただけ、
今ではiOSのデザインを元に私がよしなにAndroidっぽく作らせてもらってます。 結局のところ、Android向けのデザインを作ってくれるデザイナーさんがいないという場合が多いかと思いますので、
自衛の為にもエンジニアもデザインについて知っておく必要があるかと思います。

他にもデザインを考える上で、うちの会社はこうしているみたいなノウハウを教えていただき、
とても勉強になりました。

エンジニアって機能や使いやすさみたいなところばかり考えがちですが、
見た目も大事だと思いますので、上手く兼ね合わせていけたらいいですね。

【Android】アプリをリリースしました。Uroovy(ウルービー)です。

play.google.com

2018/3/24に個人プロダクトのアプリをリリースしました。
デザイナーさんと一緒に月1でコツコツと作りました。
なんやかんやで開始から2年くらいかかっちゃいました...

アプリの概要

同人誌即売会やフリマのようなイベントで使える簡易レジです。
事前に写真付きの商品データを登録しておき、 イベントで売りたい商品をあらかじめ選択しておきます。

当日は、登録して商品をリストからタップして、 会計の合計金額を表示したり、預かったお金を入力すると自動でおつりを計算してくれる機能なんかもあります。

当日、持って行く在庫を入力すると残在庫も表示できます。

また、終了したイベントでどれくらい売れたかという記録も見ることができます。

開発

一緒にアプリを作ったデザイナーさんと知り合ったきっかけがとある会社のスマートレジのお仕事をしたことでした。
その時の経験を生かし(?)レジっぽいもの作ってみようかってことではじめました。
勉強もかねて、簡単なものを1つ作るつもりでした。

作業時間は月に1回、5〜6時間くらい。
はじめたのが2年前だったので、その間にも知識はついていっちゃいますよね。
自分の書いたプログラムがアレすぎてリファクタしたり、古い技術やバージョンのライブラリを使ってるところを直したり、
なんやかんやと納得のいく形になるまで2年かかっちゃいました。

チャレンジ

プログラミング言語はKotlinではじめました。
今でこそお仕事でKotlinを使えてますが、2年前はまだまだKotlinを実践で使える機会はないだろうな、
と考えていたのでここぞとばかりにKotlinではじめました。

これから

まだ全然DLされていないのですが、DLしてもらえるように頑張って宣伝とかしようと思います。
また、類似アプリも沢山ありますので負けないように便利な機能とか増やしていけたらいいなと思ってます。

ぜひぜひ、DLしてください。

【カンファレンス】MANABIYAへ行ってきました

manabiya.tech

2018年3月23日に開催されたMANABYAへ行ってきました。

私が聴講したのは下記の画像の黒枠にしたやつです。

f:id:qkuroneko:20180326190722j:plain:w400

VRって面白そうですね。
なんか作ってみたいけど、3D難しい。。。。

Dockerのお話やクラウドのお話も聞きたかったのですが、前の発表が終わって外出たら、長蛇の列ができてて部屋に入ることができなかった(できても立ち見)ので諦めました。
40分立ち見はきつい(笑)

LINEのbotも面白そうでしたね。
私もなんか作ってみたい。

カンファレンスの参加は久々だったのですが、
こういうの参加すると何か作りたいっていう意欲が湧いてきますよね。
参加してよかったと思います。

【Android】定期購読のテスト

こんにちは。 今月、お客様先で課金の実装をしておりまして、 テストを開発者以外の人達にやってもらったときに指摘されたことがありまして。

定期購読のパターンを1週間、1ヶ月、1年にして登録していたのですが、 テスト時になぜか1週間、1ヶ月は5分ごとに課金処理がされる。 1年の場合30分ごとに。

色々調べてみたのですが、日本語のサイトでは原因を特定することができず、 ここでやっとわかりました。

android-developers.googleblog.com

先月、仕様が変わったばかりみたいですね。 テスト購入の時の定期購入のサイクルを短くするよっていうことらしいです。

つまり。

バグじゃないです。

仕様です。