見出し画像

Google Home アプリ、リジェクトされまくって分かった申請のポイント(その1)

初、noteでございます。アプリの発表はgoatでやっているのですが、noteではもう少し深いところ、開発サイドについて書いて掘り下げたいと思います。

ちなみに最近作ったGoogle Homeアプリはこちら。Google Homeでサンタさんにクリスマスプレゼントをリクエストできるというものです。ぜひお試しください。

お願いサンタ! for Google Home

他にも公開中のアプリいろいろありますのでご興味ありましたら。

KANTETSU WORKS ボイスアプリ一覧


6回のリジェクト経験から分かったポイントをご紹介

Google Homeアプリ、正式にはGoogle Assistant向けの「Actions on Google」というものですが、公開にあたってはiOSアプリやAndroidアプリと同様にGoogleに申請する手続きが必要となります。

Google Homeアプリは、Androidアプリのようなものだと聞いていたので、審査とは形式的なもので、簡単に通るのではないかと考えていましたが、間違いでした。

これまでに4本のアプリで計6回のリジェクトをくらいました。Google Homeアプリの審査の詳細はググッてもほとんど出てきませんので、せめて後進の役に立つべく、また戒めの意味も込め、ここでリジェクト内容を振り返りたいと思います。

リジェクト1回目:with おうむ返しくん

まず最初に作ったのは「おうむ返しくん」というアプリです。

おうむ返しくん for Google Home

ご想像の通り、ユーザーの言葉をひたすらおうむ返しするだけのアプリです。

しょーもないですか?いえいえ、だだのおうむ返しと侮るなかれ。入力情報の反復は音声認識デバイスの実力を試す試金石となります。「トナリノキャクハヨクカキクウキャクダ」という発声を正確にテキスト化できるかどうかは、音声UI開発にとって極めて重要な意味をもちます。このあたりはまたいずれ書きます。

あとで知りましたが、ピカチュウアプリのお披露目の記事の中で、こっそり紹介されていたみたいで、嬉しいやらお恥ずかしいやらです。

確か10/7頃にバージョン1を提出したと思います。記念すべき初リジェクトはその2営業日後の10/11でした。とりあえずこんなメールが届きました。

実際は英語と日本語まじりですが。日本語部分のみご紹介します。

開発ご担当者様
いつもお世話になっております。
この度はご申請ありがとうございました。
本アプリはActions on Googleポリシーに則り、下記内容をご修正いただく必要がございます。

■プライバシーポリシーについて
プライバシーポリシーについて、頂きましたURLを確認いたしましたところ、
当該WebページはSSL対応しておらず、かつ、プライバシーポリシーに関する記述が見受けられませんでしたので、
当Webページをご修正いただくか、プライバシーポリシーページをご用意いただく必要がございます。
また、同一ドメイン内でページを新たにご用意いただくことも一手段かと存じますが、
GoogleDocsに本アプリについてのプライバシーポリシーを記述し公開することでの代用が可能です。

■Pronunciationについて

通常、Actions on Googleポリシーでは、「Pronunciation」をGoogle Assistantが日本語で認識した言葉で、
なおかつ、DisplayNameと同一の読み方で作成する必要があります。その為以下のようにご修正が必要になります。
例:「 おうむ が え し くん」→「オウム返しくん」

■Sample Triggerについて

Sample Triggerでは原則<Pronunciation+トリガーフレーズ(「〜と話す」等)>といったような、
アプリが必ず起動するようなフレーズでご申請頂く必要があります。
例:「オウム返しくんと話す」
従いまして、以下のSampleTriggerではアプリ起動が確認できないため、ご申請いただけません。
・「オウム返し君につないで」
・「おうむ返し君につないで」
・「鸚鵡返し君につないで」
該当箇所を削除いただくか、本アプリがGoogleアシスタントで起動できる文言をご用意ただけますでしょうか。
またのご申請お待ちしております。
どうぞよろしくお願いいたします。

詳しくみてみましょう。

■プライバシーポリシーについて

当アプリでは ユーザーの発声データ等を一切保存しないため、プライバシーポリシーは連絡先程度でいいや。と思っていたら、案の定NGをもらいました。まあ、そうですよね。すみませんでした。

どんなアプリでも個人情報の扱いは明示しておく必要がありますね。httpsのサーバーでサクッとドキュメントおく場所がないなぁと思っていたら、

GoogleDocsに本アプリについてのプライバシーポリシーを記述し公開することでの代用が可能です。

と素晴らしい提案がありましたので、そうすることにしました。

ポイント①:プライバシーポリシー、なかったらGoogle Docでサクッと書いておきましょう。

続いて、次のリジェクト内容。

■Pronunciationについて
通常、Actions on Googleポリシーでは、「Pronunciation」をGoogle Assistantが日本語で認識した言葉で、
なおかつ、DisplayNameと同一の読み方で作成する必要があります。その為以下のようにご修正が必要になります。
例:「 おうむ が え し くん」→「オウム返しくん」

Pronunciationというのは「発音」という意味ですが、これ、最初ちょっとよくわかりませんでした。提出したデータでは、

DisplayName:オウム返しくん
Pronunciation:おうむがえしくん

としていたわけですが、日本語で発音といえば、ひらがなで正確に書く必要があろういう判断からでした。ですが、その解釈ではNGのようです。

ここでいう発音というのは、どうやら、「Google Home がその発音を変換したテキスト」のことであるようです。シミュレーターでマイク経由で発声してみると、たしかに毎回「鸚鵡返しくん」となり「おうむがえしくん」とは変換されません。

でも「オウム返しくん」でもないのですよねぇ。上記の修正の指摘は正しくないような気がしています。なので修正版では「Pronunciation:鸚鵡返しくん」を採用しました。あわせて「DisplayName:おうむ返しくん」にしました。

ポイント②:Pronunciationは、必ずシミュレーターが音声→テキスト変換したワードを使うべし。

シミュレーターをキーボードで使っていると、上記の落とし穴にハマります。できるだけ音声入力を使い、グーグルさんに変換してもらうのが良いと思います。

次の内容。

■Sample Triggerについて
Sample Triggerでは原則<Pronunciation+トリガーフレーズ(「〜と話す」等)>といったような、
アプリが必ず起動するようなフレーズでご申請頂く必要があります。
例:「オウム返しくんと話す」
従いまして、以下のSampleTriggerではアプリ起動が確認できないため、ご申請いただけません。
・「オウム返し君につないで」
・「おうむ返し君につないで」
・「鸚鵡返し君につないで」

Sample Triggerも大いに悩みました。提出したものは、

Sample Trigger:「オウム返し君につないで」「おうむ返し君につないで」「鸚鵡返し君につないで」

でした。発声による言葉の揺れを担保する必要があると考えたのですが、どうも勘違いだったようです。が、このときはよく分かっておらず、「君」→「くん」とし、「〜と話す」にしてみました。

Sample Trigger:「鸚鵡返しくんと話す」「オウム返しくんと話す」

上記にしてバージョン2を提出しました。


リジェクト2回目:with おうむ返しくん

バージョン2も案の定、同じ指摘がきました。

Sample Triggerで使われるはPronunciationは最初に登録するPronunciationと同じくする必要があります。
従いまして、以下のSampleTriggerではアプリ起動が確認できないため、ご申請いただけません。
・「オウム返しくんと話す」
よろしくお願い致します。

結局のところ、言葉の揺れをケアするとかそういうことでなく、「Pronunciation+と話す」という決め打ちフレーズをよこせ、という意味で合点しました。

最終的に次の設定で審査に通りました。

Sample Trigger:「鸚鵡返しくんと話す」

Sample Triggerのハマりどころ

ただ一点、開発当初からずっとよくわからない点がありました。それは、シミュレータを起動すると、ユーザーの発言フィールドに「おうむ返しくんにつないで」とサジェストされるのですが、これを入力してうまく起動したことがなかったんです。

いろいろ試して分かったのは、

「〜につないで」という言い方で動作するときとしないときがある
 →Pronunciationとの組み合わせによる?
 →「〜と話す」は概ね大丈夫

ということでした。ということで、

おうむ返しくんと話す(DisplayName + と話す)
鸚鵡返しくんと話す(Pronunciation + と話す)

なら、 起動できることが分かりました。

推測ですが、サジェストワードを鵜呑みにして、起動できずに行き詰まっている方は多いのではないでしょうか。そんな方は上記をぜひ参考にしてください!

そんなわけで、Sample Triggerについてのポイントは、

ポイント③:Sample Trigerは「Pronunciation+につないで」でよい。が、「〜につないで」が使えない場合は「〜と話す」が良い。


ここまでのまとめ

思ったよりボリュームが出たのでここで一旦区切りたいと思います。ここまでのポイント。

ポイント①:プライバシーポリシー、なかったらGoogle Docでサクッと書いておきましょう。
ポイント②:Pronunciationは、必ずシミュレーターが音声変換したワードを使うべし。
ポイント③:Sample Trigerは「Pronunciation+につないで」でよい。が、「〜につないで」が使えない場合は「〜と話す」が良い。

いかがでしょうか?少しでもお役に立てれば嬉しいです。3回目以降のリジェクトについてはまた後日書きたいと思いますので、ご興味ありましたら是非フォローください。

では、良いGoogle Homeライフを!

続き書きました。


この記事が気に入ったらサポートをしてみませんか?