Google HomeとIFTTTでスプラトゥーン2の勝敗を記録する方法!勝率や試合数も計算

グーグルホーム

声で操作できるスマートスピーカーはゲーム中にも便利です。そんな、Google Home、Google Home Miniをゲーム好きが便利に使うために今回は「スプラトゥーン2の勝敗を記録する方法」を紹介します。

Google Homeでスプラトゥーン2の勝敗を記録する

利用する方法

利用するのは、声で操作する端末である「Google Home」または「Google Home Mini」と、様々なWEBサービスと連携できる「IFTTT(イフト)」、記録するサービスとして「Googleスプレッドシート」を使います。

Google Home15,120円(税込)、Google Home Mini6,480円(税込)です。IFTTTとGoogleスプレッドシートは無料。あと、Googleアカウントが必要です。

IFTTTでAppletを作成

IFTTTを開き、Googleアカウントなどでログインします。次にマイページを開き、「New Applet」をクリック。

アプレット

「if this then that」と表示されるので、青いリンクとなっている「+this」をクリック。検索バーに「Google」と入力し、「Google Assistant」をクリックする。

初めて、Appletで「Google Assistant」を使用する場合は連携が必要なので、「Connect」をクリックして、Google Homeを利用しているGoogleアカウントを選択する必要があります。

レシピ

4つのトリガーが表示されるので、4つ目のトリガー「Say a phrase with both a number and a text ingredient」を選択します。このトリガーは、1つのテキスト1つの数値を音声で入力することができます。

手段

「Google Assistant」のトリガーフィールドを埋めていきます。1つのテキストと1つの数値しか利用できないため、テキストはスプラトゥーン2のルール名に割り当て、数値は勝敗に割り当てることにします。1を勝利、0を敗北とします。

What do you want to say?

テキストを利用する部分に「$」、数値の部分に「#」と入力。「$」「#」の最初に何か文字を入れないといけないので、お好きな単語を入力します。2つ目と3つ目のフィールド(optional)に入力すれば、そちらの音声でも実行できるようになります。

例:スプラ $ #

What do you want the Assistant to say in response?

上手く行った時の「Google Assistant」の返答を設定できます。お好きなように入力してください。

例:$ # で記録しました

Language

日本語を選択します。

Japanese

入力が完了したら「Create trigger」をクリックします。

項目

「if ■ then that」と表示されるので、青いリンクとなっている「+that」をクリック。検索バーに「Google」と入力し、「Google Sheets」をクリックします。初めて利用する場合は「Connect」で連携します。

2種類のアクションが表示されるので、1つ目の「add row to spreadsheet」を選択します。これは、行を追加していくアクションとなります。

Spredsheet name

ファイル名です。お好きにどうぞ。

例:スプラトゥーン2

Formatted row

追加するフォーマットです。以下のテキストをコピペしてください。

{{CreatedAt}}|||{{TextField}}|||{{NumberField}}

Drive folder path

Googleドライブ内のフォルダパスです。お好きにどうぞ。今回は「Assistant(アシスタント)」の略である「Asst」を使用しています。

例:Asst/

入力が完了したら「Create action」をクリックします。

画像

その後、Appletの名前と通知するかの選択が表示されるので、設定して「Finish」をクリックするとIFTTTでの作業は完了となります。

イフト

Googleスプレッドシートの設定

IFTTTでApplet作成後、Google Homeに向かって「ねぇ、Google スプラ ガチエリア いち」などとAppletで決めた単語とルール名、数値を発言してテストしてみます。

成功すると、Google Homeは「ガチエリア 1 で記録しました」と返答し、設定したファイル名のGoogleスプレッドシートが作成されます。(設定したフォルダとファイルが存在する場合はそのシートにデータが追加されていきます。)

Googleドライブを開き、ファイルが作成されているのか確認し、ファイルを開いてみます。上手く実行できていれば、1行目にデータが追加されているはずです。

エクセル

シートを開いたまま、Google Homeに発言すればデータが追加されていくので気持ちいいです。

更新時間を追加する

更新時間を記録する方法です。記録日時が不要な方は飛ばしても問題ありません。

記録日時の追加はIFTTTでできないようなので、Googleが提供している「Google Apps Script (GAS)」というサービスを利用します。スプレッドシートの「ツール」から「スクリプト エディタ」を選択、以下のコードをコピペします。

コード

function myFunction(e) {
  if(e.changeType!=='INSERT_ROW') return;
  
  var actSheet = SpreadsheetApp.getActiveSheet();
  var actRow = actSheet.getLastRow();
  
  var updateRange = actSheet.getRange('A' + actRow);
  updateRange.setValue(Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/M/d H:m:s'));
}

そして、ツールボタンの「現在のプロジェクトのトリガー」をクリックし、プロジェクト名を適当に「event」などと入力してOK、現在のプロジェクトのトリガーを以下の画像のように設定してOK。

トリガー プロジェクト

承認が必要ですと表示されるので「許可を確認」をクリックすると、ポップアップウィンドウが開きます。場合によってはこのウィンドウがブロックされているかもしれませんので、URLバーを確認してください。

詳細」をクリックすると、「event (安全ではないページ) に移動」が表示されるのでクリックします。アカウント選択して許可すれば、一通りの設定が完了したことになります。

警告

Google Homeに「ねぇ、Google スプラ ガチエリア ゼロ」などと発言するとデータと記録日時が追加されるはずです。

時間

Googleアシスタントの問題で、「ナワバリバトル」と発言すると間に空白が追加され「ナワバリ バトル」で記録されます。「ガチアサリ」と発言すると「ガチ あさり」になります。これはGoogleアシスタントの認識能力の問題です。

スプレッドシートでデータ集計

次に、エクセルのように関数を使って、スプレッドシートを整えます。シート2を追加し、データを集計する表を作成します。

データ

試合数、勝利、敗北、勝率には関数を使用します。「ナワバリ バトル」と「ガチアサリ」の数式バーに以下のように入力してみてください。

ルール 試合数 勝利 敗北 勝率
ナワバリ バトル =COUNTIF('シート1'!B:B,B3) =COUNTIFS('シート1'!B:B,B3,'シート1'!C:C,"1") =COUNTIFS('シート1'!B:B,B3,'シート1'!C:C,"0") =D3/C3
ガチアサリ =COUNTIF('シート1'!B:B,"ガチ あさり") =COUNTIFS('シート1'!B:B,"ガチ あさり",'シート1'!C:C,"1") =COUNTIFS('シート1'!B:B,"ガチ あさり",'シート1'!C:C,"0") =D7/C7

入力後、「ナワバリ バトル」の試合数、勝利、敗北、勝率を選択し、ガチエリア・ガチヤグラ・ガチホコまでをドラッグしてコピーします。

集計

これで全ての作業が終了しました。後は見やすいようにお好きに書式などを調整してみてください。スプラトゥーン2のマッチ終了後に、「ねぇ、Google スプラ ガチエリア いち」などと発言するだけで記録できる仕組みの完成です。

今回紹介した内容を一部変えれば他のゲームのデータを記録することもできます。ルール毎ではなく、武器毎にすれば、武器別の戦績を記録することができます。

Amazon EchoなどのAlexa端末では、定型文しか利用できないため、Googleスプレッドシートに戦績を記録するには少し工夫が必要です。

IFTTTで一行を追加しているため、Google Apps Scriptでアクティブな行番号を取得する「actSheet.getActiveCell().getRow();」が使用できません。そのため、今回は最終行を取得する「actSheet.getLastRow();」を使用していますが、他に便利な方法があったらコメントで教えていただけると助かります。

プレイステーション ストアチケット 1100円~1.5万円
プレイステーション ストアチケット 1100円~1.5万円
PS5, PS4, PS3, PS Vita
ニンテンドープリペイド番号 1000円~9000円
ニンテンドープリペイド番号 1000円~9000円
任天堂 / Nintendo Switch、3DS

その他 の記事

まとめ記事