その他の SDK 設定

ユーザー ID 設定

サーバー間コールバックを使用して動画リワード広告ユニットでユーザーにリワードを提供している場合、または Ad Quality ユーザージャーニーを使用する場合は、setUserID メソッドを使用して各ユーザーにユニークな識別子( UserID )を定義する必要があります。
userID 設定はユーザーデータのロスを防ぐため、init リクエストの前に行う必要があります。userID には 1 〜 64 文字のユニークな英数字を使用してください。 ( Android は String 、iOS は NSString )

IronSource.Agent.setUserId(YOUR_USER_ID);
Note: 全てのユーザーにユニークな ID を設定できる事を保証するため、ID に IDFA や GAID は使用しないでください。

セグメントの定義

特定のオーディエンスに合わせて広告の配信方法を簡単にカスタマイズできるようになりました。ユーザーが属するセグメントに従って SDK が広告を配信できるように、ユーザーの詳細を ironSource のサーバーに通知する必要があります。

ironSource SDK は、ユーザーセグメントのアウトラインのために、以下の3つの方法で ironSource サーバーへデータを送信することができます:

  • デバイスのプロパティ:ironSource SDK は、位置情報、デバイスモデル、デバイスの製造元、アプリのバージョン、OS など、ユーザーのデバイスに関連する特定の標準パラメーターを自動的に収集します。したがって、このデータを手動で送信する必要はありません。
  • ユーザープロパティ:年齢、性別、作成日などの包括的なユーザーデータ(サポートされている全てのセグメントプロパティのリストと以下の説明を参照)は、API で中継する必要があります。LevelPlay プラットフォームで定義したセグメントに基づいて SDK がさまざまなユーザーを分類できるよう、指示に従ってユーザーの詳細を送信してください。
  • カスタムセグメント:ユーザーの詳細をサーバーに伝達せずに、事前定義された条件でカスタムセグメントを作成し、ironSource プラットフォームでそのユーザーセグメントの広告設定をカスタマイズすることができます。
ダイナミックセグメント ironSource SDK 7.2.0+ を使用している場合は、ISSegment API を使用してセッション中にセグメントを変更できます。
これは次に読み込まれる広告に影響するので、各広告ユニットを読み込む前に呼び出してウォーターフォールに動的に影響を与えることができます。 LevelPlay セグメントの詳細については、こちらをご覧ください。

ユーザープロパティを渡す

LevelPlay プラットフォームでセグメントを定義したら、サーバーにユーザーの詳細を通知する必要があります。

セグメントのベースとするための、サーバーに送信するプロパティを定義します。この情報は、次のいずれかの方法で送信できます:

  1. ユーザーが属するセグメントが分かる場合は、セグメント名を入力します:
    IronSourceSegment segment = new IronSourceSegment ();
    segment.segmentName = "nameOfSegment";
    
  2. ユーザーの詳細を送信します。ironSource は、セグメントにユーザーを関連付けるために設定できる一連の標準ユーザープロパティをAPIで提供します。下にスクロールして、サポートユーザーセグメントのプロパティの表をご覧ください。
    // Create segment object
    IronSourceSegment segment = new IronSourceSegment ();
    // Set user age
    segment.age = age;
    // Set user gender
    segment.gender = "gender";
    // Set user's level
    segment.level = levelnumber;
    // Set user creation date
    segment.userCreationDate=creationData
    // Set user's total in-app purchases
    segment.iapt = numberOfInAppPurchases;
    // Set user's paying status, 1 is yes 0 is no
    segment.isPaying = payingStatus;

    In addition, you can set up to 5 custom user properties per segment:

    // Set custom parameters (up to 5)
    Dictionary<string,string> customParams = new Dictionary<string,string> ();
    customParams.Add ("customKey", "value");
    segment.customs = customParams;
    

次に、セグメントに基づいて広告ユニットを配信し、ユーザーの広告体験を調整するには、セグメント名またはユーザープロパティを設定し、次の関数を呼び出します:

IronSource.Agent.setSegment (segment);

サポートされているユーザーセグメントのプロパティ

Segment Properties Type Limitation Description
segmentName String
  • 英数字
  • 32 文字まで
LevelPlay アカウントで設定したセグメント名
Age Int 1-99 ユーザーの年齢
Gender String female または male ユーザーの性別
Paying Boolean True または False
  • アプリ内課金で購入した事がある場合は True
  • アプリ内課金で購入した事がない場合は False
iap_total Double 1-999999.99 ユーザーがアプリ内課金に費やした累計金額
userCreationDate Long 0 または 0 以上 ユーザーがアプリをインストールした日付のミリ秒
Custom Parameters key=string, value=string
  • ironSource は最大五つのカスタムパラメータをサポートします
  • 英数字
  • 32 文字まで
サーバーに送信したい追加データ

次のコールバックを登録して、ユーザーが属するセグメント名を受け取ります。返されたコールバック文字列(セグメント名)が空の場合、ironSource セグメントモジュールでユーザーの相関セグメントが見つからなかったことを示しています。

 IronSourceEvents.onSegmentReceivedEvent += SegmentReceivedEvent;

Unity のカスタムパラメーター

ironSource SDK は、動画リワードとオファーウォールのカスタムパラメーターをサポートします。広告ユニットの初期化時にカスタムパラメータを渡し、ユーザーの完了イベント時にパラメータを受け取ることができます。
LevelPlay メディエーションプラットフォーム上のすべてのメディエーションネットワークにカスタムパラメータを渡すことができます。

Note:
  1. カスタムパラメーターは、サーバー間の完了コールバックとのみ連携して機能し、コールバック文字列の一部としてパラメータを受け取ります。
  2. init リクエストに複数のカスタムパラメータを挿入できます。

実装コード

動画リワード

Note:
  • カスタムパラメータは、セッションごとに複数回設定できます。
  • 値をリセットするには、clearRewardedVideoServerParams を使用してから、新しい値を設定します。
IronSource.Agent.setRewardedVideoServerParams(Dictionary<string, string> parameters);
IronSource.Agent.clearRewardedVideoServerParams();

オファーウォール

Note:
  • showOfferwall を呼び出す前に、カスタムパラメータをセットする必要があります。
Dictionary<string, string> owParams = new Dictionary<string, string>();
owParams.Add(“key1”, “value1");
owParams.Add(“key2”, “value2");
IronSourceConfig.Instance.setOfferwallCustomParams (owParams);

実装例

たとえば、オファーウォールを使用したユーザーの IP を受け取りたい場合は、これを完了コールバックの追加パラメーターとして追加できます:

Dictionary<string, string> owParams = new Dictionary<string, string>();
owParams.Add("ip", "1.0.0.9");
IronSourceConfig.Instance.setOfferwallCustomParams (owParams);

次に、以下に例示するように、対応するコールバックを受け取ります:

http://www.mydomain.com/rewardsCallback?appUserId=[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]&itemName=[ITEM_NAME]&custom_ip=1.0.0.9

Pause Game

setPauseGame API は、ironSource Unity SDK 7.2.4 で導入され、iOS アプリのみに対応しています。

PauseGame ステータスを「 true 」に設定すると、すべての Unity 3D ゲームアクティビティが一時停止されます (広告のコールバックを除く)。広告を閉じると、ゲーム アクティビティが自動的に再開されます。

セッション内のすべての広告 (動画リワードおよびインタースティシャル広告) に影響するため、ironSource SDK を初期化する前または後に setPauseGame API はセッション内で一回呼ぶ必要があります。

IronSource.Agent.SetPauseGame(true);

SetPauseGame を false に設定することで、この機能をそのセッション内で無効にする事ができます。

IronSource.Agent.SetPauseGame(false);

ウォーターフォールコンフィギュレーションを使用した価格制限( beta )

ウォーターフォールコンフィギュレーションは、ウォーターフォールの上限価格と下限価格の制限を動的に設定する事ができる API です。これを使用して設定された制限は、ユーザーごとに返されるウォーターフォールに対して動的に作用し、ロード時間やレイテンシーを短縮する事ができます。

制限設定には以下のパラメータが含まれ、これらを任意に組み合わせることもできます:

プロパティ 説明
ceiling double Non-bidder インスタンスに適用される最大 eCPM を定義する米ドルでの価格
floor double Non-bidder インスタンスとBidder インスタンスに適用される最小 eCPM を定義する米ドルでの価格

ウォーターフォールコンフィギュレーションを作成する

WaterfallConfiguration クラスは、ウォーターフォールをカスタマイズまたはフィルタリングするための構成オブジェクトを表します。

ウォーターフォールコンフィギュレーションを作成するには、WaterallConfigurationBuilder を定義します:

// Build the WaterfallConfiguration and add data to constrain or control a waterfall
WaterfallConfiguration config = WaterfallConfiguration.Builder()
            .SetCeiling(ceiling)
            .SetFloor(floor)
            .Build();
// set a configuration for an ad unit
IronSource.Agent.SetWaterfallConfiguration(config, AdFormat.adFormat);

ウォーターフォールコンフィギュレーションをリセットする

セッション中にウォーターフォールコンフィギュレーションを変更することができます。特定の広告ユニットの設定をリセットするには、WaterfallConfiguration.Empty() 関数を使用します:

IronSource.Agent.SetWaterfallConfiguration(WaterfallConfiguration.Empty(), AdFormat.adFormat);

ウォーターフォールコンフィギュレーションを上書きする

構築された WaterfallConfiguration は不変であるため、既存の設定を変更するには、新しいウォーターフォールコンフィギュレーションを作成する必要があります。ビルダーをインライン化し、ビルダーパターンに合わせて定義を設定することもできます。

...
IronSource.Agent.SetWaterfallConfiguration(waterfallconfiguration, AdFormat.RewardedVideo);
WaterfallConfiguration waterfallConfiguration2 = WaterfallConfiguration.Builder()
  .SetFloor(ceiling)
  .SetCeiling(floor)
  .Build();
IronSource.Agent.SetWaterfallConfiguration(waterfallConfiguration2, AdFormat.RewardedVideo);

ironSource SDK エラーコード

ironSource は、SDK 実装失敗の説明を提供するエラーフィードバックメカニズムを提供します。何か問題が発生した場合、またはインテグレーションの一部が正しく完了しなかった場合に、これらのエラーが発生します。

ironSource Error オブジェクトには、error codemessage が含まれています。以下これらはすべて、考えられるエラーとその機能に基づくメッセージです:

Error Codes Ad Unit Description
508 N/A • メディエーション・ネットワークの初期化失敗
• Demand Only モード以外で Demand Only API が呼ばれた
• Demand Only モードで Demand Only ではない API が呼ばれた
509 Interstitial 表示失敗:表示できる広告が無い
Rewarded Video
Offerwall
510 Interstitial ロード失敗:サーバーレスポンス失敗
Rewarded Video
Banner
520 Interstitial 表示失敗:インターネット接続無し( ShouldTrackNetworkState が有効の場合)
Rewarded Video 表示失敗:インターネット接続無し
Offerwall
524 Interstitial 表示失敗:プレースメントがペーシング制限に達している
表示失敗:プレースメントがキャッピング制限に達している
Rewarded Video
Offerwall
526 Interstitial 表示失敗:広告ユニットが一日のキャッピング制限に達している
Rewarded Video
1007 Interstitial オークション失敗:オークションリクエストに必要な情報を全て含まれていない
Rewarded Video
1022 Rewarded Video 表示失敗:RV 表示中に新たな RV の表示は不可
1023 Rewarded Video 表示失敗:表示できる広告がない時に Show RV が呼ばれた
1036 Interstitial 表示失敗:インタースティシャルの表示中に新たなインタースティシャルの表示は不可
1037 Interstitial ロード失敗:インタースティシャルの表示中に新たなインタースティシャルのロードは不可
1055 Rewarded Video ロード失敗:タイムアウトによるロードキャンセル
1056 Rewarded Video ロード失敗: RV の表示中に新たな RV のロードは不可