{"id":17719,"date":"2026-05-21T16:38:09","date_gmt":"2026-05-21T16:38:09","guid":{"rendered":"https:\/\/tenjin.com\/?post_type=docs&#038;p=17719"},"modified":"2026-05-21T16:38:10","modified_gmt":"2026-05-21T16:38:10","password":"","slug":"unity-plugin-cloudx","status":"publish","type":"docs","link":"https:\/\/tenjin.com\/zh\/docs\/unity-plugin-cloudx\/","title":{"rendered":"Unity Plugin \u2013 CloudX"},"content":{"rendered":"<p class=\"wp-block-paragraph\">The Tenjin SDK can listen to CloudX impression level revenue data and send revenue events to Tenjin. This integration will send revenue related data for each ad impression served from CloudX. Here are the steps to integrate:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install the CloudX Unity SDK by following the integration guide:<a href=\"https:\/\/docs.cloudx.io\/en\/unity\/integration\"> https:\/\/docs.cloudx.io\/en\/unity\/integration<br><br><\/a> Please ensure you have the latest Tenjin Unity SDK installed (which includes the CloudXImpressionFromJSON() method).<br><\/li>\n\n\n\n<li>Pass the revenue data to Tenjin from the CloudX revenue callback, using the following sample code.<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">C#<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\" data-no-translation=\"\" data-no-auto-translation=\"\"><span style=\"display:flex;align-items:center;padding:10px 0px 0 16px;font-size:0.8em;width:100%;text-align:left;background-color:#2e3440ff;font-style:italic;color:#d8dee9ff\"><span style=\"border-bottom:1px solid rgba(201, 218, 248, 0.2)\">C#<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\" data-no-translation=\"\" data-no-auto-translation=\"\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>using System.Globalization;\n\nusing UnityEngine;\n\nusing CloudX; \/\/ CloudX Unity SDK namespace\n\n&#91;System.Serializable&#93;\n\npublic class TenjinCloudXImpressionData\n\n{\n\n\u00a0\u00a0\u00a0\u00a0public string format;\n\n\u00a0\u00a0\u00a0\u00a0public string ad_unit_id;\n\n\u00a0\u00a0\u00a0\u00a0public string network_name;\n\n\u00a0\u00a0\u00a0\u00a0public string network_placement;\n\n\u00a0\u00a0\u00a0\u00a0public string placement;\n\n\u00a0\u00a0\u00a0\u00a0public double revenue;\n\n\u00a0\u00a0\u00a0\u00a0public string currency;\n\n}\n\n\/\/ Subscribe to the CloudX revenue event for each ad type (banner, MREC,\n\n\/\/ interstitial, rewarded). Example: CloudXAdsCallbacks.Banner.OnAdRevenuePaid += OnCloudXRevenuePaid;\n\nprivate void OnCloudXRevenuePaid(CloudXAd cloudXAd)\n\n{\n\n\u00a0\u00a0\u00a0\u00a0double parsedRevenue = 0.0;\n\n\u00a0\u00a0\u00a0\u00a0CultureInfo invCulture = CultureInfo.InvariantCulture;\n\n\u00a0\u00a0\u00a0\u00a0\/\/ Parse revenue with culture-invariant formatting\n\n\u00a0\u00a0\u00a0\u00a0double.TryParse(\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0string.Format(invCulture, \"{0}\", cloudXAd.Revenue),\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0NumberStyles.Any,\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0invCulture,\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0out parsedRevenue\n\n\u00a0\u00a0\u00a0\u00a0);\n\n\u00a0\u00a0\u00a0\u00a0\/\/ Create impression data object for serialization\n\n\u00a0\u00a0\u00a0\u00a0var impressionDataObject = new TenjinCloudXImpressionData\n\n\u00a0\u00a0\u00a0\u00a0{\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ad_format \u00a0 \u00a0 \u00a0 \u00a0 = cloudXAd.AdFormat.ToString()\u00a0 \u00a0 ?? \"\",\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ad_unit_id\u00a0 \u00a0 \u00a0 \u00a0 = cloudXAd.AdUnitId \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ?? \"\",\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0network_name\u00a0 \u00a0 \u00a0 = cloudXAd.NetworkName\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ?? \"\",\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0network_placement = cloudXAd.NetworkPlacement \u00a0 \u00a0 \u00a0 ?? \"\",\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0placement \u00a0 \u00a0 \u00a0 \u00a0 = cloudXAd.Placement\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ?? \"\",\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0revenue \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 = parsedRevenue,\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0currency\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 = \"USD\"\n\n\u00a0\u00a0\u00a0\u00a0};\n\n\u00a0\u00a0\u00a0\u00a0\/\/ Convert to JSON string using JsonUtility\n\n\u00a0\u00a0\u00a0\u00a0string jsonString = JsonUtility.ToJson(impressionDataObject);\n\n\u00a0\u00a0\u00a0\u00a0\/\/ Send to Tenjin\n\n\u00a0\u00a0\u00a0\u00a0Tenjin.getInstance(\"&lt;YOUR-TENJIN-SDK-KEY>\").CloudXImpressionFromJSON(jsonString);\n\n\u00a0\u00a0\u00a0\u00a0Debug.Log(\"Sent CloudX impression to Tenjin: \" + jsonString);\n\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\" data-no-translation=\"\" data-no-auto-translation=\"\"><code data-no-translation=\"\" data-no-auto-translation=\"\"><span class=\"line\"><span style=\"color: #81A1C1\">using<\/span><span style=\"color: #D8DEE9FF\"> System<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">Globalization<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">using<\/span><span style=\"color: #D8DEE9FF\"> UnityEngine<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">using<\/span><span style=\"color: #D8DEE9FF\"> CloudX<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #616E88\">\/\/ CloudX Unity SDK namespace<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">System<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">Serializable<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">TenjinCloudXImpressionData<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> format<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> ad_unit_id<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> network_name<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> network_placement<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> placement<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">double<\/span><span style=\"color: #D8DEE9FF\"> revenue<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> currency<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">\/\/ Subscribe to the CloudX revenue event for each ad type (banner, MREC,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">\/\/ interstitial, rewarded). Example: CloudXAdsCallbacks.Banner.OnAdRevenuePaid += OnCloudXRevenuePaid;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">private<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">OnCloudXRevenuePaid<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">CloudXAd cloudXAd<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">double<\/span><span style=\"color: #D8DEE9FF\"> parsedRevenue <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0.0<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0CultureInfo invCulture <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">CultureInfo<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">InvariantCulture<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #616E88\">\/\/ Parse revenue with culture-invariant formatting<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">double<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">TryParse<\/span><span style=\"color: #ECEFF4\">(<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">Format<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">invCulture<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">{0}<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cloudXAd<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">Revenue<\/span><span style=\"color: #ECEFF4\">),<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">NumberStyles<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">Any<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">invCulture<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">out<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">parsedRevenue<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #616E88\">\/\/ Create impression data object for serialization<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">var<\/span><span style=\"color: #D8DEE9FF\"> impressionDataObject <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #D8DEE9FF\"> TenjinCloudXImpressionData<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">ad_format<\/span><span style=\"color: #D8DEE9FF\"> \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cloudXAd<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">AdFormat<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">ToString<\/span><span style=\"color: #ECEFF4\">()<\/span><span style=\"color: #D8DEE9FF\">\u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">??<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">ad_unit_id<\/span><span style=\"color: #D8DEE9FF\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cloudXAd<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">AdUnitId<\/span><span style=\"color: #D8DEE9FF\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">??<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">network_name<\/span><span style=\"color: #D8DEE9FF\">\u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cloudXAd<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">NetworkName<\/span><span style=\"color: #D8DEE9FF\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">??<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">network_placement<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cloudXAd<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">NetworkPlacement<\/span><span style=\"color: #D8DEE9FF\"> \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">??<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">placement<\/span><span style=\"color: #D8DEE9FF\"> \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cloudXAd<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">Placement<\/span><span style=\"color: #D8DEE9FF\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">??<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">revenue<\/span><span style=\"color: #D8DEE9FF\"> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">parsedRevenue<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">currency<\/span><span style=\"color: #D8DEE9FF\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">USD<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #616E88\">\/\/ Convert to JSON string using JsonUtility<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #81A1C1\">string<\/span><span style=\"color: #D8DEE9FF\"> jsonString <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">JsonUtility<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">ToJson<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">impressionDataObject<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #616E88\">\/\/ Send to Tenjin<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">Tenjin<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">getInstance<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">&lt;YOUR-TENJIN-SDK-KEY&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #88C0D0\">CloudXImpressionFromJSON<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">jsonString<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #D8DEE9\">Debug<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">Log<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Sent CloudX impression to Tenjin: <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">jsonString<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is an example impression level revenue data entry from CloudX:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\u53c2\u6570<\/strong><\/td><td><strong>\u5fc5\u9700\uff1f<\/strong><\/td><td><strong>\u4f8b\u5b50<\/strong><\/td><\/tr><tr><td>format<\/td><td>\u5426<\/td><td>Banner, Mrec, Interstitial, Rewarded<\/td><\/tr><tr><td>ad_unit_id<\/td><td>\u5426<\/td><td>abc-123-banner<\/td><\/tr><tr><td>network_name<\/td><td>\u5426<\/td><td>meta<\/td><\/tr><tr><td>network_placement<\/td><td>\u5426<\/td><td>1234567890_9876543210<\/td><\/tr><tr><td>placement<\/td><td>\u5426<\/td><td>home_screen<\/td><\/tr><tr><td>revenue<\/td><td>\u662f<\/td><td>0.0123<\/td><\/tr><tr><td>currency<\/td><td>\u5426<\/td><td>USD<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\u76f8\u5173\u6587\u6863\uff1a<a href=\"https:\/\/docs.cloudx.io\/en\/unity\/integration\"> https:\/\/docs.cloudx.io\/en\/unity\/integration<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>The Tenjin SDK can listen to CloudX impression level revenue data and send revenue events to Tenjin. This integration will send revenue related data for each ad impression served from CloudX. Here are the steps to integrate: C# Here is an example impression level revenue data entry from CloudX: ParameterRequired?ExampleformatNoBanner, Mrec, Interstitial, Rewardedad_unit_idNoabc-123-bannernetwork_nameNometanetwork_placementNo1234567890_9876543210placementNohome_screenrevenueYes0.0123currencyNoUSD reference: https:\/\/docs.cloudx.io\/en\/unity\/integration<\/p>","protected":false},"author":17,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"doc_category":[250],"glossaries":[],"doc_tag":[],"class_list":["post-17719","docs","type-docs","status-publish","hentry","doc_category-cloudx"],"acf":[],"year_month":"2026-05","word_count":440,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"anurag","author_nicename":"anurag","author_url":"https:\/\/tenjin.com\/zh\/blog\/author\/anurag\/"},"doc_category_info":[{"term_name":"CloudX","term_url":"https:\/\/tenjin.com\/zh\/docs\/category\/cloudx\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Unity Plugin \u2013 CloudX | Tenjin<\/title>\n<meta name=\"description\" content=\"Unity Plugin \u2013 CloudX Tenjin | %\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tenjin.com\/zh\/docs\/unity-plugin-cloudx\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unity Plugin \u2013 CloudX | Tenjin\" \/>\n<meta property=\"og:description\" content=\"Unity Plugin \u2013 CloudX Tenjin | %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tenjin.com\/zh\/docs\/unity-plugin-cloudx\/\" \/>\n<meta property=\"og:site_name\" content=\"Tenjin\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-21T16:38:10+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@TenjinMMP\" \/>\n<meta name=\"twitter:label1\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/\"},\"author\":{\"name\":\"anurag\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#\\\/schema\\\/person\\\/e039df04bf002f4a0825fce9d6d5f13b\"},\"headline\":\"Unity Plugin \u2013 CloudX\",\"datePublished\":\"2026-05-21T16:38:09+00:00\",\"dateModified\":\"2026-05-21T16:38:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/\"},\"wordCount\":140,\"publisher\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/#organization\"},\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/\",\"url\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/\",\"name\":\"Unity Plugin \u2013 CloudX | Tenjin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/#website\"},\"datePublished\":\"2026-05-21T16:38:09+00:00\",\"dateModified\":\"2026-05-21T16:38:10+00:00\",\"description\":\"Unity Plugin \u2013 CloudX Tenjin | %\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/unity-plugin-cloudx\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/tenjin.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Unity Plugin \u2013 CloudX\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#website\",\"url\":\"https:\\\/\\\/tenjin.com\\\/\",\"name\":\"Tenjin\",\"description\":\"Growth Made Simple\",\"publisher\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/#organization\"},\"alternateName\":\"Tenjin - Mobile Measurement Partner\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tenjin.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#organization\",\"name\":\"Tenjin\",\"url\":\"https:\\\/\\\/tenjin.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tenjin.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/images.webp\",\"contentUrl\":\"https:\\\/\\\/tenjin.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/images.webp\",\"width\":429,\"height\":117,\"caption\":\"Tenjin\"},\"image\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/TenjinMMP\",\"https:\\\/\\\/www.youtube.com\\\/@TenjinMMP\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/tenjin\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#\\\/schema\\\/person\\\/e039df04bf002f4a0825fce9d6d5f13b\",\"name\":\"anurag\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc89d050d7f8053be5b8856ebaaabf82adb98e0ea57d1579b8397fb09de189c8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc89d050d7f8053be5b8856ebaaabf82adb98e0ea57d1579b8397fb09de189c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc89d050d7f8053be5b8856ebaaabf82adb98e0ea57d1579b8397fb09de189c8?s=96&d=mm&r=g\",\"caption\":\"anurag\"},\"url\":\"https:\\\/\\\/tenjin.com\\\/zh\\\/blog\\\/author\\\/anurag\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Unity Plugin \u2013 CloudX | Tenjin","description":"Unity Plugin \u2013 CloudX Tenjin | %","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tenjin.com\/zh\/docs\/unity-plugin-cloudx\/","og_locale":"zh_CN","og_type":"article","og_title":"Unity Plugin \u2013 CloudX | Tenjin","og_description":"Unity Plugin \u2013 CloudX Tenjin | %","og_url":"https:\/\/tenjin.com\/zh\/docs\/unity-plugin-cloudx\/","og_site_name":"Tenjin","article_modified_time":"2026-05-21T16:38:10+00:00","twitter_card":"summary_large_image","twitter_site":"@TenjinMMP","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/#article","isPartOf":{"@id":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/"},"author":{"name":"anurag","@id":"https:\/\/tenjin.com\/#\/schema\/person\/e039df04bf002f4a0825fce9d6d5f13b"},"headline":"Unity Plugin \u2013 CloudX","datePublished":"2026-05-21T16:38:09+00:00","dateModified":"2026-05-21T16:38:10+00:00","mainEntityOfPage":{"@id":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/"},"wordCount":140,"publisher":{"@id":"https:\/\/tenjin.com\/#organization"},"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/","url":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/","name":"Unity Plugin \u2013 CloudX | Tenjin","isPartOf":{"@id":"https:\/\/tenjin.com\/#website"},"datePublished":"2026-05-21T16:38:09+00:00","dateModified":"2026-05-21T16:38:10+00:00","description":"Unity Plugin \u2013 CloudX Tenjin | %","breadcrumb":{"@id":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tenjin.com\/docs\/unity-plugin-cloudx\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tenjin.com\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/tenjin.com\/docs\/"},{"@type":"ListItem","position":3,"name":"Unity Plugin \u2013 CloudX"}]},{"@type":"WebSite","@id":"https:\/\/tenjin.com\/#website","url":"https:\/\/tenjin.com\/","name":"Tenjin","description":"\u8ba9\u589e\u957f\u53d8\u7b80\u5355","publisher":{"@id":"https:\/\/tenjin.com\/#organization"},"alternateName":"Tenjin - Mobile Measurement Partner","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tenjin.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/tenjin.com\/#organization","name":"Tenjin","url":"https:\/\/tenjin.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/tenjin.com\/#\/schema\/logo\/image\/","url":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/04\/images.webp","contentUrl":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/04\/images.webp","width":429,"height":117,"caption":"Tenjin"},"image":{"@id":"https:\/\/tenjin.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/TenjinMMP","https:\/\/www.youtube.com\/@TenjinMMP","https:\/\/www.linkedin.com\/company\/tenjin"]},{"@type":"Person","@id":"https:\/\/tenjin.com\/#\/schema\/person\/e039df04bf002f4a0825fce9d6d5f13b","name":"anurag","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/secure.gravatar.com\/avatar\/dc89d050d7f8053be5b8856ebaaabf82adb98e0ea57d1579b8397fb09de189c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc89d050d7f8053be5b8856ebaaabf82adb98e0ea57d1579b8397fb09de189c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc89d050d7f8053be5b8856ebaaabf82adb98e0ea57d1579b8397fb09de189c8?s=96&d=mm&r=g","caption":"anurag"},"url":"https:\/\/tenjin.com\/zh\/blog\/author\/anurag\/"}]}},"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/17719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/comments?post=17719"}],"version-history":[{"count":1,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/17719\/revisions"}],"predecessor-version":[{"id":17720,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/17719\/revisions\/17720"}],"wp:attachment":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/media?parent=17719"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_category?post=17719"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/glossaries?post=17719"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_tag?post=17719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}