potatotips #29 で BITRISE の話をしてきた

potatotips(iOS/Android開発Tips共有会)でLTしてきました。ネイティブアプリに特化した CI サービス、BITRISE についての話です。


Paas の CI サービスとしては CircleCITravisCI が有名ですが、Bitbucket のプライベートリポジトリと連携できる iOS, Android アプリの CI サービスという条件で探していたところ、Greenhouse CI と BITRISE が見つかりまして。両方を試してみて使い勝手などを考慮した結果 BITRISE の方に落ち着きました。今年の初めから移行を開始して、3月からは課金して利用してますが、安定しているしなかなかいい感じです。
今回は iOS の枠での LT だったので触れませんでしたが、Android アプリのビルドもできます(Gradle でビルドができることが条件なのと、iOS アプリの設定よりも少し手間がかかりますが.

Continue Reading...

"スマホアプリの審査事例を共有する会 #1"を開催しました

5月13日(金)に「スマホアプリの審査事例を共有する会 #1」を開催しました。

スマホアプリの審査事例を共有する会 #1 - connpass

スマホアプリ、特に iOS は Store に公開する前に Apple の審査を受ける必要があります。iPhone が登場して丸9年、Objective-C の頃からアプリを開発してきた方にとっては毎度のことではありますが、新しい iOS アプリは日々リリースされていますし、Swift が登場して以降、新たに iOS アプリ開発の世界に足を踏み入れる方にとっても気になる課題ではないかと思います。

私自身も幾多のリジェクトの場面に遭遇してきましたが、スマホアプリを取り巻く環境も審査ガイドラインも少しずつ変化している中、今の状況を知っておきたいと思いました。みんなはどうしてるんだろうと。

ということで、勉強会開催してみました。

私の発表資料を以下に挙げておきます。

当日はほかにも4名の方に発表いただきました。 ありがとうございました!

Continue Reading...

仮面ライダードライブとゴーストで学ぶDI

この記事は、DI(Dependency Injection)を、仮面ライダードライブとゴーストを使って説明してみようというコーナーです。よろしくお願いします。

まず、DIについて。
ソフトウェアにおけるデザインパターンの1つであるDIは「依存性の注入」と訳されることが多いですが、Dependency は Wikipedia によると以下のように記載されています。

A dependency is an object that can be used (a service).

「Dependency はサービスオブジェクトである」と。ですから Dependency Injection は「オブジェクト(サービス)の注入」としたほうが日本語としてもわかりやすいのではと思います。

次に、仮面ライダードライブとゴーストについて。
昨年9月まで放送されていた仮面ライダードライブは、主人公泊進ノ介が人工知能(ベルトさん)を持ったベルト(ドライブドライバー)と、

Continue Reading...

Google Playのアプリ情報を取得するAPIを作りました

AppStore や GooglePlay で公開されているアプリの情報をプログラム等を使って自動取得するといったことをしたい場合、iOS アプリについては Apple が公開している SearchAPI を使って取得することが可能です。こんな感じで。

https://itunes.apple.com/lookup?country=JP&id=422689480  

しかし Android アプリの方はどうも見当たりません(少し前までは AndroidQuery というサイト内で提供される API を使うことができたのですが、最近動かなくなってしまいました)。ということで、GooglePlay のアプリページをスクレイピングして、必要な情報を JSON で返却する API を作りました。

Google Play App Info API
http://googleplay.songs-inside.com

詳しい使い方は上記ページを見てください。ページをスクレイピングしているだけなので、GooglePlay

Continue Reading...

Androidアプリの月次レポートのCSVフォーマットが変わった

Androidアプリについたユーザーからのレビューは、Google Cloud Storageに保存されていて、gsutilコマンド等でダウンロードすることができます。
詳しくはこのページを見ていただくとして、数日前からレビューのCSVフォーマットが変更になりました。

2016年1月31日現在のカラムは以下の通りです。

  1. パッケージ名
  2. アプリバージョンコード
  3. アプリバージョン名(★これが追加)
  4. レビューアの言語
  5. 投稿された端末名
  6. レビュー送信(日付と時刻)
  7. レビュー送信(エポックからのミリ秒数)
  8. レビュー最終更新(日付と時刻)
  9. レビュー最終更新(エポックからのミリ秒数)
  10. 星による評価
  11. レビューのタイトル
  12. レビューテキスト
  13. デベロッパーの返信(日付と時刻)
  14. デベロッパーの返信(エポックからのミリ秒数)
  15. デベロッパーの返信(テキスト)
  16. レビューへのリンク

今まではアプリのバージョンコード(バイナリの更新とともにインクリメントされる番号)のみ付与されていましたが、3番目のカラムに「アプリのバージョン名(開発者が任意に付与できるバージョン番号。1.0.0 など。)」カラムが追加されています。これにともない、以降の項目が1つずつずれていますので、CSVをプログラム解析して集計したりしている方はご注意くださいね。

Continue Reading...