api.myapp.com
でAPIを使用するモバイルアプリがあるとします。私の個人用開発マシンmymac.local
と本番標準のテストサーバーtest.myapp.com
でアプリをテストできるようにしたいと思います。
本番環境のモバイルアプリが代替のAPIエンドポイントに切り替えられるようにするための最良の方法は何ですか?
私が考えた短所で私が考えたオプション:
アプリ内のどこかに、開発者だけが知っているイースターエッグを置きます。例えばロゴを5回タップすると、APIエンドポイント入力ボックスがポップアップします。
短所:イースターエッグが発見される。
通常の設定メニューに設定オプションを追加します(私はTwitterがこれを行っていたと思います)。
短所:アマチュアに見えますか?
myapp://change_api?endpoint=api.mysite.com
のようなURLスキーマを作成します
短所:これは使用するのが少し面倒です。
私が考えていない、これを行う他のより良い方法はありますか?
それはアプリケーションのユースケースに依存します。子供向けのアプリであれば、5タップのイースターエッグがすぐに発見されます。しかし、それが言うならば、金融アプリは、だれもが日常的にイースターエッグを発見することはないと合理的に期待しています。
私は個人的にはイースターエッグオプションが好きです。それは、それとは何の関係もないとしても、それを発見したユーザーに発見の要素と驚きを追加するからです。とにかくそこにイースターエッグをいくつか追加することができます。
ビルドにURLを切り替えるフラグが含まれるようにコードを記述します。ビルドは自分だけにリリースしてください。
@awidgery個人的には、これはより技術的な質問だと思いますが、私はあなたのためにそれに答えようとします。
アプリがAndroidアプリの場合は、 Gradle を使用してアプリをプロダクションと開発の間で切り替えることができます。確認したいのはビルドタイプです。 。
アプリがiOSアプリの場合、 設定ファイル を使用してこれを実行できるはずです。
あなたのアプリがWindowsアプリであるなら、私はあなたが何ができるかわかりませんが、あなたは上記と同じようなことをできると確信しています。
アプリをアプリ内で本番環境から開発に切り替えることができるようにしたい場合は、開発者が望んでいない場合ではなく、「実際のユーザー」が本番バージョンを使用するのは簡単であるべきだと私は考えません。開発またはテストタスク。 ちょうど私の意見です。
すべてのif'sについて申し訳ありませんが、それが役に立てば幸いです????
Xを介してこれを解決する最小化
このアプリがユーザーに公開される場合、ローカルコンピューターまたはテストマシンを指すコードベースに何かを含めることはお勧めできません。
私はそれをお勧めします:
これは有効なUXだと思いますquestion純粋なUXのアプローチ(例:管理パスコード)を使用して解決できるため。ただし、この場合は、サーバー側のセキュリティと組み合わせた、最小限の検出セーフなUXアプローチの方が優れていると思います。