AppAgentのASO機能を更新しました
背景
先日AppAgentというWebサービスを公開しました。
当初はアプリストア最適化(ASO)のツールとして自分が欲しいものを作っていたのですが、いざユーザさんに利用してもらうと、ASOの精度面、柔軟性の観点からまだまだ利用するには微妙という声を観測しました。
主な機能としては、
- ASO
- クイックリリース
なのですが、手前味噌ながら、2はよくできていて、AppAgentなしだと面倒すぎてアプリの新規バージョンのリリースが嫌、というレベルなのですが、確かに1の方にまだまだ課題感がありました。
Redditとかでも調べていると、やはりASOのフローとしては、
- 自分のアプリのメインの機能を持つ競合アプリをリストアップ
- 彼らの利用しているであろうキーワードを抽出
- キーワードのスコア等を参考にキーワードを選定
- キーワードを元にアプリのタイトル、サブタイトル、概要を作成
が一般的なようです。以前のAppAgentの実装では、1と2の実装がいまいちでした。他に指摘された改善点としては、競合アプリを自分でカスタムしたい、ということでした。AppAgentが探してきた競合アプリを消したり、新しいものを追加したり、といった具合です。なので、今回はASOの機能をガッツリ修正することにしました。
実装後の機能
- 強調したい機能や特長を入力。ベースのテキストはAppAgentがアプリの情報を元にドラフトします。
- 自動で検索してきた競合アプリの管理。AppAgentは、関連していそうなキーワードでアプリを検索して競合アプリのリストを作成していきます。競合アプリの概要を確認して、対象アプリと関係がない者は除外します。
- 競合アプリで利用されているキーワードを元に、AppAgentが選定したキーワードの管理。選定には、キーワードで検索した際に得られるアプリ一覧のレビュー情報を参考に、トラフィックや難易度を推定してランク付けします。
- キーワードを活用して、タイトル、サブタイトル、概要を生成。キーワード密度が高くなるように、指定された言語でメタデータを生成します。生成された日本語がおかしかったり、とプロンプトエンジニアリングが結構たいへんでした。
該当コード
OSSで開発しているので、該当コードも共有します。
- 競合アプリの抽出箇所
- 競合アプリの管理箇所
- キーワード選定箇所
- プロンプト
難しいところ
既存のASOサービスは強みとしてデータを抱えています。キーワードのトラッキングには、過去のデータを取り続けたり、ストアを巡回してデータを常に取るなど、結構大変な作業をしています。AppAgentはそこまでできていないため、非公開データなしでASOを行う、という課題があります。公開データである程度はできますが、もっと精度を上げるためには、どうにかデータを蓄積させないといけないのです。難しい...。
最後に
このリポジトリで開発をしているので、ぜひスターをつけてもらえると嬉しいです。SaaSでサービスを作る際の参考になるかと思います。
もし、アプリ(特にiOS)のASOに関心があれば、ぜひAppAgentを試してみてください!
Discussion