その他の 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;
動画リワードサーバーコールバック用のカスタムパラメータ
LevelPlay の動画リワード広告ユニットは、広告完了イベントが成功した後にユーザーに付与する必要がある報酬を通知するサーバー側イベントをサポートしています。詳細はこちら。
サーバーパラメータに加えて、クライアントを通じてランタイムカスタムパラメータを共有できます。実装には、setMetadata API を使用して、カスタムパラメータを LevelPlay_Rewarded_Server_Params に渡します。カスタムパラメータはセッション中に複数回更新でき、以前の値を上書きできます。
カスタムパラメータをリセットするには、LevelPlay_Rewarded_Server_Params に空の配列を設定します。
実装例
LevelPlay.SetMetaData("LevelPlay_Rewarded_Server_Params", new [] { "key1=value1", "key2=value2" });
上記例では次のようなコールバックを受信します:
http://www.mydomain.com/rewardsCallback?appUserId=[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]&itemName=[ITEM_NAME]&custom_key1=value1&custom_key2=value2
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);
価格の下限設定
Floor Configuration API を使用すると、特定の広告ユニットに最低価格を設定できます。ユーザーごとに最低価格を設定することで、ターゲティングの効率性を向上させ、レイテンシを短縮し、広告パフォーマンスを最適化できます。
最低価格を広告オブジェクトの作成時に割り当てる必要があり、そのオブジェクトの後続のすべてのロードに適用されます。
プロパティ | 型 | 説明 |
Bid floor | double | Non-bidder と Bidder インスタンス両方に適用される最低 eCPM を定義する米ドルでの価格 |
インタースティシャル広告での使用例
// Define a price floor configuration
var adConfig = new LevelPlayInterstitialAd.Config.Builder()
.SetBidFloor(1.23) // Set the price floor in USD
.Build()
// Apply the configuration to an interstitial ad unit
var interstitialAd = new LevelPlayInterstitialAd("adUnitId", adConfig);
インタースティシャルの完全な実装についてはこちら。
動画リワードでの使用例
// Define a price floor configuration
var adConfig = new LevelPlayRewardedAd.Config.Builder()
.SetBidFloor(1.23) // Set the price floor in USD
.Build()
// Apply the configuration to a rewarded ad unit
var rewardedAd = new LevelPlayRewardedAd("adUnitId", adConfig);
動画リワードの完全な実装についてはこちら。
バナー広告での使用例
// Define a price floor configuration
var adConfig = new LevelPlayBannerAd.Config.Builder()
.SetBidFloor(1.23) // Set the price floor in USD
.Build();
// Apply the configuration to a banner ad unit
var bannerAd = new LevelPlayBannerAd("adUnitId", adConfig);
バナーの完全な実装についてはこちら。
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 | ||
604 | Banner | ロード失敗:プレースメントがキャッピング制限に達している |
605 | Banner | ロード失敗:バナーのロード中に予期しない例外が発生 |
606 | Banner | ロード失敗:全てのアドネットワークインスタンスの在庫無 |
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 のロードは不可 |