User Messaging Platform SDK を設定する

[プラットフォームを選択]: Android(ベータ版) 新規 Android iOS Unity Flutter

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

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

Ad Manager アカウントの [Privacy & messaging] タブで、[Available user message types] を使用してユーザー メッセージを作成します。UMP SDK は、プロジェクトで設定されたアド マネージャー アプリケーション 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 をご覧ください。