はじめに(iOSの場合)
Unityゲームに素晴らしいアプリ内サポートを追加するには、3つのステップが必要となります。
C#やJavaScriptで記述されたゲームスクリプトから呼び出し可能なHelpshift SDK X用のUnityプラグインの統合方法について説明します。
要件
- Unity 2018.1.0以上。
- Xcode 12.0以上。
- iOS 13以上。
iOS向けのHelpshiftX Unity SDKのダウンロード
HelpshiftX SDK .zipフォルダーには、以下のものが含まれています。
| helpshiftX-plugin-unity-v10.4.0.unitypackage | Helpshift SDK XのUnityパッケージ |
| unity-jar-resolver(v1.2.170.0) | Android Helpshiftパッケージのサポートライブラリの依存関係を解決します。 |
| iOS/dSYM/HelpshiftX.framework.dSYM | Xcodeでのクラッシュレポートのシンボル化やデバッグに使用するHelpshiftXフレームワーク用のデバッグシンボルファイルです。 |
UnityプロジェクトにHelpshiftを追加する
- HelpshiftX Unity SDKパッケージを解凍します。
- HelpshiftX Unity SDKは、Unityパッケージのインポート手順を介してインポート可能な標準の
.unitypackageとして表示されます。 helpshiftX-plugin-unity-version.unitypackageをUnityゲームにインポートする手順は、以下の通りです。- 「Unityプロジェクトを開く」でドロップダウンメニュー「アセット」に移動し、「パッケージをインポート」、「カスタムパッケージ」の順に選択します
- 解凍したSDKから
helpshiftX-plugin-unity-version.unitypackageファイルを選択し、Helpshift SDKをインポートします。 - 「インポート」をクリックします。
Info.plistの変更 - 使用目的に関する文字列の追加
アプリ内のSDKの構成セクションから"ユーザーの添付ファイル"機能を有効にすると、SDKはユーザーによる添付ファイルのアップロードを許可するようになります。添付ファイルは、ファイルピッカーか写真ライブラリのいずれかから選択します。
カメラと写真ライブラリを使用する場合、AppleはアプリのInfo.plistに写真ライブラリの使用目的に関する文字列を入力することを求めています。これらの文字列を追加していない場合、アプリがリジェクトされてしまう可能性があります。添付ファイル機能を使用するには、以下の文字列が必要となります。
| キー | 推奨される文字列 | 注意 |
|---|---|---|
| NSPhotoLibraryUsageDescription | 「このアプリは、ヘルプやサポートを目的として、 添付ファイルとして送信する画像をユーザーが手動で選択できるようにするために、写真ライブラリにアクセスする必要があります。」 | iOS 14以上でアプリを使用する場合には、これは必要ありません。iOS 14以下では、 このキーは必須となります。入力していない場合、ユーザーが写真を添付するために写真ライブラリを開こうとする際に アプリがクラッシュしてしまう可能性があります。 |
以下の説明は、SDK X 10.2.0以下のバージョンにのみ適用されます。
上記のNSPhotoLibraryUsageDescriptionと一緒に、アプリケーションのInfo.plistファイルにNSCameraUsageDescriptionキーとNSMicrophoneUsageDescriptionキーも追加してください。
| キー | 推奨される文字列 | 注意 |
|---|---|---|
| NSCameraUsageDescription | 「このアプリは、ヘルプやサポートを目的として、 添付ファイルとして送信する画像をユーザーがクリックできるようにするために、カメラにアクセスする必要があります。」 | このキーは、カメラで写真を撮影し、それを添付するために必要となります。 |
| NSMicrophoneUsageDescription | 「このアプリは、ヘルプやサポートを目的として、 添付ファイルとして送信する動画をカメラを使用して記録できるようにするために、マイクにアクセスする必要があります。」 | このキーは、カメラで動画を撮影し、それを添付するために必要となります。 |
上記の文字列は、あくまでも推奨されている説明文です。同様のローカライズが必要な場合には、お問い合わせください。
アプリでHelpshiftを初期化する
Helpshiftの名前空間
HelpshiftのAPIを使用するには、以下のようにHelpshiftの名前空間をインポートしてください
using Helpshift;
最初に、Helpshiftダッシュボードでアプリを作成します

選択した
PlatformにiOSを指定してアプリを作成します
Helpshiftは、登録済みの各種アプリを以下の2つのトークンの組み合わせによって一意に識別します。
Domain Name | これがあなたのHelpshiftドメイン名です。例: happyapps.helpshift.com |
Platform ID | あなたのアプリ固有のアプリID |
これらは、エージェントダッシュボードでSettings > SDK (for Developers)の順に移動して見つけることができます。
ドロップダウンで対象のアプリとcheck IOS as a platformを選択し、
Helpshiftを初期化する際に渡される2つのトークンをコピーします。

メソッド_install(appId, domain)_APIを呼び出し、Helpshiftを初期化します
using Helpshift;
public class MyGameControl : MonoBehaviour
{
private HelpshiftSdk help;
...
void Awake() {
help = HelpshiftSdk.GetInstance();
var configMap = new Dictionary<string, object>();
help.Install(appId, domainName, configMap);
}
...
}
中国向けのアプリでHelpshiftを初期化する
中国リージョン向けにHelphift SDKを統合するには、特別なインストール設定キーであるisForChinaを使用する必要があります。
この設定キーはブーリアン値を受け入れます。中国リージョン向けのアプリでSDKを統合する場合には、trueを渡してください。指定がない場合のデフォルト値は、falseです。
このキーを使用して適切な値を渡し、Helpshiftを初期化します。
using Helpshift;
public class MyGameControl : MonoBehaviour
{
private HelpshiftSdk help;
...
void Awake() {
help = HelpshiftSdk.GetInstance();
var configMap = new Dictionary<string, object>()
{
{ "isForChina", true },
};
help.Install(appId, domainName, configMap);
}
...
}
Helpshiftの使用を開始する
これでHelpshiftがアプリに統合されました。今後はアプリ内でサポートAPIを使用してHelpshift SDKで提供されている機能を体験してみてください。