今回のソリューション:【DeployGate/デプロイゲート】〜ネイティブアプリの実機でのテストを効率化する「DeployGate(デプロイゲート)」の使い方〜ネイティブアプリのテストを行う際、シミュレーターを使用したテストには限界があり、必ず実際の端末を使ったテストが必要になる。そこで活用したいのが「DeployGate(デプロイゲート)」。誰でも手軽にテスト用アプリを配布・ダウンロードが出来るようになるため、実機テストの効率化を行うことが可能だ。スマートフォン向けゲームを中心に各種アプリの開発・運用を行っている株式会社サイバードは、同ツールを活用して一日に何度もアプリの配布・テストを行っている。竣さんにその使い方を聞いた。アプリエンジニアとして、ユーザビリティの高いゲームを届ける私は2013年にエンジニアとしてサイバードに入社しました。入社前はネイティブアプリの経験は無かったのですが、1年目にiPhoneアプリの企画から設計・開発までをひと通り行い、リリースまでを経験させていただきました。その後、会社がスマホへのシフトを進めたことも相まって、現在はゲーム事業本部でアプリ開発の担当をしています。アプリ開発では常に、ユーザビリティの高いサービスを提供することを心がけています。そのためにも、例えばプログラムを出来るだけ共通ライブラリ化しているんです。類似するプログラムが各ゲームにあるとアップデートの際に全てのゲームを修正する必要がありますが、それをライブラリ化することで作業も効率化できますし、バグの発生を抑えるという点でユーザー様への負担も抑えることができます。弊社では、以前から開発中アプリの実機テストを効率化する「TestFlight」というツールを利用していました。TestFlight導入以前は、社内で用意したサーバーに開発中のアプリをアップロードし、そこから実機テストを行う「テスター」と呼ばれるメンバーがそれぞれダウンロードを行っていました。この方法だと、アップロードしたアプリの構成に問題があってダウンロード出来ない場合、エンジニアが再度対応しなければいけない事態が発生していました。TestFlightならアプリのアップロードが簡単にできるので、そういった手間をかけずにアプリの配布ができます。TestFlightはApple社に買収されたことにより、2015年3月にはiOS・Android両プラットフォームのサポートが打ち切られてしまいました。重宝していたので、ヤバイと思いましたね(笑)。何とか代わりとなるサービスを探した結果、DeployGateに出会いました。DeployGateは使い方も簡単で、TestFlightと使い勝手も似ていたことからすぐ導入を決めました。緊急時にはより手軽な機能もDeployGateを使えば技術者でない方々も、簡単にアプリのテストに参加できるようになります。手順としてはまずテスターがDeployGateアプリか、ブラウザ上でユーザー登録をした後に、管理者側でそのユーザーに権限を与えるだけです。これなら新しい社員が入ってきたような場合にも、ユーザー登録をお願いするだけですぐにテストを開始することが出来るようになります。権限不要でアプリのダウンロードを可能にする機能もあります。DeployGateがランダムな長いURLを発行し、そのURLにアクセスするとアプリがダウンロード出来るような仕組みです。緊急でレビューをしなければならないケースもあるので、ユーザー登録も権限の付与も不要ですぐに使えるのは便利ですね。必要な人にだけURLを共有し、ダウンロードが終わったらすぐにURLを使用不可にするという方法で運用しています。いつでも旧バージョンのアプリでテストが可能!さらにDeployGateの独自の機能として、過去のバージョンのアプリのダウンロードが出来るので、リリース済みのアプリのアップデート時には重宝しています。通常であればDeployGateはリリース前のバージョンをテストするのに使用するため、現在リリースされているものの「次のバージョン」を配信します。新バージョンのテスト中には、現在リリースされているバージョンの確認も行う必要が出てくるんです。いった際にもDeployGateで1つ前のバージョンを指定するだけで、簡単にダウンロードして確認が出来るのでとても助かっています。他にもDeployGateにはクラッシュ解析の機能があったり、APIが公開されていて他のツールとの連携も可能なので、今後は導入していきたいですね。弊社では毎日のようにDeployGateでアプリの配布をしています。多い時では1日15回くらい配信することもありますね。リリース前のテストという用途だけではなく、企画メンバーに開発途中のアプリを見せる目的でも使用しています。することで開発途中でも不具合を見つける事が出来ています。弊社は扱っているタイトル数も多いので、今後もDeployGateは相当活用できると思っています。今もちょうど新しいゲームのリリース前ですし、既存サービスに関しても今後どんどん新しいものを配信していくので、引き続きテストの効率化に役立てていきたいですね。