UMP SDK を設定する

プラットフォームを選択: Android 新規 Android iOS Unity Flutter

Google User Messaging Platform(UMP)SDK は、プライバシー設定の管理に役立つプライバシーとメッセージングのツールです。詳しくは、 プライバシーとメッセージについてをご覧ください。

メッセージ タイプを作成する

AdMob アカウントの [**プライバシーとメッセージ**] タブで、[利用可能なユーザー向けメッセージ タイプ]を使用してユーザー向けメッセージを作成します。UMP SDK は、プロジェクトで設定された AdMob アプリケーション ID から作成されたプライバシー メッセージを表示しようとします。

詳しくは、 プライバシーとメッセージについてをご覧ください。

アプリの起動ごとに Update() を使用して、ユーザーの同意情報の更新をリクエストする必要があります。このリクエストでは、次の点が確認されます。

  • 同意が必要かどうか 。たとえば、初回の場合や、以前の同意の決定が期限切れになった場合などです。
  • プライバシー オプションのエントリ ポイントが必要かどうか 。一部のプライバシー メッセージでは、ユーザーがいつでもプライバシー オプションを変更できるようにする必要があります。
void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters requestParameters = new ConsentRequestParameters();

    // Request an update of the user's consent information.
    ConsentInformation.Update(requestParameters, OnConsentInfoUpdated);
}

プライバシー メッセージ フォームを読み込んで表示する

最新の同意ステータスを取得したら、LoadAndShowConsentFormIfRequired() を呼び出して、ユーザーの同意の収集に必要なフォームを読み込みます。読み込み後、フォームがすぐに表示されます。

ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
    if (formError != null)
    {
        // Consent gathering failed.
        Debug.LogError("Error loading/showing consent form: " + formError.Message);
    }

    // ...
});

プライバシー オプション

一部のプライバシー メッセージ フォームは、パブリッシャー レンダリングのプライバシー オプションのエントリ ポイントから表示され、ユーザーはいつでもプライバシー オプションを管理できます。 プライバシー オプションの エントリ ポイントでユーザーに表示されるメッセージについて詳しくは、 利用可能なユーザー向けメッセージ タイプをご覧ください。

プライバシー オプションのエントリ ポイントが必要かどうかを確認する

Update() を呼び出したら、 PrivacyOptionsRequirementStatus を確認して、アプリにプライバシー オプションのエントリ ポイントが必要かどうかを判断します。エントリ ポイントが必要な場合は、プライバシー オプション フォームを表示する、表示可能で操作可能な UI 要素をアプリに追加します。プライバシー エントリ ポイントが不要な場合は、UI 要素が表示されず、操作できないように設定します。

void UpdatePrivacyButton()
{
    if (_privacyButton != null)
    {
        // Enable the button only if a privacy options entry point is required.
        _privacyButton.interactable =
            ConsentInformation.PrivacyOptionsRequirementStatus == PrivacyOptionsRequirementStatus.Required;
    }
}

プライバシー オプションの要件ステータスの完全なリストについては、 ConsentInformation.PrivacyOptionsRequirementStatus をご覧ください。

プライバシー オプション フォームを表示する

ユーザーが要素を操作すると、プライバシー オプション フォームが表示されます。

public void ShowPrivacyOptionsForm()
{
    ConsentForm.ShowPrivacyOptionsForm((FormError showError) =>
    {
        if (showError != null)
        {
            Debug.LogError("Error showing privacy options form: " + showError.Message);
        }
    });
}

ユーザーの同意を得て広告をリクエストする

広告をリクエストする前に、 CanRequestAds() を使用して、ユーザーから同意を得ているかどうかを 確認します。

ConsentInformation.CanRequestAds()

同意を収集しながら広告をリクエストできるかどうかを確認する場所は次のとおりです。

  • UMP SDK が現在のセッションで同意を収集した後。
  • Update() を呼び出した直後。UMP SDK は、以前のアプリ セッションで同意を取得している可能性があります。

同意収集プロセス中にエラーが発生した場合は、広告をリクエストできるかどうかを確認します。UMP SDK は、以前のアプリ セッションの同意ステータスを使用します。

重複する広告リクエスト作業を回避する

同意を収集した後と Update()を呼び出した後に CanRequestAds()を確認する場合は、両方のチェックでtrueが返される可能性がある重複する広告リクエストを ロジックで回避してください。たとえば、ブール変数を使用します。

テスト

開発中のアプリで統合をテストする場合は、次の手順に沿ってプログラムでテストデバイスを登録します。アプリをリリースする前に、テストデバイス ID を設定するコードを必ず削除してください。

  1. Update() を呼び出します。
  2. ログ出力で、次のようなメッセージを確認します。ここには、デバイス ID とテストデバイスとしてデバイスを追加する方法が示されています。

    Android

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231")
    to set this as a debug device.
    

    iOS

    <UMP SDK>To enable debug mode for this device,
    set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
    
  3. テストデバイスの ID をクリップボードにコピーします。

  4. コードに変更を加え、 DebugGeography.TestDeviceHashedIds を呼び出し、 テストデバイスのデバイス ID のリストに渡します。

    void Start()
    {
        var debugSettings = new ConsentDebugSettings
        {
            TestDeviceHashedIds =
            new List<string>
            {
                "TEST-DEVICE-HASHED-ID"
            }
        };
    
        // Create a ConsentRequestParameters object.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            ConsentDebugSettings = debugSettings,
        };
    
        // Check the current consent information status.
        ConsentInformation.Update(request, OnConsentInfoUpdated);
    }
    

地域を強制的に適用する

UMP SDK では、デバイスが欧州経済領域(EEA)、英国、スイスなど、さまざまな地域にあるかのようにアプリの動作をテストできます。DebugGeographyデバッグ設定はテスト用デバイスでのみ機能します。

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

UMP SDK でアプリをテストする際、ユーザーの初回インストール エクスペリエンスをシミュレーションできるように、SDK の状態をリセットすると便利な場合があります。 SDK には、これを行うための Reset() メソッドが用意されています。

ConsentInformation.Reset();

GitHub の例

このページで説明する UMP SDK 統合例の全文については、HelloWorld をご覧ください。