動機・概要
yepでWebサイトをスマホアプリ化した直近実績が数件あり、その時に困ったこと、やったことを備忘録として残しておきます。
この記事を参考にApple/Googleの審査が通れば幸いだと思い、実際にApple/Googleの申請が通った手法を簡単に説明したいと思います。
もし分からないことがあればお気軽にお問合せください。
審査の基準
Appleの場合
App Store Reviewガイドライン
4.2 最低限の機能
Appを作成する際は、Webサイトを単に再パッケージしたようなものではなく、優れた機能、コンテンツ、UIを作成するようにしてください。特に便利でも、ユニークでも、「Appらしく」もない場合、そのAppをApp Storeで提供することはできません。Appが継続的に楽しめる何らかの価値、または十分な有用性を備えていない場合は、承認されない可能性があります。Appが単に曲または映画の場合は、iTunes Storeに提出してください。Appが単に書籍またはゲームの攻略本の場合は、Apple Books Storeに提出してください。
Google Playの場合
デベロッパー プログラム ポリシー
スパムと最低限の機能
アプリは最低限、基本的な機能を備えるとともに、ユーザーに対し失礼にならないようなエクスペリエンスを提供できる必要があります。クラッシュするアプリ、その他機能的とはいえない動作を示すアプリ、あるいはユーザーまたは Google Play に対するスパム行為を行うだけのアプリは、ストアに追加する意義のあるアプリとはいえません。
例) 「Ted's Shopping Deals」というこのアプリには、Google ショッピングのウェブサイトを表示する機能しかありません。
最低限の機能
ユーザーの興味を引き、操作に反応し、安定して動作するアプリにしてください。
Google Play をこれからも信頼できる安全なプラットフォームとしてご利用いただけるようにするため、ユーザーにとって有害または不適切なコンテンツを定義し、禁止する基準を作成しました。
・何もしない、または何の機能も提供しないアプリ
参照 : デベロッパー プログラム ポリシー
Google Play 配信アプリのよくあるポリシー違反とその回避方法
アプリか Webview か
既存ウェブサイトを Webview で見せているだけに過ぎないアプリもよく見かけます。こういったアプリのほとんどは、Android ユーザーにエンゲージメントの高いアプリのエクスペリエンスを提供するというよりは、単にトラフィックを上げるという目的で登録されています。このようなアプリは、Webview スパムと見なされ、Play から削除されます。アプリではウェブ以上の機能を提供することを検討し、ユーザー エクスペリエンスを高める関連機能を実装してください。
要するにWebサイトをWebViewで表示するだけではアプリである必要性がないので、アプリとしての何かしらの機能を提供しろということです。
アプリ側の実装項目
プッシュ通知の実装
プッシュ通知はアプリの起動率や利便性を高めることができますし、アプリとしての機能として有効です。
・Firebaseを使用
※プッシュトークンを自社サーバーに保存しておき、商品を購入したらプッシュ通知を送信する等できれば更に審査に通りやすくなると思います。
フッタータブを作成
フッターだけでもネイティブで作成しておきます。
例)
- HOME(WebView)
- 検索(WebView)
- お気に入り(WebView)
- 設定(ネイティブ)
設定画面を作成
もし審査に通らなかった場合には、ここで機能を追加してアプリらしさをアピールする予定でした。
例)
- プッシュ通知設定(端末の設定画面に遷移)
- プライバシーポリシー(WebView)
- 利用規約(WebView)
- 特定商取引法(WebView)
アプリからWebサイトへのアクセスを判別できるようにする
サーバー側でアクセス(Web/アプリ)を判別し、アプリではフッターを非表示にする等をしたい場合は、下記のような方法で実現可能です。
- URLには全てアプリ用のパラメータを付与
- セキュリティ的にはヘッダーに認証キーを追加
- ユーザーエージェントを書き換え
その他対応
- 自社SNSなどの特定のリンクは外部ブラウザで起動するように設定。
- URLスキーム
- (Android)Googleフォームを表示できるように修正
- (Android)WebViewにSSLエラー処理を入れていないとリジェクト対象となる。
以上が、審査に通ったアプリとしての実装機能になります。
まとめ
Webサイトの性質によってアプリの構成条件も変わりますので一概には言えませんが、実際には上記のいくつかの項目を満たすだけで審査には通ると思います。
もし予算的に余裕がない・リリースまでの時間が短い等の場合は、まず最低限の機能を実装し審査に出してみる。
そして審査が通らなかった場合、アプリとしての機能を追加していく。
というような流れで実装してみてはいかがでしょうか。
Webサイトをスマホアプリ化してリリースしたいという開発者の参考にして頂ければ幸いです。