Unity用のZendesk SDKの動作を試せるデモゲームをプレイしてみた

2023.12.15

こんにちは、ゲームソリューション部でZendeskのエンジニアを担当している入井です。本記事はクラスメソッドZendesk Advent Calendar 2023の15日目の記事です。

クラスメソッド Zendesk Advent Calendar 2023 の記事一覧 | DevelopersIO

クラスメソッド Zendeskのカレンダー | Advent Calendar 2023 - Qiita

今年の10月にZendeskからゲームアプリがAndroid/iOS向けにリリースされました。

Unity用のZendesk SDKにデモゲームが追加されました – Zendeskヘルプ

これは、Unity用のZendesk SDKの導入により実際のゲームアプリ内でどのような機能を使用できるようになるのかを確認するためのデモとなっています。設定を変更することで、自社で持っているZendesk環境と連携させることも可能です。

今回の記事では、このデモゲームアプリから実際に問い合わせをZendesk環境へ送る流れをご紹介します。

Unity用の Zendesk SDKとは

Zendeskは、以前からUnityで使用できるSDKを配布しており、以下の記事では実際にそれを使用した結果を書きました。

今回のデモゲームで使用されているSDKも上記のSDKと同じくUnityとZendeskを連携させるためのものですが、公式サイトのリリースノートでは以下のように記載されています。

This is not an upgrade of the old SDK

The new Zendesk SDK for Unity is using new capabilities from Zendesk. You will need to completely remove the old SDK from your Unity project and install the new one.

どうやら内部的には別物になっているようで、移行する場合は古いSDKを完全に削除する必要があるとのことです。新SDKは現在EAP(早期アクセス)期間中であり、旧SDKで使用できていて新SDKで使用できなくなった機能については、今後のアップデートで順次使えるようにしていくようです。

Announcing the EAP for Zendesk SDK for Unity (Messaging) – Zendeskヘルプ

新しいSDKでは、Zendeskのメッセージングとの連携ができるようになっています。これは旧SDKには無かった機能です。

これにより、開発者はゲーム内に対話形式での問い合わせ機能を実装することができます。ユーザーとの対話は人間のエージェントが対応しても良いですし、ボットビルダーで作成したチャットボットに対応させることも可能です。

その他、新旧SDKの細かな機能の違いについては以下のドキュメントにまとめられています。

Classic Unity SDK vs Unity SDK with messaging capabilities | Zendesk Developer Docs

メッセージの設定手順

上で書いたように、今回のデモアプリでは自社のZendesk環境と連携させることも可能です。ここからは、その設定方法について書いていきます。

なお、環境は以下の通りです。

  • Zendesk Enterprise Plus
  • Android 13

メッセージング設定作成

デモアプリ用のメッセージング設定を作成するために、管理センターのチャネルメッセージング設定画面を開き、Androidチャネルを追加します。

名前などの設定項目の内容は何でも構いません。

チャネルの追加が完了するとチャネルIDが発行されるため、控えておきます。このIDは、デモアプリとの連携設定に使用します。

チャットボット作成

メッセージングを連携させるだけでもデモアプリでの問い合わせ対応は動作しますが、チャットボットを連携させるとユーザーとの会話のやりとりを自動化できます。

管理センターのチャネルボットを開き、ボットを作成ボタンから新しいチャットボットを作成します。

ボットの名前などの設定項目の内容は何でも構いません。

ボットの作成完了後、ボットの詳細画面を開くと会話内容などについての設定が可能です。

例えば、会話の開始でボット側からどのような挨拶を行うか設定できます。

設定画面の回答タブからボットビルダーを使って会話フローを作成することができます。今回はゲームのデモアプリで使用するため、ゲームが上手く動かないという問い合わせに対応する以下のようなフローを作成してみました。

「ゲームが上手く動かない」といった内容の問い合わせがあったときにユーザーの情報(名前、メールアドレス)を質問し、その内容をZendeskエージェントへ伝えるという形のフローになっています。

デモアプリの起動

最初にデモゲームアプリをダウンロードします。以下のストアでAndroid, iOSそれぞれのプラットフォーム向けに配信されています。今回はAndroid版のアプリを使用します。

Match 3 by Zendesk - Google Play のアプリ

「Match 3 by Zendesk」をApp Storeで

アプリを起動すると、以下のようなタイトル画面が表示されます。

それぞれのボタンを押すことで以下のように画面遷移します。

  • Start
    • ゲームの開始
  • Contact Us
    • 問い合わせ画面
  • Configure
    • デモアプリとZendeskの連携設定等

ゲームは、同じ絵柄のブロックを3つ以上並べるとそのブロックが消えるというルールのパズルゲームとなっています。

ゲーム中に左上のボタンをタップすることで、以下のメニューが表示されます。ゲーム中からも問い合わせフォームを開くことができるようになっています。

なお、特に設定をしていない状態でもContact Usから問い合わせチャット画面を開けますし、会話も可能です。ただ、あくまでシミュレートされたもので何処のZendesk環境とも会話内容の連携はされません。

アプリ内でメッセージングチャンネルを連携

Zendesk環境のメッセージングチャネルと連携するには、タイトル画面でConfigureをタップし設定画面に入ります。

Custom configurationを選択し、Channel ID欄にメッセージングチャネルの作成時に控えたIDを入力し、Saveボタンをタップします。

Zendeskとの連携はこれだけで完了します。

実際の動作

Contact Usボタンをタップして問い合わせチャット画面に入ります。

チャットボットの設定画面で最初の会話内容を設定した場合、画面を開いた段階でそのメッセージが送られてきます。

作成したフローを試すために、「ゲームが動きません」というメッセージを送ってみました。

すると、問い合わせ内容をちゃんと理解してフロー通りにメッセージを返してきます。また、ユーザーの情報を得るため名前とメールアドレスについての質問も来ます。

名前とメールアドレスを入力すると、Zendeskエージェントへの連携が行われます。

この段階で、Supportに新規チケットが作成されます。チケットにはユーザーの情報が反映され、それまでのボットとの会話も全て記録に残っています。エージェントは、これらの情報を元にユーザーとサポートの会話をシームレスに続けることが可能です。

まとめ

Zendeskから公開されたデモゲームアプリについて、実際にZendesk環境と連携した上で問い合わせ機能を使ってみました。

Unityの新しいZendesk SDKを使うことで、開発中のゲームにこのような対話式の問い合わせ画面を実装することが可能になります。