従来の Analytics /Legacy Analytics
Analytics のイベントの制限
効率的で応答性に優れたサービスを維持するために、Analytics では、ゲームやアプリケーションの特定のインスタンスが送信できる標準イベントとカスタムイベントに対して制限を設けています。以下のような制限があります。
- 1 時間につき 100 イベントまで (ゲームのインスタンスごと)。
- 1 イベントにつき 10 パラメーターまで。
- 1 券のイベントで送信できるデータは 500 バイトまたは 500 文字まで (パラメーター名の文字列の長さ、および、パラメーター値のバイトサイズまたは文字列の長さを含む)。
- カスタムイベントの名前は 100 文字以内。
- Analytics ダッシュボードでは、特定の日に最も頻繁に使用されたイベント、パラメーター、パラメーター値の組み合わせ (分類可能なパラメーター値の) が 5000 件のみ表示されます。
イベントを送信するすべての AnalyticsEvent 関数は、AnalyticsResult 列挙型の値を返します。アプリケーションがいずれかの制限を超えると、発生した特定のエラーが AnalyticsResult 値によって示されます。
AnalyticsResult | LimitExceeded |
---|---|
AnalyticsResult.TooManyRequests | 1 時間につき 100 イベントまで |
AnalyticsResult.TooManyItems | 1 イベントにつき 10 パラメーターまで |
AnalyticsResult.SizeLimitReached | データは 500 バイトまで、イベント名は 100 文字以内 |
ノート: 1 インスタンスにつき 100 イベントまでという制限は、大部分の Unity Analytics ユーザーに適したデフォルトです。ゲームやアプリケーションのイベントの制限を引き上げる必要がある場合は、Analytics サポートチーム に連絡して、要件に適した制限を決定してください。
1 件のイベントのデータ制限
1 件のカスタムイベントまたは標準イベントの一部として、500 文字または 500 バイトまでのデータを送信できます。この制限は、すべてのパラメーター名の文字列の長さと、以下のパラメーター値のサイズ (データ型によって異なります) の組み合わせでカウントされます。
C# データ型 | サイズ |
---|---|
byte、ubyte | 1 |
short、ushort | 4 (int に変換) |
int、uint | 4 |
long、ulong | 8 |
float | 8 (double に変換) |
double | 8 |
decimal | 8 (double に変換) |
string | 文字列の長さ |
object | ToString() を呼び出した後の文字列の長さ |
COPPA /COPPA
COPPA とは、児童オンラインプライバシー保護法 (Children’s Online Privacy Protection Act) とその関連法規を指します。COPPA では、"13 歳未満の児童を対象とする" アプリケーション ("子供向けアプリケーション") の事業者に対する一定の義務が定められています。アプリケーションが子供向けであるかどうか、またはその他の COPPA の側面に関する疑問がある場合は、米国連邦取引委員会から提供されている資料 (一部は COPPA FAQ で見られます) を参照し、ご自身の法律顧問に相談してください。
Unity Analytics では、子供向けアプリケーションとして指定したアプリケーションからのデータの収集を、他のアプリケーションから収集されたデータとは異なる方法で扱います。アプリケーションが子供向けアプリケーションである場合は、エディターのサービスパネル内、Unity Ads パブリッシャーダッシュボードのプロジェクト作成プロセス、または Unity Ads パブリッシャー ダッシュボード のプロジェクト概要ページでそのように指定する必要があります。
ゲームの分析を提供するために、Unity Analytics は、ゲーム内の各ユーザーに対して匿名化したユーザー ID を生成します。Unity が、子供向けアプリケーションから生成されたこれらの ID を使用して、他の開発者によって作成されたアプリケーションにまたがってユーザーを追跡したり、同じコンピューター上の異なるサービス、デバイス、またはブラウザー間でユーザーをマップすることはありません。これらの ID に加えて、Unity Analytics は子供向けアプリケーションのユーザーから以下の個人情報も収集します: IP アドレス、広告主 ID (IDFA。Unity Ads も有効になっている場合にのみ収集されます)、デバイス ID (IDFV。Android デバイス ID か、Android デバイス ID が利用不可の場合は IMEI)。
Unity による上記の個人情報の使用は、アプリケーションの開発者向けにアプリケーションレベルの分析を提供すること、および、デバイス、アプリケーション、ゲーム業界に関する匿名化された集計レベルの情報 (例えば、特定の OS を使用しているデバイスの割合、地域別の特定のデバイスの割合など) を分析してレポートすることに限定されています。この集計レベルのデータには、個人情報は含まれません。また、子供向けアプリケーションで Unity Ads を有効にしている場合、Unity は、その子供向けアプリケーションから Unity Analytics が収集したユーザーに関する情報を使用して、その子供向けアプリケーション内にコンテキスト連動型広告を表示することがあります。
GDPR /GDPR
一般データ保護規則 (GDPR) は、EU (欧州連合) 市民のデータプライバシーを規制する EU の規則です。
- EU の GDPR の詳細については、https://www.eugdpr.org を参照してください
- Unity と GDPR の情報については、https://unity3d.com/legal/gdpr を参照してください
- Unity 固有のプライバシーポリシーについては、https://unity3d.com/legal/privacy-policy を参照してください。
Unity Analytics を使用する際に GDPR への準拠を維持することは、共同責任です。Unity は、広告とゲームプレイでプレイヤーの体験改善に役立つデータを収集します。そうしたデータの中には、GDPR の規制対象となる PII (個人を特定できる情報) もあります。Unity は GDPR の規定に従って、プレイヤーが PII の収集をオプトアウトするためのツールと、自身に関して Unity が収集する個人データを管理するためのツールを提供しています。アプリケーションにオプトアウトボタンを追加すること、およびお客様独自のプライバシーポリシーから Unity のプライバシーポリシーへのリンクを提供することはお客様の責任となります。
アプリケーションで Unity Ads を使用する場合、Unity は、プレイヤーの携帯電話に最初に広告が表示されるときに、個人を特定できる情報の収集のオプトインまたはオプトアウトを選択できる通知を表示します。後続の広告には、ユーザーがデータプライバシーオプションを管理するために使用できるボタンも表示されます。GDPR と Unity Ads SDK の詳細については、GDPR への準拠 を参照してください。
Unity Ads と Analytics の両方を使用している場合、Unity Ads のオプトアウトメカニズムは両方のサービスに適用されます。
Unity Ads は使用しないが、Unity Analytics、IAP、Multiplayer、Performance Reporting などの他の Unity サービスを使用する場合は、Unity Analytics Data Privacy プラグインを使用してプレイヤーにオプトアウトの選択肢を提供する必要があります。このプラグインでは、ゲームに追加できる、プレイヤーが自身のプライバシー設定を管理できる Unity のウェブページが開くボタンが提供されます。プレイヤーはゲームごと、デバイスごとに自身の設定を管理します。Unity Analytics は、同じプレイヤーが複数の Made with Unity ゲームをプレイするかどうか、または、複数のデバイスで同じゲームをプレイするかどうかを追跡しません。
上記のオプションは、Unity が Ads とプレイヤー向けサービスをカスタマイズするために収集するすべてのデータを対象としています。ただし、個人を特定できるデータをお客様が独自に収集する場合、そのデータを保護および管理する責任はお客様にあります。
推奨ガイド:
- 法的助言は、お客様ご自身で求めてください。このドキュメントのいかなる内容も、法的助言として解釈されるべきものではありません。
- Data Processing Addendum (DPA) を読んで理解してください。
- お客様のプライバシーポリシーに、データを収集するサードパーティとして Unity を記載し、Unity の プライバシーポリシー へのリンクを加えてください。
- 個人を特定できる情報を、Unity Analytics に標準イベントまたはカスタムイベントで送信しないでください。
Analytics.SetUserGender()
またはAnalytics.SetUserBirthYear()
を使用して、性別や年齢の情報を Unity Analytics に送信しないでください。これらの API は廃止予定です。
Unity Analytics Data Privacy プラグイン
Unity Ads を使用しない場合は、Unity Analytics Data Privacy プラグインを使用して、プレイヤーが Unity Analytics のデータ収集をコントロールできるようにする必要があります。
Data Privacy プラグインは Unity Analytics Library パッケージの一部です。Unity Package Manager (メニュー: Window (ウィンドウ) > Package Manager (パッケージマネージャー) を使用して、プロジェクトでこのパッケージが有効になっていることを再確認できます。
このプラグインは、以下のプラットフォームをサポートしていません。
- Linux
- Windows Phone
- Tizen
- Apple TV
- Blackberry
Unity Analytics サービスは、これらのプラットフォームで実行されているゲームから送信された、個人を特定できる情報を自動的に削除します。ご質問がある場合は、DPO@unity3d.com までお問い合わせください。
ゲームに Unity Ads ネットワークから広告を表示する場合は、Unity Ads SDK が既にデータ収集のオプトアウトの選択肢をプレイヤーに表示しており、プレイヤーのデータプライバシーの選択に基づいて Unity Analytics を設定します。Unity Analytics Data Privacy プラグインを使用する必要があるのは、Unity Ads サービスを使用しない場合のみです。
ノート: 2018.3 より前のバージョンの Unity では、Unity Asset Store の Unity Analytics Data Privacy Asset Store パッケージを使用する必要があります。Asset Store バージョンは、Unity 4.7、5.1+、2017.1+、2018.1、および 2018.2 で使用できます。
プレイヤーへのオプトアウトの選択肢の提示
Data Privacy プラグインには Unity UI ボタンプレハブが含まれており、ユーザーインターフェース内の適切な場所に配置できます。プレイヤーがこのボタンをクリックすると、ウェブブラウザーでプレイヤーのデータプライバシーのページが開きます。プレイヤーはこのページで Unity のデータ収集をオプトアウトしたり、Unity が過去に収集したデータを表示したりできます。独自のユーザーインターフェースを提供し、API を使用してプレイヤーのデータプライバシーのページを開くこともできます。
重要: プレイヤーがブラウザーのポップアップブロッカーを有効にしている場合、ブラウザーでデータプライバシーのページが開かなくなることがあります。ブラウザーによってはページがブロックされていることが通知されますが、まったく通知されないブラウザーもあります。ユーザーインターフェースに、ポップアップブロッカーによってページが開かなくなる可能性があることをプレイヤーに警告するメッセージを追加することを検討してください。
方法 1: Unity UI を使用する
- Canvas を追加すると、Unity によって自動的に EventSystem が追加されます。
- DataPrivacyButton プレハブを、シーン内の Canvas ゲームオブジェクトにドラッグします。このプレハブは Project ウィンドウの Packages/Analytics Library/DataPrivacy フォルダーにあります。
- ボタンの位置、グラフィックス、テキストを適宜調整します。
- ボタンは既に Data Privacy API に接続されているため、プレイヤーがボタンをクリックするとプレイヤーの個人データ管理ページが開きます。このページはウェブブラウザーで開きます。
ノート: Packages フォルダーの下にあるボタンプレハブのバージョンは読み取り専用です。Scene 階層内のボタンのインスタンスに変更を加えることはできますが、その変更を元のプレハブに保存することはできません。
方法 2: 独自の UI を使用する
ボタンに独自のユーザーインターフェースを使用するには、ユーザーのデータオプトアウトページの URL をリクエストし、その URL をブラウザーまたはウェブビューで開きます。
- データ収集をオプトアウトできることをプレイヤーに通知する独自の UI コントロールを作成します。ノート: Data Privacy プラグインでは、Packages/Analytics Library/DataPrivacy フォルダーにアイコンがあります。Unity では、Unity のゲームでプレイヤーにデータプライバシーのコントロールが表示されたときに一貫性のあるグラフィカルな合図となるように、データプライバシーボタン (または類似のコントロール) でこのアイコンを使用することを推奨しています。
- プレイヤーのクリックまたはこのコントロールとのインタラクションに応答して、
DataPrivacy.FetchPrivacyUrl()
関数を呼び出します。この関数は、ネットワークリクエストが完了したときに呼び出す、Action<string>
オブジェクトを受け取ります。任意で、ネットワークリクエストが失敗した場合に対処するための 2 つめのAction<string>
を渡すこともできます。 FetchPrivacyUrl()
リクエストのハンドラーでApplication.OpenURL()
を使用して、受け取った URL をブラウザーで開きます。
例えば、以下のスクリプトは、ゲームオブジェクトのクリックに応答してプレイヤーのデータプライバシーのページを開きます。
using System;
using UnityEngine;
using UnityEngine.Analytics;
public class OptOutHandler : MonoBehaviour {
static void OnFailure(string reason)
{
Debug.LogWarning(String.Format("Failed to get data privacy page URL: {0}", reason));
}
void OnURLReceived(string url)
{
Application.OpenURL(url);
}
public void OpenDataURL()
{
DataPrivacy.FetchPrivacyUrl(OnURLReceived, OnFailure);
}
void OnMouseOver(){
if(Input.GetMouseButtonUp(0)){
OpenDataURL();
}
}
}
PIPL /PIPL
DataPrivacy
クラスは、プレイヤーのデータプライバシー管理の選択に基づいて Unity Analytics サービスを設定します。
名前空間: UnityEngine.Analytics
public class DataPrivacy
DataPrivacy
クラスは、プレイヤーのデータプライバシーステータスを自動的にフェッチし、それに従って Analytics サービスを設定します。
FetchPrivacyUrl()
関数を使用して、プレイヤーの個人データ管理ページの URL をフェッチします。その URL を開き、データプライバシー設定を管理するオプションをプレイヤーに提示します。
このページでは、以下の関数について詳しく説明します。
- Initialize() - Data Privacy API を使用する準備を行います (Unity 5.1 以前)。
- FetchPrivacyUrl(Action, Action) - プレイヤーの個人データ管理ページの URL を取得します。
Initialize()
Data Privacy API を使用する準備を行います。
宣言
public static void Initialize()
詳細
この関数は、非表示のゲームオブジェクトを作成し、それに DataPrivacy
クラスのインスタンスをコンポーネントとして追加します。
Unity 5.1 以前では、アプリケーション起動の早期 (理想としては UnityAnalytics.StartSDK (projectId)
の呼び出し直後) に Initialize()
を呼び出します。新しいバージョンの Unity では Initialize()
が自動的に呼び出されます。
FetchPrivacyUrl(Action, Action)
プレイヤーの個人データ管理ページの URL を取得します。
宣言
public static void FetchPrivacyUrl(Action<string> success, Action<string> failure = null)
パラメーター
Action<String>
success — URL が正常に取得されたときに呼び出す Action オブジェクト。Action に渡される文字列には URL が含まれます。- [任意]
Action<String> failure
— Unity が URL を取得できないときに呼び出す Action オブジェクト。Action に渡される文字列にはエラーの理由が含まれます。
詳細
success
関数に渡された URL をブラウザーまたはウェブビューで開き、データ保護オプションを管理する機会をプレイヤーに提供します。Application.OpenURL()
を使用してページを開くことができます。
この URL は短期間のみ有効です。常に、開く直前に URL をフェッチしてください。
このドキュメントで答えが見つからない疑問がある場合は、Unity フォーラム で質問してください。