Google Homeアプリをリリースしてみた(申請編)


# はじめに
Google Homeアプリ(Google Assistantアプリ)のリリースってどんな感じなんだろと思い、試しにリリースしてみました。

数度のリジェクトを食らいつつも無事承認され、皆様お持ちのGoogle HomeやスマホのGoogle Assistantからご利用頂けます。

リリースはこんな感じでしたって内容を書いてこうと思います。

なおアプリ(Dialogflow)実装のお話はこちら
[Google Homeアプリをリリースしてみた(実装編)](https://qiita.com/miso_develop/items/bc22d55788c025c32c39)



# リリース申請(Overviewの入力)
リリース申請にあたりActions on GoogleのOverviewにて色々入力しなければいけません。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/beba5b2d-0d05-b3d2-89df-9a1a63ae2489.png)

## App information
アプリ情報を入力してきます。
リリース申請＝ここの情報を埋めることです。

### Assistant app name
まずアプリ名ですね。
上が表記名、下が実際の発音みたいです。
日本語なら両方一緒でいいと思います。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/332468a2-b584-8727-05f6-ea72f889ad46.png)

なおここで製品、サービス、またはコンテンツのカテゴリーの単語や語句を含む一般的・普遍的な名前にしちゃうとリジェクトされます。

私は最初「チューナー」で出したらリジェクトされました。
「クロマチックチューナー」はダメ元で出したらいけました。
`#222`レベルのグレーだと思いますが…

### Details
アプリについての説明を書いてきます。
あとアプリが返す声色も選べます。

ここの情報を目にする人はほとんどいないと思いますが、リジェクトされない程度にしっかり書いておきましょう。
使い方の説明とかもあった方がいいです。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/25d0a085-db4d-df57-ae68-b7dd1ef19b4c.png)

なお内容はGoogle Assistant画面の右上の「…」から確認できます。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/4baa002a-afec-24ad-d368-7cc715a5b33c.png)

### Images
でっかいバナーとアイコンをアップします。

ここも目につかないだろうと思ってかなり適当に作りました。
ピクセル数とかも計算せずExcelの図形組み合わせて…

ですがスマホのGoogle Assistant上だとしっかりアイコンが出てきます。
アプリの顔なのでしっかり作りましょう。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/f096f3b1-f492-13b8-2c04-1998c75ea4f0.png)

### Content details
開発者名(会社名)や連絡先を入力します。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/abc38a9a-0dae-3531-d757-c8287a4edf38.png)

### Privacy and consent
プライバシーポリシーページを指定します。必須です。
利用規約ページもオプションで指定できます。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/2c2e8e0d-2d6e-ce5b-9021-d798096dec17.png)

ここが一番困りました。
ポリシーもなんもないし、何書けばいいのかわかりません。

とりあえずダメ元で「情報収集とかしません」って書いて出したら通りました。

なおこのページは基本スマホから見られると思うのでスマホサイズで最適化しておきましょう。

[実際に作成したページ]
https://tuner-3e992.firebaseapp.com/privacypolicy.html
![image](https://qiita-image-store.s3.amazonaws.com/0/207109/b915e919-0f93-508e-07fe-ffb52ab96d97.png)

### Additional Information
その他の追加情報を入れてきます。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/305d1cb9-aaa9-9d70-0d59-f9f417761a91.png)

#### Category
アプリのカテゴリを指定します。
後述しますが適当に決めるとリジェクトされます。

#### For Families
13歳未満の子供でも使えますよ的な感じです。
Yesにしてみたいとこですが、そうするとアメリカでしかリリースできなくなります。

#### Testing Instructions
アプリのテストにユーザ認証とか必要だったりしたらテスト用のそれを書いておきます。
審査時にのみ使われるみたいです。

#### Transactions
トランザクション処理がある場合（予約とか注文とか）チェックを入れとくみたいです。



## Location targeting
アプリの対象の国を選択します。
チェックをつけてもアプリに指定した言語が使われてる国のみが有効なので、日本語アプリだと必然的に日本のみ有効化されます。

なので特に気にせずAllにチェックつけとけば手っ取り早いです。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/d4baef79-fe26-0a63-f194-ee572144e881.png)

## Surfaces your Assistant app will trigger on
Google Assistantアプリ対応デバイスは下表の3種類があります。
音声出力、画面出力が必須かどうかで対応デバイスが変化していきます。

|デバイス|音声出力|画面出力|備考|
|---|:-:|:-:|---|
|Phones|○|○|タブレットは非対応|
|Speaker|○|✕|Google Homeのこと|
|Allo|✕|○|Googleのチャットアプリのこと|

今回のアプリは音声出力が必須なため、Alloには非対応となります。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/1c5da33c-53ac-1939-98ae-5b213a997bc8.png)

## Action discovery and updates
DialogflowでIntegrationsから反映したインテントがここに表示されるっぽいです。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/3f2f95cf-1c6a-ae76-ddde-cca4fa815117.png)

インテントを選択するとDialogflowでUser saysに指定したのと同じ内容が確認できます。
なお下の方にある「User updates and notifications 」は最近追加された機能で、インテントに対し定刻起動とプッシュ起動を有効化できます。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/3cc45a4d-c5c2-5e3b-15c9-f3683d48aee7.png)

## Add account linking
なんか独自サービスの認証を紐付けたりする感じっぽいです。
今回使わないので深入りせずスルーしました。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/65d7c204-dd39-b63e-56be-b68ca1f41b18.png)

## SUBMIT DRAFT FOR REVIEW
上記の情報を一通り入力し終えたらOverviewトップにて「SUBMIT DRAFT FOR REVIEW」ボタンを押します。
するとメールが飛んで来て審査が始まります。
現状大体4～5日でリジェクトなり承認なり結果が返ってきます。



# リジェクト
私が食らったリジェクトを赤裸々に公開します。
なおリジェクトメールは英文に加え丁寧な日本語も添えてくれます。

## アプリ名
> Actions on Googleのポリシーでは、製品、サービス、またはコンテンツのカテゴリーの単語や語句を含む一般的・普遍的な事柄をAPP名としてご使用いただけません。そのため、大変申し訳ありませんが本アプリ名は以下の理由で認証できませんので、ご修正をお願い頂けますでしょうか。
> 「チューナー」:一般的な機器名なため
> 英語になりますが、アプリ名のポリシーにつきましては詳しくは以下URLをご参照下さい。
> https://developers.google.com/actions/policies/general-policies#name_requirements

前述したアプリ名の件です。
オリジナリティ溢れるユニークなアプリ名にしましょう。

## マイクオープン
> ユーザが何を回答すればわからない（会話内容が終了したと思われる）場合、アプリ側がマイクをオープンにすることはActions on Googleのポリシーに反します。この場合、アプリ側は新たに問いかけを作成し会話を継続するか、会話を終了しなければなりません。
> 実際にアプリ内で下記のやりとりを行い、マイクがオープンになっていることを確認しました。
> ・「チューナーにようこそ！」→マイクが起動（使用法、または質問をする必要がございます。）
> ・｛特定の音｝→マイクが起動（チューニング継続するか、終わりにするかなどの文言が必要です。）

最初の申請のとき、アプリ起動時に「チューナーにようこそ！」しか言わなかったんですね。
アプリ名で使い方大体わかるっしょとサボってたら怒られました。

それとユーザのアクションに対するレスポンスには、その後のアクションの提示かアプリ終了してねってことですね。
今回のアプリの起動時や音鳴らした後に冗長な説明入れてるのはこのためです。

## テストしたところ以下のような問題を確認致しました。
> 「ミを鳴らして」をアプリが「身を鳴らして」を認識→アプリから「身」を返す(テキスト・音声)
> 　→上記のは一例ですがC4〜D4以外の単語に反応する問題があります。

全然テストせずに出してました…すみません。
この後ちゃんとチェックリスト作ってパターン網羅テストしました。

てかこれ「身を鳴らして」なんて解釈がされた場合、普通はFallbackに飛ぶはずなんですよ。
なんでだと思ったら、Dialogflowのエンティティで「Allow automated expansion」にチェック入ってたのが原因ぽいです。
作るときにこれどうなるんだろと試しにチェックつけてそのままにしちゃってました。すみません。

## Description
> 音声での説明が追加されれば問題はないと思いますが、説明文にももう少し詳しい説明があればユーザが使いやすいと思います。

OverviewのDiscriptionにも一応使い方の説明入れておくとリジェクトされにくいかもしれないです。

## プライバシーポリシーについて
> プライバシーポリシーについて、頂いたURLを確認しましたところ、
> 該当のプライバシーポリシー内に御社名または本アプリ名が記述されている箇所を発見することはできませんでした。
> そのため、該当ページに内に御社名または本アプリ名が記述されるようご修正いただく必要がございます。
> プライバシーポリシーの詳細（英語）につきましては以下よりご確認いただけます。
> https://developers.google.com/actions/policies/privacy-policy-guide

これは単純にアプリ名を変えたときにプライバシーポリシー上のアプリ名を変え忘れてました。
気をつけましょう。

## カテゴリーについて
> ご申請頂きましたアプリを審査しましたところ、選択いただきましたカテゴリーは「Music and audio」になりますが、
> こちらは通常、「音楽サービス」などといった、実際に音楽に関わるサービスに帰属されます。
> そのため、本アプリのカテゴリーは「Productivity」といった音楽の「ツール」などに該当します。
> このようにカテゴリーの選択違いについてはActions On Googleのポリシーに反しますので、ご修正いただけますでしょうか。

楽器のチューニングアプリだからカテゴリを「Music and audio」と、特に考えず指定したら怒られました。
ご丁寧に「Productivity」だよと返してくれてたので、その通りカテゴリを変更しておっけーでした。

## 　
以上、度重なるリジェクトの末、なんとかアプリをリリースすることができました。
審査チームの方々、このような稚拙なアプリのレビューにお付き合い頂きどうもありがとうございました。

なおアプリをリリースするとTシャツとGoogle Cloudクレジット$200分がプレゼントされます！

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">なんかGoogleさんからメール来てると思ったら、Google AssistantアプリリリースしたからTシャツとGoogle Cloudクレジット$200分くれるって！やったね！ <a href="https://t.co/8Ab6xQUieX">pic.twitter.com/8Ab6xQUieX</a></p>&mdash; 田中みそ (@miso_develop) <a href="https://twitter.com/miso_develop/status/936599483927764993?ref_src=twsrc%5Etfw">2017年12月1日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



# おわりに
簡単なアプリのリリースをしてみて、なんとなくレビューの粒度とかを把握できた気がします。

あとActions on Google画面でOverviewとSimulatorの間にあるAnalyticsが解禁されます。
全クリ後の特典感あります。

![image](https://qiita-image-store.s3.amazonaws.com/0/207109/6bd5a2c2-a5e4-76f1-202b-b086e98e4098.png)

以上、本記事がご参考になりましたら幸いです。