Unity2017プロジェクトを簡単にAdaptiveIconに対応する方法

# 経緯
[Android8以上の端末が20%を超え](https://developer.android.com/about/dashboards/index.html)、もう３割ぐらいがAndroid8以上なのではないかという今日この頃。
~~2018年リリースのくせに~~AdaptiveIconに対応していないアプリのアイコン更新を行った際に
Unity2017プロジェクトをサクッとAdaptiveIconに対応する方法があったのでメモとして残しておこうと思います。
同じ様に重い腰をあげようとしている方の一助になれば幸いです。

# 参考
[3分で分かる？Android OのAdaptive Iconに対応しよう](https://qiita.com/takahirom/items/696fb5ecaa230fa8f755)
AdaptiveIconの基本的な概念から具体的な対応方法まで記事にしてあるため非常に参考になりました。
[Adaptive icon for Android with old Unity](https://medium.com/@fiftytwo/adaptive-icon-for-android-with-old-unity-62efa45af492)
この記事で解説する方法が書いてあります。


# 本題
結論から言いますと、**Unity2017で作成されたプロジェクトでAdaptiveIconに対応する為にUnity2018を使用します。**
理由としては**何も考えずいつも通りアプリアイコンを設定するだけで更新できるから**です。

## アイコンの設定
Unity2017と異なり、Unity2018ではLegacy・Round・Adaptiveの３種類のアイコンが設定できます。
そしてAdaptiveの項目にはforegroundとbackgroundの設定ができるようになっています。
今回はサクッと対応なので前面にユニティちゃんアイコンを使用し、背面には適当な画像を設定しておきます。<img width="320" alt="playersetting2018-2.png" src="https://qiita-image-store.s3.amazonaws.com/0/203331/9d1e8003-4840-c460-543e-49f7ebcb3183.png">

## AndroidProjectのExport
アイコンを設定したらBuildSettingsからAndroidにSwitchPlatformし、
**BuildSystemをGredleにExportProjectにチェックを入れ**適当なフォルダにエクスポートします。
<img width="632" alt="スクリーンショット_2019-02-23_13_27_54.png" src="https://qiita-image-store.s3.amazonaws.com/0/203331/d4eae13d-595b-98b7-06c2-f2a6c70bb565.png">

## ExportしたプロジェクトをUnity2017用に変更
アイコンを対応したいプロジェクトの**Assets／Plugins／Androidをフォルダに（なければ作成）**
先ほどエクスポートしたプロジェクトの**src/main/resフォルダ以下のフォルダを全てコピペします。**
そして、**"mipmap~"と名前のついたフォルダを全て"drawable~"に変更してください**
drawable-xhdpiは既にあると思うのでmipmap-xhdpiの中身をdrawable-xhdpibに移動(mipmapは削除）
最終的にはこんな感じのフォルダ構成になると思います。
<img width="966" alt="スクリーンショット 2019-02-23 13.43.50.png" src="https://qiita-image-store.s3.amazonaws.com/0/203331/448ab280-9022-0e69-27b5-0822e48f9b3d.png">

## xmlファイルのアイコン画像指定を変更
最後に **"drawable-anydpi-v26"フォルダにある"app-icon.xml"と"app-icon-round.xml"**の
foregroundとbackgroundの指定を **"mipmap"から"drawable"に書き換えてください**
この状態でビルドを行うことでAddaptiveIconに対応したアイコンが表示されるようになります。
<img width="636" alt="スクリーンショット_2019-02-23_13_46_13.png" src="https://qiita-image-store.s3.amazonaws.com/0/203331/291f8fe7-720c-a2c6-df56-6128f72dd3f6.png">


# 確認
今回は~~面倒だったので~~違いがわかりやすくする為、全く同じ画像でビルドし直したのでアイコンが少し真ん中に寄った状態になっているかことが確認できます。
![Screenshot_20190223-121635.png](https://qiita-image-store.s3.amazonaws.com/0/203331/49afda4f-76f0-9cc7-ca2d-a3515df54396.png)


アイコン対応ができたかの確認は、やはり実機でするのがいいと思います。
実機で確認することで実際に画面がスクロールした時の動きも確認できますし、**なによりテンションがあがりますよね。**
AdaptiveIconの表示に対応した端末が手元になければ[AdaptiveIconPlayground](https://github.com/nickbutcher/AdaptiveIconPlayground/releases)を使えば実機でのそれっぽい確認ができます。
実際にAdaptiveIconに対応できているところをデザイナーに見せれば、ノリノリでアイコンを作ってくれること間違いなしです。(当社比)

以下は実際にAdaptiveIconPlaygroundで動作を確認しているgifです
![Unknown.gif](https://qiita-image-store.s3.amazonaws.com/0/203331/c359c88a-39d7-b916-abbb-7be5434752f9.gif)

# まとめ
最初に書きましたが、この方法の最も良い点は**何も考えなくてもいい所**だと思います。
- いつも通り画像を設定すれば、ディレクトリ構成が出来上がった状態でエクスポートされる
- PlayerSettingに画像サイズなどは書いてあるので、デザイナーに話を持って行きやすい
- なんだったらデザイナーに丸投げしてもいい（当社比）

ただAddptiveIconは結構スクロールする時に気持ちよくて良いですし、
前面背面があることを利用して面白いアイコンを作ることが可能になっている反面、
**従来よりも表示されるアイコンが小さくなる為「ロゴ+キャラクター」の様なアイコンにしづらくなっている印象です。**
特に**何らかの更新がある度にアプリアイコンを更新するアプリ**の場合**ユーザーがアイコンからアプリを認識できなくなる懸念**があります。
その辺りも踏まえて、より効果的なアイコンを検討する必要がありそうです。