UnityとZendeskを連携させて、ゲーム内から問い合わせを送れるようにしてみた

2023.02.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、ゲームソリューショングループの入井です。

ゲームをユーザーに提供する際には、ゲームだけでなく快適に遊ぶためのサポート体制も必要になってきます。その中でも、ユーザーからの意見や質問、バグ報告等の問い合わせを受けるための窓口は特に重要です。

問い合わせ窓口は、公式サイトなどにメールフォームを設置して、そこでユーザーに入力してもらうという仕組みを作るパターンが多いと思います。

しかし、この方法の欠点として、ユーザーにゲームから離れることを強制してしまう点があると思います。何かの問題がゲーム内で起こった時、そのままゲーム内から問い合わせを送れる仕組みになっている方が、ユーザーとしては面倒がありません。

ヘルプデスク機能を提供するSaaSであるZendeskは、Unityと連携するためのSDKを配布しています。今回は、そのSDKを使用してUnityのゲーム内からZendeskで構築したヘルプデスクへ問い合わせを送る仕組みを試してみます。

作業はこちらのマニュアルを元に行いました。

Zendeskの管理センターでSDKと繋げるための設定をする

SDKを使用する前に、Zendeskで通信を受けるための受け口を作る必要があります。

管理センターに入り、「チャネル」メニュー内の「モバイルSDK」をクリックします。

設定画面が開いたら、「アプリを追加」ボタンをクリックします。

SDKからの通信を受けるためのURLやApp IDが新しく発行されたフォームが表示されるので、「名前」欄に任意の名前を入力します。

フォームの下の方に「認証方法」欄があり、ここでユーザーの認証を必須にするか選択できます。今回は、認証なしでも問い合わせを受けられるようにするため、匿名を選択しました。

保存ボタンをクリックしたら、Zendeskでの設定は完了です。

Zendesk SDK for Unity

Zendeskは、Unityと連携するためのSDKをUnityのアセットストアで配布しています。

こちらのアセットをUnityのプロジェクト内でインポートすることで、Unity内でSDKが使用できるようになります。

インポート時に表示されるファイル選択ダイアログでは全てにチェックを付けます。

Unity上でSDKの設定をする

インポートされたZendeskのアセットディレクトリを開くと、中に「Zendesk」という名前のprefabファイルがあるので、これをドラッグしてゲーム内に設置します。

「Event System」UIコンポーネントが必要なため、作成しておきます。

Zendeskのprefabをクリックしてinspectorを表示させます。Zendesk Main(Script)タブ内に、Zendesk URL、Application ID、Client IDという項目があるので、先ほどZendeskの管理センターで発行されたそれぞれの値を入力します。

入力完了後、下にある「Tset Configuration」というボタンを押すとZendeskとの通信テストが行われます。テストの結果、画像のようにログで接続の成功メッセージが表示されたら設定は完了です。

デフォルトUIを使ってZendeskとやりとりしてみる

ここまでの設定が完了すると、ゲームの開始とともにZendeskの問い合わせ画面が表示されます。これはデフォルトのUIであり、Zendesk prefabのインスタンスが存在する場合にゲーム画面の前面にこのウィンドウが表示されます。

(公式マニュアルでは、Zendesk prefabは必要な時のみインスタンスを生成するようにという注意書きがあります)

別途用意したオリジナルのUIを使うことも可能ですが、今回はこのままZendeskとのやりとりを試してみます。

「連絡をとる」ボタンをクリックすると、メッセージの送受信を行うための画面が表示されます。画面下部の入力欄にテキストを入力して送信を行うと、そのままZendeskへとメッセージが送信されます。

ゲーム画面でのメッセージ送信後、Zendeskの問い合わせチケット管理画面を確認すると、Unityから受け取ったメッセージを元に新規チケットが作成されています。匿名ユーザーであるため送信ユーザー名はMobile App Userとなっています。

これにより、ゲーム画面から問い合わせが送れるようになっていることが確認できました。

次は、以下のようにZendeskの画面でユーザーへ返信(パブリック返信)を送ってみます。

Unityのゲーム画面を開き、一度Zendeskのウィンドウのトップに戻った後、今度は「サポート」ボタンをクリックすると、今まで自分が行った会話の一覧が表示されます。新しいメッセージが来た会話は、通知マークで強調されています。

(先ほどのメッセージ送受信の画面でそのままメッセージを受け取れたらよかったのですが、私が試した範囲では自動的にメッセージを受け取ることはできないようでした)

通知が表示されている会話をクリックしてメッセージ送受信画面に入ると、左側に新しく返信が追加されています。これにより、ヘルプデスク側からユーザーのゲーム画面へ問い合わせの回答が送れることを確認できました。

更にユーザー側からメッセージを送ると、Zendeskのチケットに新しくコメントが追加され、会話ができるようになっていることが確認できます。

まとめ

UnityとZendeskを連携させ、ゲーム内からヘルプデスクとやりとりできるようにしてみました。今回はデフォルトUIを使ったシンプルなやり取りのみのご紹介でしたが、前述したように問い合わせフォームのUIをカスタマイズしたり、認証ユーザーのみから問い合わせを受け付けるようにしたり、更にはZendeskで構築したFAQページをゲーム内に表示させたりなど、ユーザーサポートのための機能が色々と用意されています。(公式SDKマニュアル参照)

Zendeskと連携させることで、ゲームのユーザーサポートに様々な機能を取り入れることができるようになるため、興味のある方は試してみてはいかがでしょうか。