KLabでは「真・戦国バスター」というオンラインゲームをiOS・Android向けに開発・提供しているが、同じアプリ・同じ機能を開発するにしても、プラットフォームの違い・特性を理解していなければ足並みをそろえて開発するのはなかなか難しい。

今回の記事では、当社の開発経験を基に、同じアプリケーションをiOS・Android向けにアプリを開発する際に気をつけるべきポイントについて説明する。

1. アプリ公開のための審査

まず一番大きな違いとなるのが、アプリの公開・配布の仕組みの違いだ。AppStore上でアプリを公開するための申請に時間がかかるのはすでによく知られている事実ではあるが、やはり実際にアプリケーションの開発を行う上で、一番悩まされるのがこの問題である。 申請に時間がかかるだけであればその期間を見越して計画をたてることでカバーすることができそうなものだが、なかなかそう簡単にもいかない。

  • 申請のタイミングによってレビュー完了となるまでの長さにばらつきがある
  • 同じ内容でもリジェクトされる場合がある

前者についてはここ最近の実績ベースでみても、早いときで4~5日程度、遅いときで3週間程度とかなりのばらつきがある状態だ。事前に計画をたてるとしたら長い場合を考えて3週間はみておかなければならない。

後者についてはさらにやっかいな問題で、Appleが提示している審査基準が年々厳しくなっており、以前は審査をパスしていた内容であっても新たに申請をしたタイミングでリジェクトされることもある。チェックの対象はアプリの動作だけでなくメタデータ(スクリーンショットやRatingなど)も含むため、審査基準を満たしたアプリケーションを作っていたとしても、ちょっとしたスクリーンショットの不備によりリジェクトされることもある。リジェクトされた場合、すぐに再申請をあげたとしてもレビュー完了までにさらに1週間程度はかかってしまうため、開発完了からリリースまでの期間はさらに伸びる。

一方、GooglePlay上でアプリを公開するのはずっと簡単だ。GooglePlay上にアプリをアップロードし、公開ボタンを押してから2~3時間後にはダウンロード可能となる。

このように開発完了から公開までの所要期間に大きな違いがあるため、iOS版・Android版の2つのアプリを同じタイミングでリリースしようとした場合、iOS版の開発はAndroid版と比べて約3週間は早めに終わらせておくようにしている。ただし、それだけのバッファをみていたとしても絶対に大丈夫とはいえず、やはり申請に時間がかかりiOS版のリリースが遅れてしまうという場合もある。もし、リリースの延期が絶対に許されないような状況であれば、さらに余裕をもたせたスケジューリングが必要だ。