【iOS/Android/Web】もったいない！！アプリ作ったのにRepro使ってないなんて

アプリ作ったのにRepro使ってないなんてもったいない！！
Reproという**「代えのきかない唯一のマーケティングプラットフォーム」**を紹介したいと思います
![reproio.png](https://qiita-image-store.s3.amazonaws.com/0/62822/4429a06d-2203-19cd-8892-b604168af5fa.png)

# はじめに
- 相変わらず煽り記事しか書けない**おかむー**です。

# この記事でわかること
- Reproという**マーケティングツール**について知ることができます
- アプリを作るときに**毎回苦労していたことがちょっと楽に**なります
- **チョトだけハンズオン**があります

# これまで使っていたツール
アクセス解析系ツールは入れていてもマーケティング系ツールはあまり馴染みが無いのではないでしょうか


- **GA(GoogleAnalytics):** アクセス解析 パフォーマンス計測
- **Fabric:** クラッシュ＋リアルタイムリテンションやNewUser
- **FacebookAnalytics:** GAとかと変わらないですが出せるグラフが少し違ったりする
- **AppAnalytics:** Appleさんが作ったし時々眺める
- **CloudWatch:** アクセスログ解析
- **AWS X-Ray:** パフォーマンスの問題やエラーの根本原因を特定

多分皆さんこんな感じかと思いますが
今の世の中エンジニアは**誰でもサービスを開発運用できる時代**なので、**サービスで差をつけるにはマーケティング**も重要ではないでしょうか

これらの解析ツールにReproも食い込んでくる形になります

# Reproってなにぞ
- 私がこのReproというツールを知ったのは、フリーランスになってからiOSアプリの業務したときでしたがとても便利だと感じたのでQiita記事にしました

- 主な機能としては**４つ**あります

![Screen Shot 2019-01-07 at 15.40.10.png](https://qiita-image-store.s3.amazonaws.com/0/62822/cdc6a17e-39c8-4698-35c2-e6eb88b6c986.png)

### 1.定量分析
- 定量分析とは「数値データ」をもとに行う分析のことであり、PV数、セッション数といった数値として可視化された結果を基準として、そこからどれくらいの成長が見込めるのかを数値で表して設定した KPIにあわせて改善を行うことができます
- これらが一定のデータ量なら無料で分析できます

![Screen Shot 2019-01-07 at 15.42.39.png](https://qiita-image-store.s3.amazonaws.com/0/62822/0c0b5427-61e7-2a59-c5ac-f2be9ec05ff9.png)

### 2.定性分析
- 定性分析とは「質的データ」をもとに行う分析のことで、数値だけで表しきれないユーザーの心情を読み解いたデータから改善を行います
- 有料オプションとして次の２つも利用できるようです
- もし私が資金があるスタートアップなら喜んで使うと思います

![Screen Shot 2019-01-07 at 15.43.58.png](https://qiita-image-store.s3.amazonaws.com/0/62822/89ca9e91-25d9-1af8-1f80-2b4e1920f238.png)

### 3.アプリ内マーケティング
- **エンジニアとしてはマーケティングが便利だと思いました**
- FirebaseからでもPushは送信できますが、Reproは**リッチPush通知**にも対応していて、画像付きのPushをすぐ送ることができます
    - 実装の[プッシュ通知の設定](https://docs.repro.io/ja/dev/sdk/push-notification/ios.html#ios)もわかりやすくあります
    - リッチ通知とは [Qiita: リッチ通知（メディア添付）](https://qiita.com/jollyjoester/items/cc7026b1a102405eecdc#%E3%83%AA%E3%83%83%E3%83%81%E9%80%9A%E7%9F%A5%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E6%B7%BB%E4%BB%98)
- **アプリ内メッセージも非常に便利です！！！**これを実装しなくていいからエンジニアとして導入する場面も少なくないでしょう
    - カスタム性に優れていて、プレビューも新設でテストもしやすかったです！！
- そしてちゃんと**効果測定や、開封率、KPIに基づく達成度なども計測してくれます。**

![Screen Shot 2019-01-07 at 15.46.36.png](https://qiita-image-store.s3.amazonaws.com/0/62822/e5e45553-887b-f806-d635-7b11a9c8326d.png)

### 4.広告機能
- 抽出データを各種広告のターゲティングに活用し、ユーザー獲得してくれます
- 確度の高いユーザーに絞って効率よく広告配信してくれたり、リターゲティングをいい感じにしてくれます

![Screen Shot 2019-01-07 at 16.03.25.png](https://qiita-image-store.s3.amazonaws.com/0/62822/747be16f-cbaa-a7e9-1c92-e291d91cf0c1.png)


# 導入するメリット・デメリット
## メリット
### アプリを成長させたければ先に導入しておいても損はない
- Firebaseの管理画面は開発側の設定もあり、なかなか**マーケターに権限を渡しづらい**かと思いますし、操作もエンジニアよりかなーと思いますが、Reproでは**「マーケターに優しいUI」**だなと感じる部分もあり、アプリの将来の成長を見越しているのであれば**先に導入しておいてもいいかと**思います

### ゆくゆくはコンサルも任せることが出来る
- ビジネスにマッチしたアプリ事業案を策定してくれるそうです
- データが溜まっていれば、正確になるかもしれないので先に入れててもいいのではと思います

### Push通知がより便利に
- Push通知はFirebaseでも送れますが**Repro**のほうが **効果測定や、開封率、KPIに基づく達成度なども計測**など分析しやいです
- リッチ通知にも対応しています

### アプリ内メッセージ
- カスタム性に優れていて、プレビューも新設でテストもしやすい(下でDemoあります)


## デメリット
### Push通知は証明書を使うタイプ
- APNsAuthに対応していないので、年に１回Pushの証明書を更新しないといけない
- リッチ通知にはアプリ側の実装も必要（そんなに大変じゃない、管理画面を自作するよりはお得）


# Demo
- (※管理画面のスクショは事前にリプロさんの同意を得ております)
    - GAとかの管理画面を乗せるのは規約違反になるので、こういう情報は事前に確認するのがオススメです

## おすすめの実際のアプリ内メッセージプレビュー
- **実際に私のおすすめ「アプリ内メッセージ」を試してみましょう**
- プレビューとかちょっとした機能があると嬉しいですよね

![FireShot Capture 7 - 新しいアプリ内メッセージの作成 I Cin_ - https___app.repro.io_apps_y6w5kn69_in_app_messages_new.png](https://qiita-image-store.s3.amazonaws.com/0/62822/09b6aee4-785f-2a51-a576-c80bceb28ea7.png)



### 表示の回数や有効期限なども指定できます
![image.png](https://qiita-image-store.s3.amazonaws.com/0/62822/9cafb6f8-49bf-d791-b3e0-cd2b3be52ec8.png)

## 後は配信の時間等を決めて公開するだけ
- 公開してアプリを起動すると実際にプレビューのようなアプリ内メッセージが表示されます(^○^)

<img width="375" alt="IMG_1405.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/62822/085b4472-e768-9fb0-7632-a6033d68257a.png">



## シンデレラの定量分析
- こちらのグラフは現在運用している「シンデレラ」という個人のアプリのグラフになります
- あんまり公開できませんが、グラフの雰囲気はこんな感じです

![FireShot Capture 8 - ダッシュボード I Cinderella - https___app.repro.io_apps_y6w5kn69_dashboard.png](https://qiita-image-store.s3.amazonaws.com/0/62822/4c31f55a-3652-1f82-7635-4d287ca7d01e.png)


#### などなどいい感じに分析されているのがわかります

## 画面録画(有料)

- Reproの画面録画機能を使うと、アプリが想定している利用方法と実際のユーザーの行動とのギャップを、録画された操作画面を通して知ることができます。
- ユーザーの行動を観察することで、ユーザーが本当に困っている原因を探し、より本質的な改善活動につなげていくことができます。

- [画面録画ドキュメント](https://docs.repro.io/ja/dashboard/movie/screen-recording.html#id1)

##### 画面録画のデモ動画

![recording.gif](https://qiita-image-store.s3.amazonaws.com/0/62822/0f958156-475c-b09d-3828-18f356f34c38.gif)


こんな感じでユーザーの行動を動画で保存してくれるようです

# 気になる動作環境
- Reproでは
    - iOS
    - Android
    - Web
に対応しているようです

すごくいいいいい！！！

[Repro動作環境公式リンク](https://docs.repro.io/ja/requirements.html#id1)

# チョトだけハンズオン

公式ドキュメントもありますが、**せっかくなのでチョトだけハンズオン**をしたいとおもいます！！
https://docs.repro.io/ja/#id1

## 1. 管理画面にサインインする
### 1.1 初期登録
![image.png](https://qiita-image-store.s3.amazonaws.com/0/62822/26594e82-fa18-71ad-62bf-7d2b15c882c2.png)

### 1.2 ログインする
- 初回にログインするとグラフはないと思いますがこんな感じの管理画面です（Stagingなのでアクセスない感じです笑）

![image.png](https://qiita-image-store.s3.amazonaws.com/0/62822/ebddef2d-132a-6d9a-8115-dfcbb2bd39cd.png)

### 1.3 APP TOKENをゲットする
- 「設定」の「アプリ設定」に行きます

![Screen Shot 2019-01-07 at 20.50.34.png](https://qiita-image-store.s3.amazonaws.com/0/62822/b3900081-d846-b4a8-bf41-d11627ab76fe.png)

- 下の方にスクロールしていくと、「SDKトークン」という欄があるのでコピーしておきます

![Screen Shot 2019-01-07 at 20.51.58.png](https://qiita-image-store.s3.amazonaws.com/0/62822/54ca702f-48c4-594a-f0b9-e1e1f8c90c25.png)


## 2. iOSで設定してみる

### 2.1 みなさんお得意なCocoaPodsでインストールできます
`$ vim Podfile`

```Podfile
target 'YOUR-PROJECT-NAME' do
        pod "Repro"
end
```

`$ bundle exec pod install`
(みんなbundler使おうね！)

### 2.2 didFinishLaunchingWithOptionsで初期化
- Tokenは管理画面で簡単に入手できます
- 先程の「SDKトークン」を「YOUR_APP_TOKEN」と入れ替えます

```
import Repro

...

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    ...

    // Setup Repro
    Repro.setup("YOUR_APP_TOKEN")

    // Call the following methods to use Repro's features; they can be called in any desirable place within the app.

    // Start Recording
    Repro.startRecording()

    ...
}
```

### ハイ終わり＼(^o^)／

## 実際にアプリを開いて見ると...

### もう管理画面にアクセス１が！
- たしか30分ぐらいかかりましたが、それでも早いです

![image.png](https://qiita-image-store.s3.amazonaws.com/0/62822/93c31cc1-069b-3940-ceea-b87d7d9817d8.png)

## Push通知をReproから送信するには
- 通知を送信するには別に実装が必要で、`device_token` をReproに送信しないといけません
    - 皆さんFCMとかも設定できると思うのでこの記事では省略します
    - Reproからも設定マニュアルが載っていますので合わせて参考ください https://docs.repro.io/ja/dev/sdk/push-notification/index.html#id1
        - devセンターでいつもの証明書作って〜
            - そういえばkeychainからrequest作って〜
            - 証明書ごとp12をExportして〜
        - DeviceToken取得するコード書いて〜
            - ああ、Capabilities onにし忘れてた〜
        - などなど毎回、冒険がありますね

# まとめ
- 今の世の中エンジニアは**誰でもサービスを開発運用できる時代**なので、**差をつけるにはマーケティングの知識も身に着けたい**ですね
- **わりかし簡単にReproは導入できます**
- **アプリ内メッセージは簡単だし、解析してくれるのですごい魅力的**
- アプリが**もし万が一たまたまバズってしまった時には、コンサルも任せられます**
- アプリがもっさりすると感じたことはないです（計測はしてないです）

# 参考リンク
- Repro: https://repro.io/jp/

# さいごに

こちらのサービスで実際に**Repro**を使用させていただいております

- [今年こそクリぼっちを救えるのか！~今年はクリぼっちが少ないらしい その２~](https://qiita.com/okamu_/items/d6a61ec38baae93578ff) [300いいね]
- [誰でも爆速でマッチングサービスが作れる方法と対策](https://qiita.com/okamu_/items/a8577431749b72869aa3) [250いいね]
- https://cinderella-castle.com