その他の SDK 設定
ユーザー ID 設定
サーバー間コールバックを使用して動画リワード広告ユニットでユーザーにリワードを提供している場合、または Ad Quality ユーザージャーニーを使用する場合は、setUserID メソッドを使用して各ユーザーにユニークな識別子( UserID )を定義する必要があります。
userID 設定はユーザーデータのロスを防ぐため、init リクエストの前に行う必要があります。userID には 1 〜 64 文字のユニークな英数字を使用してください。 ( Android は String 、iOS は NSString )
IronSource.Agent.setUserId(YOUR_USER_ID);
セグメントの定義
特定のオーディエンスに合わせて広告の配信方法を簡単にカスタマイズできるようになりました。ユーザーが属するセグメントに従って SDK が広告を配信できるように、ユーザーの詳細を ironSource のサーバーに通知する必要があります。
ironSource SDK は、ユーザーセグメントのアウトラインのために、以下の3つの方法で ironSource サーバーへデータを送信することができます:
- デバイスのプロパティ:ironSource SDK は、位置情報、デバイスモデル、デバイスの製造元、アプリのバージョン、OS など、ユーザーのデバイスに関連する特定の標準パラメーターを自動的に収集します。したがって、このデータを手動で送信する必要はありません。
- ユーザープロパティ:年齢、性別、作成日などの包括的なユーザーデータ(サポートされている全てのセグメントプロパティのリストと以下の説明を参照)は、API で中継する必要があります。LevelPlay プラットフォームで定義したセグメントに基づいて SDK がさまざまなユーザーを分類できるよう、指示に従ってユーザーの詳細を送信してください。
- カスタムセグメント:ユーザーの詳細をサーバーに伝達せずに、事前定義された条件でカスタムセグメントを作成し、ironSource プラットフォームでそのユーザーセグメントの広告設定をカスタマイズすることができます。
これは次に読み込まれる広告に影響するので、各広告ユニットを読み込む前に呼び出してウォーターフォールに動的に影響を与えることができます。 LevelPlay セグメントの詳細については、こちらをご覧ください。
ユーザープロパティを渡す
LevelPlay プラットフォームでセグメントを定義したら、サーバーにユーザーの詳細を通知する必要があります。
セグメントのベースとするための、サーバーに送信するプロパティを定義します。この情報は、次のいずれかの方法で送信できます:
- ユーザーが属するセグメントが分かる場合は、セグメント名を入力します:
IronSourceSegment segment = new IronSourceSegment (); segment.segmentName = "nameOfSegment";
- ユーザーの詳細を送信します。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 |
|
LevelPlay アカウントで設定したセグメント名 |
Age | Int | 1-99 | ユーザーの年齢 |
Gender | String | female または male | ユーザーの性別 |
Paying | Boolean | True または False |
|
iap_total | Double | 1-999999.99 | ユーザーがアプリ内課金に費やした累計金額 |
userCreationDate | Long | 0 または 0 以上 | ユーザーがアプリをインストールした日付のミリ秒 |
Custom Parameters | key=string, value=string |
|
サーバーに送信したい追加データ |
次のコールバックを登録して、ユーザーが属するセグメント名を受け取ります。返されたコールバック文字列(セグメント名)が空の場合、ironSource セグメントモジュールでユーザーの相関セグメントが見つからなかったことを示しています。
IronSourceEvents.onSegmentReceivedEvent += SegmentReceivedEvent;
Unity のカスタムパラメーター
ironSource SDK は、動画リワードのカスタムパラメーターをサポートします。広告ユニットの初期化時にカスタムパラメータを渡し、ユーザーの完了イベント時にパラメータを受け取ることができます。
LevelPlay メディエーションプラットフォーム上のすべてのメディエーションネットワークにカスタムパラメータを渡すことができます。
- カスタムパラメーターは、サーバー間の完了コールバックとのみ連携して機能し、コールバック文字列の一部としてパラメータを受け取ります。
- init リクエストに複数のカスタムパラメータを挿入できます。
実装コード
動画リワード
- カスタムパラメータは、セッションごとに複数回設定できます。
- 値をリセットするには、clearRewardedVideoServerParams を使用してから、新しい値を設定します。
IronSource.Agent.setRewardedVideoServerParams(Dictionary<string, string> parameters);
IronSource.Agent.clearRewardedVideoServerParams();
Pause Game
SetPauseGame API は、LevelPlay SDK バージョン 8.5.0 の一部として LevelPlay Class に導入され、iOS アプリのみに対応しています。
PauseGame ステータスを「 true 」に設定すると、すべての Unity 3D ゲームアクティビティが一時停止されます (広告のコールバックを除く)。広告を閉じると、ゲームアクティビティが自動的に再開されます。
セッション内のすべての広告 (動画リワードおよびインタースティシャルのマルチ広告ユニット API) に影響するため、ironSource SDK を初期化する前または後に SetPauseGame API はアプリセッション内で一度呼ぶ必要があります。
LevelPlay.SetPauseGame(true);
SetPauseGame を「 false 」に設定することで、この機能をそのセッション内で無効にする事ができます。
LevelPlay.SetPauseGame(false);
レガシーの ironSource SDK (7.2.4 – 8.4.0) を使用している場合は、以下の API を呼びます:
// Pause all game activities except ad callbacks. The game activity will be resumed automatically when the ad is closed
IronSource.Agent.SetPauseGame(true);
// Deactivate the functionality in this session
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 code と message が含まれています。以下これらはすべて、考えられるエラーとその機能に基づくメッセージです:
Error Codes | Ad Unit | Description |
508 | N/A | • メディエーション・ネットワークの初期化失敗 • Demand Only モード以外で Demand Only API が呼ばれた • Demand Only モードで Demand Only ではない API が呼ばれた |
509 | Interstitial | 表示失敗:表示できる広告が無い |
Rewarded Video | ||
510 | Interstitial | ロード失敗:サーバーレスポンス失敗 |
Rewarded Video | ||
Banner | ||
520 | Interstitial | 表示失敗:インターネット接続無し( ShouldTrackNetworkState が有効の場合) |
Rewarded Video | 表示失敗:インターネット接続無し | |
524 | Interstitial | 表示失敗:プレースメントがペーシング制限に達している 表示失敗:プレースメントがキャッピング制限に達している |
Rewarded Video | ||
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 のロードは不可 |