Shopify ブログ

初めてのShopifyアプリ開発:気を付けるべき4つの間違い

※このブログはShopifyアプリパートナーの寄稿です。

エレノア・ルーズベルトはこう言っています。「ひとの間違いから学びましょう。自分ですべての間違いを犯せるほど人生は長くないのですから。」

初めてアプリを作成する開発者のみなさんにとって朗報なのは、わたしたちがすでに最初のShopifyアプリ開発においてたくさんの間違いを犯しているということです。あなたの時間とフラストレーションを節約するために、今までに学んだことを共有しますので、より効率的にアプリを開発して素早くローンチできるはずです。

最初のShopifyアプリを作成したとき、はじめのコードをコミットしてからアプリが承認されるまでに2ヶ月ほどかかりました。あなたが同じように初心者であっても、その半分の時間で同様のことができるでしょう。

ここでご紹介するのは、初めてのShopifyアプリ開発でわたしたちがしてしまった(そしてそこから学んだ)4つのミスです。 

1. シンプルにする:MVPの製作

だれもがすでに知っていることですが、どういうわけか忘れられがちです。実用最小限のプロダクト(MVP)を作り、公開しましょう。

Shopifyアプリストアへの最初の提出時に、プロダクトのビジョンの100%が実現されている必要はありません。1ヶ月後にマーチャントに提供する機能の50%すら実現する必要はないのです。重要なのは、マーチャントが何とか使用できるMVPを作って使ってもらい、そこから高速で改良していくことです。

わたしたちがやったこと

わたしたちが最初に提出したアプリには、クールで中途半端で必ずしも必要ではない機能がたくさん含まれていました。さらに重要なことに、それらは完全には機能しなかったのです。その後に続く提出において、不要な機能を取り除いていきました。こうした余計な機能は、すぐに承認されることを妨げ、わたしたちの計画を遅らせました。

たとえば、当初は「分析」というタブがあったのですが、アプリのコアバリューに直結するものではありませんでした。そこのデバグに時間をかける代わりに機能自体を取り除き、前に進みました。最終的に6回の提出を経て(自動却下を含む)、ようやくアプリは承認されました!

削除した機能のなかには、アプリ承認後の数週間のうちに再度追加したものもありますが、まだ追加していなくて今後もしないだろう機能もあります。それらの機能開発に使える時間と労力は、ほかのところに割いたほうがよいでしょう。

あなたがやるべきこと

機能過多は慎重に避ける必要があります。レアケースを除き、一度アプリが承認されたあとはレビュープロセスが不要ということを覚えておきましょう。アプリやアプリリストの変更はいつでも可能です。かなり大きな問題がない限り、Shopifyアプリレビュアーはあなたをサポートするために必要なことをしてくれます。つねに支援してくれます!

適度に有用なプロダクトで承認を受けたら、初期ユーザーのフィードバックによって高速で改善していきます。

プロのヒント:最初から実際のマーチャントと対話してください。チームでブレストするより良いアイディアがすぐに得られます。

こちらも参考にしてください:Shopify App Bridgeを使用して高速で機能的なアプリを作成する

2. アプリのテスト:本番前に!

多くの初期ステージのスタートアップやアプリ開発者は、コードを直接本番環境にプッシュして、バグをすぐに直すというクセがついています。結局、あなたのアプリはそれほど重要ではなく、あるいはまだ多くのユーザーがいない状態でしょう。

このような「一発勝負」的なアプローチは、第三者のプラットフォームではあまりうまくいきません。実際のユーザー(今のところ品質管理をやってくれている人)の前にコードを上げる前に、プロのアプリテスターの承認を得るべきです!

わたしたちがやったこと

Shopifyアプリを手がける以前に、Webアプリの製作経験があり、Shopifyアプリの場合と同じレベルのテストをおこなっていました。そのアプリの開発時には、新しい機能の実装とテストを同時におこなっていて、ユニットテストを書いて検査に通過するようにし、新しい機能をすべてのユーザーにプッシュしました。何か不具合があった場合は、すぐに問題を解決し、ユーザーのだれかが気づく前にほとんど直すことができました。

Shopifyアプリの場合、実際のマーチャントがわたしたちのミスに気づくことはありません。なぜなら彼らの目に触れる前にShopifyアプリレビュアーがミスを捕捉しているからです。実際のユーザーに届く前に、わたしたちの提出アプリは却下されます。

あなたがやるべきこと

3度目の却下のあと、Shopifyアプリテスターによるプロセスを、チームでリバースエンジニアリングしてみました。もちろん彼らはランダムにテストをしているわけではありません。

アプリを開発する際には、アプリの全機能をテストするための厳格なチェックリストをまとめ、継続的に項目を追加してください。少なくとも、チェックリストには関連する公開アプリの要件をすべて盛り込むべきです。わからないことがあれば、Shopifyフォーラムを使ってみましょう。わたしたちの場合、API&SDKフォーラムでたくさんの答えが得られました。

チェックリストの作成

テスト用のチェックリストを作成するのは大切です。テストプロセスにおいて見逃しているステップや、改修が必要な領域を目立たせるのに役立ちます。わたしたちはハウツービデオを含むチェックリストを作成したので、手順に従うのも簡単でした。

アプリレビュアーに送るテスト手順とチェックリストを作成する際に参考になるサンプルがこちらです。自分のアプリ用に修正してください!

1 自分でコントロールできるストアにShopifyアプリをインストールします。ストアの商品が有効になっていることを確認してください。

2 アプリの支払いを有効化し、課金を承認します。

3 アプリに入ったら、商品タブで商品を有効にします。(わたしたちのアプリは販売チャネルなので、有効な商品は販売チャネルで利用可能になります。)

4 次に設定タプにいき、公開ステータスで1つの商品が有効であることを確かめます。

5 商品にエラーがないか確認します。設定タブにも表示されます。

アプリのインストール、アンインストール、再インストールを徹底してテストする必要があります。わたしたちは何度かこれを忘れました。下記は、最後から2つめの却下の際のスクリーンショットです。レビュアーは、新しいストアに同じメールアドレスでアプリをインストールした際にバグを発見しました。

チームの習慣次第では、マインドセットの変更を迫られ、最初のうちはペースがスローダウンすると感じられるかもしれません。あせらないでください。今は遅くても、あとで速く進みます。

3. できるだけ早くアプリレビュー担当者に到達する

初期ステージのアプリのレビュープロセスは、よく経過がわからず、やる気がそがれるかもしれません。数日間ハードにがんばって、だいぶ進んだと思っても、何日か待たされた挙句、わずかなフィードバックとともに却下の連絡をうけます。なかなか前に進みません。フィードバックは、アプリのコアな機能とは関係ないけれど重要なバグ、たとえば支払いが機能しないとかページが読み込めないといった内容であることが多いです。

わたしたちがやったこと

アプリレビューの初期プロセスは以下のループでした。

・アプリを提出

1週間待つ

・数行のフィードバックで却下

・フィードバック内容を修正

・再度提出

アプリが却下されてフィードバックを受け取るたびに、わたしたちはすぐに全チーム会議を開き、フィードバックに対応するプランを練り、問題点を修正しました。前のセクションで述べたように、修正とテストと再提出のプロセスはより厳格になり、却下のたびに学びが得られました。

最後のほうでは、レビューを楽にするために提出のたびにLoom動画を加えてアプリの解説をすることにしました。この方法はかなりお勧めです!

こちらも参考にしてください:アプリに適した料金モデルを選ぶには?

あなたがやるべきこと

承認が近づくにつれ、あなたが得るフィードバックは詳細になっていきます。また、レビュアーに直接メールするというオプションが与えられます。これはモチベーションになり、フィードバックのループをタイトなものにします。先述の2つのステップのアドバイスを参考にして、できる限り早くこの段階に到達するようにしてください! ここでは、レビュープロセスにおいてもっとも価値があり深いフィードバックが得られます。

わたしたちのレビュアーのIvanaに感謝します。彼女の存在はとても励みになり、ゴールに至るまで全力でサポートしてもらいました。アプリがShopifyアプリストアに承認されたあとも、彼女はさらにフィードバックを提供してくれ、まるでShopifyのなかにわたしたちの守護天使がいるかのようでした。

4. ステージングとプロダクションの分離

レビューのためにアプリを提出するたび、レビュー中のバージョンに変更を加えないようにという警告がShopifyからきます。これはアプリレビュアーが確認中のものを壊さないようにするためです。

レビュー期間をあなたがコントロールすることはできません。しかし、アプリにはまだ作業が必要なパートもあるでしょう。その場合、どのように進めたらいいでしょうか?

わたしたちがやったこと

最終的には個別の環境を整えることでこの問題を解決しました。アプリに改良を加えるステージング環境と、レビューがおこなわれるプロダクション環境を分けます。わたしたちはステージング用とプロダクション用の2つの異なるアプリをホストしました。

プロダクションのアプリがレビューされている間も、ステージングのアプリの小さなバグを修正し、既存機能を改良することができました。

あなたがやるべきこと

Feature Flagsなどのテクニックを使えば、より洗練された方法で作業を進めることができるでしょう。

プロのヒント:使い慣れたツールに専念しましょう。わたしたちのチームはReactPythonによる開発になじんでいます。幸い、ShopifyReactのサポートが充実していて、デザインライブラリのPolarisもあります。Polarisを使うことで、コンポーネントのレイアウトやビジュアル的な相乗効果について思案する労力を節約できました。

さらに、今まで使っていたツールやプロセスの力も活用しました。コードレビュー、CI/CDGitLab)、PostgreSQLFirebase、それに独自のアジャイルプロセスなどのおかげで同期やビルドを迅速におこなうことができました。

プロセスを楽しんでください

2020610日は重要な日です。Shopifyアプリが承認されたことをTwitter上で祝して、自分たちの経験をスレッドでシェアしました。

初めてShopifyアプリを作る開発者として、わたしたちはそのプロセスに興奮しましたが、不安もたくさんありました。わたしたちの頭の中を駆け巡ったのと同じ疑問を、あなたも自分に問いかけた、または今問うている最中かもしれませんね。

・アプリレビューはいつまでかかるのか?

・レビュアーは意地悪なのだろうか?

・お金を稼ぎすぎてShopifyから嫌われることはある?

・どうしたらShopifyに気に入られるだろうか?

振り返ってみると、こうしたことは心配する必要がなかったとわかります。ほかのプラットフォーム(名前は挙げませんが)とは異なり、Shopifyはエコシステムに対してとても協力的で、パートナーやアプリ開発者の成功のために積極的に支援をしてくれます。

わたしたちのアプリレビュアーだったIvanaは、アプリが承認されたあとにわざわざビデオコールでさらにアプリを改良するためのアドバイスをしてくれました。

全体として、Shopifyのアプリ承認プロセスは比較的効率がよく、上述したアドバイスに従うことも含め、プロセスをスピードアップさせるためにできることはいろいろあります。

わたしたちの場合、アプリをストアに公開してから数週間が経ち、初期ユーザーのために改良を続けることで忙しい状況です。わたしたちはミスを減らしてます。これを読んだあなたも同じであることを願います。

忘れないでください。「自分のミスからしか学ばないのは愚か者のすること。賢者は他人のミスから学習する。」

※Shopifyアプリの開発に興味をもたれた方は、こちらのサマリーブログもご参照ください。

 

原文:Neal Jean 翻訳:深津望

 

Shopifyパートナープログラムでビジネスを成長させる
マーケティング、カスタマイズ、またはWebデザインや開発など提供するサービスに関係なく、Shopifyパートナープログラムはあなたを成功へと導きます。プログラムの参加は無料で、収益分配の機会が得られ、ビジネスを成長させる豊富なツールにアクセスできます。情熱的なコマースコミュニティに今すぐ参加しましょう!

今すぐ登録