個人開発アプリをグロースさせるためにやっていること

#初めに

- 10月に個人開発した、[セットリー](https://apps.apple.com/us/app/settly-%E3%82%BB%E3%83%83%E3%83%88%E3%83%AA%E3%83%BC/id1585803361)というアプリをリリースした。
- このアプリはポートフォリオというつもりではなく、実際に便利に使ってもらえるはずという仮説のもと開発しており、リリース後の現在ではどうしたら多く使ってもらえるかを試行錯誤している。
- この記事ではそのために現在進行形でどのようなことを行っているかを紹介する。
- 同じ様にリリース直後のアプリのグロースを考える人の参考になれば幸いだし、コメントでアドバイスを頂けたらとても嬉しい。

![Twitter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/268579/09058abf-24b3-fcd2-5c8c-53aab334f9c0.png)

- セットリーはセトリ(セットリスト)と呼ばれる、ライブで演奏した曲の曲名一覧をもとに、Apple Musicのプレイリストを一括作成できるアプリ。
- ライブやフェスが好きな人は、よくライブ後にセトリを見ながらプレイリストを作っているが、そのために一曲ずつ検索しながら曲を追加していくのが負担になっていると考え、そこを自動化するアプリを作った。
セトリ自体はSNSや[LiveFuns](https://www.livefans.jp/)というサイトで共有されているため、あとはセットリーさえあれば簡単にプレイリストが楽しめる。

**この記事を読んでいるライブ好きでApple Musicを使っている人は是非[ダウンロード](https://apps.apple.com/us/app/settly-%E3%82%BB%E3%83%83%E3%83%88%E3%83%AA%E3%83%BC/id1585803361)お願いします！**




Twitterもやってるので、よければフォローお願いします。
→https://twitter.com/ObataGenta


#目次
- [初めに](#初めに)
- [継続的にアップデートを提供する](#継続的にアップデートを提供する)
    - [fastlaneの導入](#fastlaneの導入)
    - [半強制アップデートの導入](#半強制アップデートの導入)
- [利用状況を把握する](#利用状況を把握する)
    - [App Store Connectの活用](#App Store Connectの活用)
    - [Firebaseアナリティクスの導入](#Firebaseアナリティクスの導入)
- [認知を増やす](#認知を増やす)
    - [Twitterアカウントの作成](#Twitterアカウントの作成)
- [ニーズを探る](#ニーズを探る)
    - [Twitterでアンケート実施](#Twitterでアンケート実施)
    - [知り合いにヒアリング](#知り合いにヒアリング)
- [最後に](#最後に)


#継続的にアップデートを提供する

##fastlaneの導入
- セットリーはiOSアプリであるため、新しい機能をリリースするためには本番スキーマでビルド→ipaを生成→App Store Connectにアップロード→App Store Connectでアップデートを公開という手順を行う必要がある。
- fastlaneはその一連の作業を自動化してくれるgemライブラリ
- 設定さえすればスクリーンショットの管理やバージョンの最新情報の更新まで自動化できるが、今回はとりあえずビルドからipaのアップロードまでしか設定していない
- これだけでもアップデートの気軽さが随分向上した。

##半強制アップデートの導入
- 新しい機能を追加しても、アプリをアップデートしてくれなければ意味がないと考え、優先的に半強制アップデートを導入した。
    - 半強制アップデートとはアップデートがあった時にそれをユーザーに拒否できる形で促す機能を指している。
    - [こちらの記事](https://qiita.com/hituziando/items/fc2ad0642ccdb1258840)を参考にSwiftUIとCombineを使って実装した。
- アプリが今後どう変わっていくかわからない状態だったため、半強制アップデートのおかげで下位互換性をある程度無視してよくなることが、心理的に楽に感じられる。
    - 今後のアップデートによって古いバージョンだと動かなくなることがあったとしても、半強制アップデートでユーザーにアップデートを促しているため、動かないならアップデートを試みてくれるだろうという狙い。

#利用状況を把握する

##App Store Connectの活用
- 自分がリリースしたアプリが実際に使われているのかは非常に気になるが、それを一番簡単に知ることができるのがApp Store Connectのアナリティクスである。
- App Store Connectのアナリティクスは何も設定しなくても様々なデータを取得してくれる。
- よく見るものは以下
    - メトリックス
        - プロダクトページ閲覧数
        - コンバージョン率（現状では母数が少なすぎてあまり意味がないが）
        - 初回ダウンロード数
        - セッション数
        - アクティブなデバイス数
    - リテンション率
- これらを見ながら、自分のアプリはそもそも認知されているのか、ダウンロードしてもらえているのか、利用を続けてもらえているのかを把握し、次に何をすべきかを考えている。

##Firebaseアナリティクスの導入
- App Store Connectのアナリティクスだけでもわかることは多いが、アプリがどう使われているのか、どこで離脱されているのかを把握することまではできない。
- そこでFirebaseアナリティクスを導入し、アプリの重要な操作にイベントを仕込むことで使われ方を把握できるようにした。
- たとえば以下の様なイベントを設定した。
    - 初回プレイリスト名入力
    - 初回曲名入力
    - 初回プレイリスト作成
    - プレイリスト作成（作成したプレイリストの名前は曲の一覧などをパラメータで計測している）
    - など
- これにより、ダウンロードしたユーザーがどこまでアプリを操作してくれたか、作ったプレイリストはどのようなものなのかが計測できる様になった。
- ただし、firebaseのコンソールからではパラメータで渡した値は直近30分のものしか見ることができないため、詳しく分析したい場合はにはBigQueryを使う必要がある。
    - が、今のところBigQueryに手こずっている。
    - なお、BigQueryもsandboxと呼ばれるお試しの制限つきであれば無料で使える。個人であればひとまず無料枠で十分だった。
- また、App Store Connectのアナリティクスは二日以前のデータしかみることができないが、Firebaseアナリティクスであれば1時間程度のラグで確認できるのがよい。


#認知を増やす

#Twitterアカウントの作成
- 何か無料で手軽に始められる宣伝手段としてまずはTwitterを選択し、[専用Twitterアカウント](https://twitter.com/settly_official)を作成した。
- フォロワーを増やすために、「セットリスト」「セトリ」「ライブ」という単語や、アーティスト名で検索して片っ端からフォローをした。
    - しかし、手動でフォローするのは意外と効率が悪く、そこそこ時間を使ってもあまりフォローできなかった。
    - 30フォローくらいして、やっと一人フォロワーになってくれるくらい感触。
- 他にもライブが好きそうなアカウントのツイートをいいねしたりリツイートしたり、どうにかしてこの宣伝用アカウントを認知してもらえないかと思考錯誤している。
- 宣伝ツイートだけではフォローしてくれないと考え、意味のあるツイートもしようと試みたが、運用はなかなか手間がかかり、長続きがしなさそうとだと感じている。
- また、数日色々試した見たが、プロダクトページ閲覧数がほぼ伸びず、このまま同じことを続けても意味がなさそうだと考えている。

#ニーズを探る
- アイデアベースでリリースまでしてしまったので、今更ながらCustomer/Problem FitやProblem/Solution Fitをしているかを確認する必要があると考えた。

##Twitterでアンケート実施
- そもそもCustomerがいるのか確認するためにTwitterでアンケートを行った。
- 母数が少ないし、そもそも回答してくれるユーザーに偏りがあるため定量的な分析はできないが、少なくともYESと答えてくれた人は一定数おり、Cutstomerが0ではないことを確認できた。

##知り合いにヒアリング
- 次にCustomer/Problem Fitしているかを確認するために、セットリストからプレイリストを作っているという知人に対して、それを作る一連の動作でどこに課題を感じているをヒアリングしている（現在進行形）
- 注意した点として、「これが大変だと思いますか？」と誘導するような質問にならないように気をつけた。
- このヒアリングはまだ途中だが、数人にヒアリングした結果、Customer/Problem Fitしていないとなった場合にはアプローチを変える必要があると考えている。
    - もちろんこのアプリのグロースを諦める手もあるが、ユーザーが課題に気づいていない可能性も残っているため、その場合はProblemに気づいてもらえるような宣伝の仕方を試みる予定だ。


#最後に
- 長々と書き連ねたが、「これをしたらアプリがグロースした」という話ではないし、まだまだ試せていないことが多くある状況なので、「リリース直後にはこういったことをしてる人もいるのだな」というレベルで参考になれば嬉しい。
- 特に現状ではどうしたら効率的に認知が伸びるかを悩んでいるため、成功事例がある方は教えていただけるとありがたい。
    - PSFはまだ確認できていないが、おそらくしていると思うので認知さえ伸びれば利用が増えると予想している。
    - とはいえ個人開発アプリであるし、マネタイズもできないためお金をかけて広告を出すフェーズではないと思っている。


#再び宣伝
**この記事を読んで少しでも興味を持っていただけた方は是非[ダウンロード](https://apps.apple.com/us/app/settly-%E3%82%BB%E3%83%83%E3%83%88%E3%83%AA%E3%83%BC/id1585803361)お願いします！**


Twitterもやってるので、よければフォローお願いします。
→https://twitter.com/ObataGenta