
Zendesk SDK for Unity を導入して問合せのメールアドレスをユーザープロファイルに反映させる
はじめに
本記事では、 Zendesk が Unity 向けに提供する SDK を導入し、 Unity アプリで行われた問合せにおいて入力されたメールアドレスがユーザープロファイルに登録されるようにするまでの手順を解説します。
Zendesk とは
Zendesk は、顧客からの問い合わせを一元的に管理するためのクラウド型サポートソリューションです。チケット駆動型のワークフローを基盤とし、メール、ウェブ、SNS、チャットといった複数のチャネルからの問合せを統合的に扱えます。
Zendesk SDK for Unity とは
Zendesk SDK for Unity は、Unity アプリケーションに Zendesk のメッセージング機能を組み込むための開発キットです。ユーザーはアプリ内から直接サポートチャットを開始でき、エージェントは Zendesk 側のチケット管理画面でそれを受け取ります。問合せに付随してユーザーの名前やメールアドレスを収集することも可能で、これによりチケットとユーザープロファイルを関連付けることができます。
対象読者
- Unity アプリにサポートチャットを追加したい開発者
- Zendesk のチケットとユーザー情報を正確に紐付けたい管理者
- SDK 導入の最小限の手順を知りたい技術者
参考
構成
以下に本記事で紹介するシステムの全体像を示します。ユーザーが入力した Name と Email が Unity アプリから送信され、Zendesk の管理設定を経由してチケットおよびユーザープロファイルに反映される流れが確認できます。
- Unity 側: ユーザーが入力した情報を SDK を通じて Zendesk に送信する
- Zendesk 側: 管理画面で設定した項目に従って問い合わせをチケット化し、ユーザー情報を更新する
準備と実装
前提環境
Unity 6000.0.57f1 (LTS)
Unity 側の準備
Unity プロジェクトを作成する
空のプロジェクトを作成します。今回は 2D としました。
Zendesk SDK を導入する
Zendesk SDK for Unity は Package Manager を通じて導入します。そのために Scoped Registry の設定を追加します。これにより、プロジェクトに Zendesk の API が利用可能になります。
- メニューから Edit → Project Settings → Package Manager を開く
- Scoped Registries に以下を追加する
Name: Zendesk URL: https://zendesk.jfrog.io/artifactory/unity-universal Scope(s): com.zendesk
- Unity Package Manager を開き、Zendesk SDK を選択してインストールする
Zendesk 側の準備
チャネルを作成する
Zendesk 管理画面に管理者権限でログインし、メッセージング → チャネル → Unity を選択します。新規チャネルを作成すると Channel ID が発行されます。この ID を後の手順で Unity 側スクリプトに設定します。
応答フォームを設定する
問合せ者の情報を正しく収集するため、作成したチャネルの「応答」を編集し、Email のフィールドを追加します。これにより、ユーザーが入力したメールアドレスが Zendesk のユーザープロファイルに保存され、以降のチケットに自動的に紐づきます。編集が完了したら「保存」をクリックします。
初期化スクリプトの実装
Unity 側で SDK を初期化するスクリプトを作成します。スクリプトを空の GameObject にアタッチすることで、アプリ起動時に自動的に Zendesk のメッセージング画面が開きます。
以下はスクリプトのサンプルです。
using System.Threading.Tasks;
using UnityEngine;
using Zendesk.Runtime.SDK;
using Zendesk.Runtime.Localisation;
public class ZendeskBootstrap : MonoBehaviour
{
// 管理画面で発行された Channel ID を設定します
[SerializeField] private string channelId = "eyJzZXR0aW5nc191cmwiOiJodHRwczovL3BkaS1jbGFzc21ldGhvZC56ZW5kZXNrLmNvbS9tb2JpbGVfc2RrX2FwaS9zZXR0aW5ncy8wMUs1QVhUODhaNTdHMzVXUjIzVjIxVFZDQy5qc29uIn0=";
async void Start()
{
// SDK を初期化します
await ZendeskSdk.InitializeAsync(cfg =>
{
cfg.ChannelId = channelId;
cfg.Language = ZendeskLanguage.English;
});
// アプリ起動直後にメッセージング UI を表示します
await ZendeskSdk.Instance.Messaging.ShowMessagingAsync();
}
}
フォントの設定
Zendesk SDK の標準フォントでは日本語が正しく表示されない場合があります。その際は日本語対応フォントを Unity プロジェクトに追加し、既存のフォント参照アセットに割り当てることで対応できます。
- 日本語対応フォント(例: Noto Sans JP)の TTF/OTF ファイルを Unity プロジェクトにインポートする
- TextMeshPro → Font Asset Creator を用いて SDF フォントアセットを生成する
Assets/Zendesk/Resources/Fonts/ZMFontReference.asset
を開き、Roboto-Regular SDF
の参照をインポートした日本語フォントに差し替える
この設定により、Messaging UI 上でも日本語テキストが文字化けせずに表示されるようになります。
動作確認
Unity Editor の Play ボタンでアプリを起動し、問い合わせフローが正常に動作するかを検証します。
- アプリを起動すると、自動的に Zendesk の Messaging UI が表示される
- ユーザーが Name / Email を入力して問い合わせを送信する
- Zendesk 管理画面に新しいチケットが生成される
- チケットに紐づくユーザープロファイルを確認すると、入力したメールアドレスが正しく格納されていることが分かる
まとめ
本記事では、Zendesk SDK for Unity を利用し、Unity アプリに問合せフォームを組み込む最小限の手順を解説しました。
- Zendesk 側の準備:Unity 用チャネルを作成し、応答設定で Name / Email を必須化
- Unity 側の準備:Scoped Registry から SDK を導入し、初期化スクリプトで Channel ID を設定
- 動作確認:アプリ起動時に Messaging UI を表示し、ユーザーが入力した情報が Zendesk のチケットに反映されることを確認
これにより、ユーザーのメールアドレスがユーザープロファイルに格納されます。この SDK を活用することで、ユーザー認証との連携や問合せ内容の自動仕分けなど、より高度なサポート体験を Unity アプリに組み込んでいくことが可能になります。