【チャットアプリ】ユーザー数1,000名を突破するために行った5つの施策

## はじめに

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/ba6ac2f6-32cb-df52-9938-97f39e7ed36f.jpeg" width="800px" />

これから行う新たな施策のために振り返りも兼ねて、個人で開発・運用しているアプリ 「Knot」 でユーザー数1,000名を突破するために行った施策を紹介していきます。成功と認められるにはまだまだ程遠い数ではありますが素直に嬉しいです😭

個人で開発している方もしくはマーケティング周りの事例をお探しの方々にとって、少しでも参考になれば嬉しいです。

助言やアドバイス大歓迎なのでもし他にこういうこともやったら伸びるかも？などありましたらご教示いただけると幸いです。

それでいってみよー！（youtuber風）

### 1. グループスコアの導入

日次バッジを実行しグループごとにスコアを集計しています。
これまでのメッセージでのやりとりした回数やイベントの参加回答率などを元に算出しており、こちらのスコアを上げることが後述するレコメンドで優先的に表示されるための方法になっています。

スコアを上げるための詳細は記載できないのですが、ヒントとしては「グループメンバーのアクティブ率」が関係しています💁

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/06161108-24a4-206a-77f5-4aada255ce25.png" width="240px" />


### 2. アカウントスコアの導入

こちらも日次バッジを実行しアカウントごとにスコアを集計しています。これまで送信したメッセージ数や第三者が送ったメッセージへのリアクション数などを元に算出しています。ユーザーの成長欲を促しつつこれまでアプリを使っていただけた内容も表示することで、使ってくれてありがとうという気持ちを機能で表現しています。

※ちなみに僕のLvは39ですがかなりのヘビーユーザーなのでこれを超えられた人はかなりすごいです👏

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/85ea5e48-cf01-b5ae-5e73-9bef20cafe89.png" width="240px" />

### 3. 招待コードの導入

Firebase Dynamic Linksの動作が不安定であり、アプリが起動しなかったりなどの現象が発生していました。その解決策としてグループごとに招待コードを割り当てアプリ内での検索を可能にしました。

招待コードにすることで iOS/Android などのOSに関係なく共有も容易になったことは大きかったです。

初めからこうやっておけばよかったと後悔しているとともに、今後Firebase Dynamic Linksのサービスが終了した場合の代替案も使う時を想定して探しておかないとな〜とぼんやり考えています。

もしこれ使うのがいいよなどご存じの方いたらこっそり教えてください🤫

[※Firebase Dynamic Links非推奨についてはこちら](https://firebase.google.com/support/dynamic-links-faq?hl=ja)

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/dfde06cf-7374-8a90-c0aa-e10dbdf9c860.png" width="240px" />

### 4. おすすめグループ（レコメンド）機能の導入

Knotでは`公開設定されているグループのみ`をレコメンドすることで第三者の参加が積極的に行われるよう実装しています。

グループスコアの高いグループや新着グループ、さらにユーザーの参加しているグループなどを元に興味のありそうなジャンルを絞り込んでレコメンドとして一覧表示できるようになっています。

僕はマーケターでもなければレコメンドの実装経験もなかったので結構苦戦したのですが、なんとか様々な指標を定めて各指標ごとにグループを取得して表示させることを実現しました。大学で数学を専攻していたことが初めてプログラミングに活かされたかもしれません笑

![scs.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/013731ac-1a7b-1826-b69e-8da339bf7725.gif)


### 5. アニメーションの導入

Knotは`ReactNative`で開発しているのでネイティブUIで表示され、動作もぬるぬる&さくさくです。
少しでもユーザーがアプリを通して直感的に「面白い・楽しい」と感じられるようにこのようなアニメーションも実装して含めています。メッセージを送る際の送信アイコンやホーム画面上のアイコン表示など隠れアニメーションも多数あるので、見つけられる自信のある方はぜひ他にも探してみてください😆

1度でもこの程度の実装がプレーンな数値から可能になると簡単なアニメーションであれば大体実現可能になるので、ぜひチャレンジしてみてください。（挫折しそうになったら僕に可能な範囲でお伝えするので個別に連絡ください!）

※ライブラリは主に[react-native-reanimated](https://docs.swmansion.com/react-native-reanimated/)を利用

![aaa.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/5c1e41a2-1fd5-90e2-7797-3ff16f5f0afb.gif)

## さいごに

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630810/5bf77a74-70f4-3856-aa4b-959fa1c1038b.png" width="360px" />

実際のアプリは [iOS](https://apps.apple.com/app/id1606856291) [Android](https://play.google.com/store/apps/details?id=com.app.gatheragain) にてインストール可能です。
個人開発者やエンジニアの方は一度だけ見てやるか〜程度に確認いただけると嬉しいです！

質問や相談はアプリ内のグループでも受け付けていますので以下グループでいつでもお声がけください🙆‍♂️

```
Flutter開発部屋 【招待コード】 1b843p
ReactNative相談部屋 【招待コード】 f1vw4j
個人開発について相談部屋 【招待コード】 w1p5md
```

【iOS】

https://apps.apple.com/app/id1606856291

【Android】

https://play.google.com/store/apps/details?id=com.app.gatheragain