Tenjin SDKはUnity LevelPlayのインプレッションレベルの収益データをリッスンし、収益イベントをTenjinに送信できます。この実装により、IronSourceから配信された各広告インプレッションに関連する収益が送信されます。実装の手順は以下のとおりです。
- IronSource Unity SDKをインストールします: https://developers.is.com/ironsource-mobile/unity/unity-plugin/#step-2
最新のIronSource Unity SDK(>IronSource_IntegrationManager_v7.2.1)がインストールされていることを確認してください。 - 以下のサンプルコードを使用して、収益データをTenjinに連携してください。
C#
[System.Serializable]
public class TenjinIronSourceImpressionData
{
public string auction_id;
public string segment_name;
public string precision;
public double revenue;
public string instance_id;
public string placement;
public string ab;
public string encrypted_cpm;
public string country;
public string ad_unit;
public string ad_network;
public string instance_name;
}
private void ImpressionDataReadyEvent(IronSourceImpressionData impressionData)
{
double parsedDoubleLifetimeRevenue = 0.0;
double parsedDoubleRevenue = 0.0;
CultureInfo invCulture = CultureInfo.InvariantCulture;
// Parse revenue fields with culture-invariant formatting
if (impressionData.lifetimeRevenue != null && impressionData.revenue != null)
{
double.TryParse(string.Format(invCulture, "{0}", impressionData.lifetimeRevenue), NumberStyles.Any, invCulture, out
parsedDoubleLifetimeRevenue);
double.TryParse(string.Format(invCulture, "{0}", impressionData.revenue), NumberStyles.Any, invCulture, out parsedDoubleRevenue);
}
// Create impression data object for serialization
var impressionDataObject = new TenjinIronSourceImpressionData
{
auction_id = impressionData.auctionId ?? "",
segment_name = impressionData.segmentName ?? "",
precision = impressionData.precision ?? "",
revenue = parsedDoubleRevenue,
instance_id = impressionData.instanceId ?? "",
placement = impressionData.placement ?? "",
ab = impressionData.ab ?? "",
encrypted_cpm = impressionData.encryptedCPM ?? "",
country = impressionData.country ?? "",
ad_unit = impressionData.adUnit ?? "",
ad_network = impressionData.adNetwork ?? "",
instance_name = impressionData.instanceName ?? ""
};
// Convert to JSON string using JsonUtility
string jsonString = JsonUtility.ToJson(impressionDataObject);
// Send to Tenjin
Tenjin.getInstance("<YOUR-TENJIN-SDK_KEY>").IronSourceImpressionFromJSON(jsonString);
}以下は、Unity LevelPlayにおけるインプレッションレベルの収益データ入力例です。
| パラメータ | 必須? | 例 |
|---|---|---|
| auction_id | いいえ | 4a9fba00-a6c6-11ec-b5a2-817ec8dcf90b_1977367705 |
| segment_name | いいえ | String |
| precision | いいえ | BID |
| revenue | はい | 0.099 |
| instance_id | いいえ | 4334854 |
| placement | いいえ | DefaultBanner |
| ab | いいえ | - |
| encrypted_cpm | いいえ | String |
| country | いいえ | DE |
| ad_unit | いいえ | banner |
| ad_network | いいえ | ironsource |
| instance_name | いいえ | Bidding |
参照: https://developers.is.com/ironsource-mobile/unity/ad-revenue-measurement-integration/#step-1