PIPL への準拠

重要な注意事項: UGS Analytics では、Unity Ads とは別のプライバシーソリューションを実装する必要があります。そのため、Unity Ads と UGS Analytics の両方を使用している場合、Unity Ads のオプトアウトメカニズムは両方のサービスには適用されません。

重要な注意事項: 以下のガイダンスは、バージョン 4.4.2 以下の SDK に関するものです。できるだけ早くバージョン 5.0.0 にアップグレードすることをお勧めします。詳細については、移行ガイド を参照してください。

中国の新しいデータプライバシー法 (個人情報保護法) は 2021 年 11 月 1 日に発効しました。個人情報とは、名前や住所など個人を特定できるデータです。電子的に、またはその他の方法で格納されます。機密とされる個人情報は、生体認証、性自認、宗教的信念、病歴、財政状態、および 14 歳未満のすべての個人情報です。

PIPL は、分析がプライバシーを侵害するかどうかに関係なくオプトインに基づく規制であり、プレイヤーは自身のデータの収集および自身のデータの中国国外への転送をオプトインする必要があります。Analytics サービスの 1 つとして、ユーザーが現在中国にいるかどうかを判定するジオロケーション API 呼び出しが提供されており、中国にいる場合はユーザーの同意をリクエストする必要があります。同意が得られた場合は、データの収集を有効にするフラグを設定できます。

旧バージョン (バージョン 3.0 未満) の SDK では、地理的位置に厳密に基づいて、影響を受ける地域のユーザーからデータを収集しなくなりました。集約された履歴データは失われませんが、これらの地域にプレイヤーがいる場合は、DAU などのコア指標が低下します。

バージョン 3.0 以上では、プレイヤーがデータ収集をオプトインするための適切な同意フラグを Analytics パッケージに渡す開発者機能を用意しています。

ノート: REST API を使用している場合は、PIPL についての同意の送信 に関する説明を参照してください。

PIPL についての同意

PIPL は、オプトインに基づく規制です。GDPR や CCPA と同様に、PIPL 規制に対しても CheckForRequiredConsents が必要です。以下のように if ステートメントを追加する必要があります。

string consentIdentifier;
bool isOptInConsentRequired;
async void Start()
   {
       try
       {
           await UnityServices.InitializeAsync();
           List<string> consentIdentifiers = await AnalyticsService.Instance.CheckForRequiredConsents();
           if (consentIdentifiers.Count > 0)
           {
               consentIdentifier = consentIdentifiers[0];
               isOptInConsentRequired = consentIdentifier == "pipl";
           }
       }
       catch (ConsentCheckException e)
       {
           // Something went wrong when checking the GeoIP, check the e.Reason and handle appropriately
       }
   }

PIPL として返される場合、この関数は 1 つの文字列識別子 "pipl" を持つリストを返します。

その後、SDK で他のアクションがトリガーされる前に、ユーザーに同意を求める必要があります。以下のように ProvideOptInConsent メソッドを使用して、同意または拒否を設定できます。

public void CheckUserConsent()
   {
       try
       {
           if (isOptInConsentRequired)
           {
               // Show a PIPL consent flow
               // ...

               // If consent is provided for both use and export
               AnalyticsService.Instance.ProvideOptInConsent(consentIdentifier, true);

               // If consent is not provided
               AnalyticsService.Instance.ProvideOptInConsent(consentIdentifier, false);
           }
       }
       catch (ConsentCheckException e)
       {
           // Handle the exception by checking e.Reason
       }
   }
}

Unity の PIPL への取り組み の詳細については、Unity の法務関連のサイトを参照してください。

オプトアウト

ユーザーが後でオプトアウトしたい場合は、public void OptOut() を使用して、該当するすべての規制に対して同じ方法でオプトアウトできます。

bool consentHasBeenChecked;
public void OptOut()
    {
        try
        {
            if (!consentHasBeenChecked)
            {
                // Show a GDPR/COPPA/other opt-out consent flow
                // If a user opts out
                AnalyticsService.Instance.OptOut();
             }
             // Record that we have checked a user's consent, so we don't repeat the flow unnecessarily.
             // In a real game, use PlayerPrefs or an equivalent to persist this state between sessions
            consentHasBeenChecked = true;
        }
        catch (ConsentCheckException e)
        {
            // Handle the exception by checking e.Reason
        }
  }

プライバシー URL

ユーザーにプライバシー URL を提示する必要もあります。

プライバシー URL を取得するには、Application.OpenURL(AnalyticsService.Instance.PrivacyUrl); を使用します。

再オプトイン

再オプトインするには、以下の 3 つの方法があります。

  1. PlayerPrefs を削除してアプリケーションを再起動する。
  2. アプリケーションのすべてのデータとキャッシュをクリアする。
  3. アプリケーションをアンインストールし、再インストールする。

ノート: geoIP の呼び出しで PIPL が返された場合、SDK は明示的なオプトインが指定されるまで休止状態のままになります。エンドユーザーにまでそれを求めるのは PIPL のみです。他の規制は内部的に承諾され、デフォルトオプトイン、明示的オプトアウトの状況を前提としています。