{"id":17714,"date":"2026-05-21T16:22:55","date_gmt":"2026-05-21T16:22:55","guid":{"rendered":"https:\/\/tenjin.com\/?post_type=docs&#038;p=17714"},"modified":"2026-06-15T10:28:27","modified_gmt":"2026-06-15T10:28:27","password":"","slug":"android-cloudx","status":"publish","type":"docs","link":"https:\/\/tenjin.com\/zh\/docs\/android-cloudx\/","title":{"rendered":"Android \u2013 CloudX"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Tenjin SDK \u53ef\u4ee5\u76d1\u542c CloudX \u5c55\u793a\u5c42\u7ea7\u6536\u5165\u6570\u636e\uff08ILRD\uff0cimpression level revenue data\uff09\u5e76\u5411 Tenjin \u53d1\u9001\u6536\u5165\u4e8b\u4ef6\u3002\u6b64\u96c6\u6210\u5c06\u9488\u5bf9\u6765\u81ea CloudX \u7684\u6bcf\u6b21\u5e7f\u544a\u5c55\u793a\u53d1\u9001\u76f8\u5173\u7684\u6536\u5165\u6570\u636e\u3002\u4ee5\u4e0b\u662f\u96c6\u6210\u7684\u5177\u4f53\u6b65\u9aa4\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6309\u7167\u96c6\u6210\u6307\u5357\u5b89\u88c5 CloudX Android SDK\u3002<a href=\"https:\/\/docs.cloudx.io\/en\/android\/integration\"> https:\/\/docs.cloudx.io\/en\/android\/integration<br><br><\/a> \u8bf7\u786e\u4fdd\u60a8\u5df2\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 Tenjin Android SDK\uff08\u5176\u4e2d\u5305\u542b cloudXImpressionFromJSON() \u65b9\u6cd5\uff09\u3002<br><\/li>\n\n\n\n<li>\u4f7f\u7528\u4ee5\u4e0b\u793a\u4f8b\u4ee3\u7801\uff0c\u901a\u8fc7 CloudX \u7684 CloudXAdRevenueListener \u56de\u8c03\u5c06\u6536\u5165\u6570\u636e\u4f20\u9012\u7ed9 Tenjin\u3002<br><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kotlin<\/strong><\/p>\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)\">Kotlin<\/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>import com.tenjin.android.TenjinSDK\nimport io.cloudx.sdk.CloudXAd\nimport io.cloudx.sdk.CloudXAdRevenueListener\nimport org.json.JSONObject\n\nclass MainActivity : AppCompatActivity(), CloudXAdRevenueListener {\n\n    \/\/ Attach this listener to each ad (banner \/ MREC \/ interstitial \/ rewarded)\n    \/\/ before loading the ad, e.g.:\n    \/\/   bannerAd.revenueListener = this\n\n    override fun onAdRevenuePaid(cloudXAd: CloudXAd) {\n        \/\/ Create JSON object for Tenjin\n        val impressionData = JSONObject().apply {\n            put(\"ad_format\",         cloudXAd.adFormat?.toString() ?: \"\")\n            put(\"ad_unit_id\",        cloudXAd.adUnitId ?: \"\")\n            put(\"network_name\",      cloudXAd.networkName ?: \"\")\n            put(\"network_placement\", cloudXAd.networkPlacement ?: \"\")\n            put(\"placement\",         cloudXAd.placement ?: \"\")\n            put(\"revenue\",           cloudXAd.revenue)\n            put(\"currency\",          \"USD\")\n        }\n\n        val jsonString = impressionData.toString()\n\n        \/\/ Send to Tenjin\n        TenjinSDK.getInstance(this, \"&lt;YOUR-TENJIN-SDK-KEY>\")\n            .eventAdImpressionCloudX(jsonString)\n\n        Log.d(\"Tenjin\", \"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\">import<\/span><span style=\"color: #D8DEE9FF\"> com.tenjin.android.TenjinSDK<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> io.cloudx.sdk.CloudXAd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> io.cloudx.sdk.CloudXAdRevenueListener<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> org.json.JSONObject<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">MainActivity<\/span><span style=\"color: #D8DEE9FF\"> : AppCompatActivity(), <\/span><span style=\"color: #88C0D0\">CloudXAdRevenueListener<\/span><span style=\"color: #D8DEE9FF\"> {<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\">\/\/ Attach this listener to each ad (banner \/ MREC \/ interstitial \/ rewarded)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\">\/\/ before loading the ad, e.g.:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\">\/\/   bannerAd.revenueListener = this<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">override<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">fun<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">onAdRevenuePaid<\/span><span style=\"color: #D8DEE9FF\">(cloudXAd: CloudXAd) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\">\/\/ Create JSON object for Tenjin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">val<\/span><span style=\"color: #D8DEE9FF\"> impressionData <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">JSONObject<\/span><span style=\"color: #D8DEE9FF\">().<\/span><span style=\"color: #88C0D0\">apply<\/span><span style=\"color: #D8DEE9FF\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;ad_format&quot;<\/span><span style=\"color: #D8DEE9FF\">,         cloudXAd.adFormat?.<\/span><span style=\"color: #88C0D0\">toString<\/span><span style=\"color: #D8DEE9FF\">() ?: <\/span><span style=\"color: #A3BE8C\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;ad_unit_id&quot;<\/span><span style=\"color: #D8DEE9FF\">,        cloudXAd.adUnitId ?: <\/span><span style=\"color: #A3BE8C\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;network_name&quot;<\/span><span style=\"color: #D8DEE9FF\">,      cloudXAd.networkName ?: <\/span><span style=\"color: #A3BE8C\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;network_placement&quot;<\/span><span style=\"color: #D8DEE9FF\">, cloudXAd.networkPlacement ?: <\/span><span style=\"color: #A3BE8C\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;placement&quot;<\/span><span style=\"color: #D8DEE9FF\">,         cloudXAd.placement ?: <\/span><span style=\"color: #A3BE8C\">&quot;&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;revenue&quot;<\/span><span style=\"color: #D8DEE9FF\">,           cloudXAd.revenue)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">put<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;currency&quot;<\/span><span style=\"color: #D8DEE9FF\">,          <\/span><span style=\"color: #A3BE8C\">&quot;USD&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">val<\/span><span style=\"color: #D8DEE9FF\"> jsonString <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> impressionData.<\/span><span style=\"color: #88C0D0\">toString<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\">\/\/ Send to Tenjin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        TenjinSDK.<\/span><span style=\"color: #88C0D0\">getInstance<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #81A1C1\">this<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #A3BE8C\">&quot;&lt;YOUR-TENJIN-SDK-KEY&gt;&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            .<\/span><span style=\"color: #88C0D0\">eventAdImpressionCloudX<\/span><span style=\"color: #D8DEE9FF\">(jsonString)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        Log.<\/span><span style=\"color: #88C0D0\">d<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #A3BE8C\">&quot;Tenjin&quot;<\/span><span style=\"color: #D8DEE9FF\">, <\/span><span style=\"color: #A3BE8C\">&quot;Sent CloudX impression to Tenjin: $jsonString&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Java<\/strong><\/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)\">JavaScript<\/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>import com.tenjin.android.TenjinSDK;\nimport io.cloudx.sdk.CloudXAd;\nimport io.cloudx.sdk.CloudXAdRevenueListener;\nimport org.json.JSONObject;\n\npublic class MainActivity extends AppCompatActivity implements CloudXAdRevenueListener {\n\n    \/\/ Attach this listener to each ad (banner \/ MREC \/ interstitial \/ rewarded)\n    \/\/ before loading the ad, e.g.:\n    \/\/   bannerAd.setRevenueListener(this);\n\n    @Override\n    public void onAdRevenuePaid(CloudXAd cloudXAd) {\n        try {\n            JSONObject impressionData = new JSONObject();\n            impressionData.put(\"format\",\n                cloudXAd.getAdFormat() != null ? cloudXAd.getAdFormat().toString() : \"\");\n            impressionData.put(\"ad_unit_id\",\n                cloudXAd.getAdUnitId() != null ? cloudXAd.getAdUnitId() : \"\");\n            impressionData.put(\"network_name\",\n                cloudXAd.getNetworkName() != null ? cloudXAd.getNetworkName() : \"\");\n            impressionData.put(\"network_placement\",\n                cloudXAd.getNetworkPlacement() != null ? cloudXAd.getNetworkPlacement() : \"\");\n            impressionData.put(\"placement\",\n                cloudXAd.getPlacement() != null ? cloudXAd.getPlacement() : \"\");\n            impressionData.put(\"revenue\", cloudXAd.getRevenue());\n            impressionData.put(\"currency\", \"USD\");\n\n            String jsonString = impressionData.toString();\n\n            \/\/ Send to Tenjin\n            TenjinSDK.getInstance(this, \"&lt;YOUR-TENJIN-SDK-KEY>\")\n                .cloudXImpressionFromJSON(jsonString);\n\n            Log.d(\"Tenjin\", \"Sent CloudX impression to Tenjin: \" + jsonString);\n\n        } catch (JSONException e) {\n            Log.e(\"Tenjin\", \"Error creating CloudX impression JSON\", e);\n        }\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\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">com<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">tenjin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">android<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">TenjinSDK<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">io<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">cloudx<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">sdk<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">CloudXAd<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">io<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">cloudx<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">sdk<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">CloudXAdRevenueListener<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">org<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">json<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">JSONObject<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">MainActivity<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">extends<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">AppCompatActivity<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">implements<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">CloudXAdRevenueListener<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/ Attach this listener to each ad (banner \/ MREC \/ interstitial \/ rewarded)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/ before loading the ad, e.g.:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/   bannerAd.setRevenueListener(this);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    @<\/span><span style=\"color: #8FBCBB\">Override<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">public<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">void<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">onAdRevenuePaid<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">CloudXAd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">try<\/span><span style=\"color: #D8DEE9FF\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">JSONObject<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">new<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">JSONObject<\/span><span style=\"color: #D8DEE9FF\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">format<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getAdFormat<\/span><span style=\"color: #D8DEE9FF\">() != <\/span><span style=\"color: #8FBCBB\">null<\/span><span style=\"color: #D8DEE9FF\"> ? <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getAdFormat<\/span><span style=\"color: #D8DEE9FF\">().<\/span><span style=\"color: #8FBCBB\">toString<\/span><span style=\"color: #D8DEE9FF\">() : &quot;&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">ad_unit_id<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getAdUnitId<\/span><span style=\"color: #D8DEE9FF\">() != <\/span><span style=\"color: #8FBCBB\">null<\/span><span style=\"color: #D8DEE9FF\"> ? <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getAdUnitId<\/span><span style=\"color: #D8DEE9FF\">() : &quot;&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">network_name<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getNetworkName<\/span><span style=\"color: #D8DEE9FF\">() != <\/span><span style=\"color: #8FBCBB\">null<\/span><span style=\"color: #D8DEE9FF\"> ? <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getNetworkName<\/span><span style=\"color: #D8DEE9FF\">() : &quot;&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">network_placement<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getNetworkPlacement<\/span><span style=\"color: #D8DEE9FF\">() != <\/span><span style=\"color: #8FBCBB\">null<\/span><span style=\"color: #D8DEE9FF\"> ? <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getNetworkPlacement<\/span><span style=\"color: #D8DEE9FF\">() : &quot;&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">placement<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getPlacement<\/span><span style=\"color: #D8DEE9FF\">() != <\/span><span style=\"color: #8FBCBB\">null<\/span><span style=\"color: #D8DEE9FF\"> ? <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getPlacement<\/span><span style=\"color: #D8DEE9FF\">() : &quot;&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">revenue<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">cloudXAd<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getRevenue<\/span><span style=\"color: #D8DEE9FF\">());<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">put<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">currency<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> &quot;<\/span><span style=\"color: #8FBCBB\">USD<\/span><span style=\"color: #D8DEE9FF\">&quot;);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">String<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">jsonString<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">impressionData<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">toString<\/span><span style=\"color: #D8DEE9FF\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">            <\/span><span style=\"color: #616E88\">\/\/ Send to Tenjin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">TenjinSDK<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getInstance<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">this<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> &quot;&lt;<\/span><span style=\"color: #8FBCBB\">YOUR<\/span><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #8FBCBB\">TENJIN<\/span><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #8FBCBB\">SDK<\/span><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #8FBCBB\">KEY<\/span><span style=\"color: #D8DEE9FF\">&gt;&quot;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                .<\/span><span style=\"color: #8FBCBB\">cloudXImpressionFromJSON<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">jsonString<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">Log<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">d<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">Tenjin<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> &quot;<\/span><span style=\"color: #8FBCBB\">Sent<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">CloudX<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">impression<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Tenjin<\/span><span style=\"color: #D8DEE9FF\">: &quot; + <\/span><span style=\"color: #8FBCBB\">jsonString<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">catch<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">JSONException<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">e<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">Log<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">e<\/span><span style=\"color: #D8DEE9FF\">(&quot;<\/span><span style=\"color: #8FBCBB\">Tenjin<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> &quot;<\/span><span style=\"color: #8FBCBB\">Error<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">creating<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">CloudX<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">impression<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">JSON<\/span><span style=\"color: #D8DEE9FF\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">e<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u662f\u6765\u81ea CloudX \u7684\u5c55\u793a\u5c42\u7ea7\u6536\u5165\u6570\u636e\u6761\u76ee\u793a\u4f8b\uff1a<\/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>\u683c\u5f0f<\/td><td>\u5426<\/td><td>\u201c\u6a2a\u5e45\u5e7f\u544a\u201d\u3001\u201cmrec\u201d\u3001\u201c\u63d2\u9875\u5e7f\u544a\u201d\u3001\u201c\u5956\u52b1\u5e7f\u544a\u201d<\/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>\u5143\u6570\u636e<\/td><\/tr><tr><td>network_placement<\/td><td>\u5426<\/td><td>1234567890_9876543210<\/td><\/tr><tr><td>\u5b89\u7f6e<\/td><td>\u5426<\/td><td>\u4e3b\u5c4f\u5e55<\/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\/android\/integration\"> https:\/\/docs.cloudx.io\/en\/android\/integration<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Tenjin SDK \u53ef\u4ee5\u63a5\u6536 CloudX \u7684\u5c55\u793a\u7ea7\u6536\u5165\u6570\u636e\uff0c\u5e76\u5c06\u6536\u5165\u4e8b\u4ef6\u53d1\u9001\u81f3 Tenjin\u3002\u6b64\u96c6\u6210\u5c06\u53d1\u9001\u6765\u81ea CloudX \u7684\u6bcf\u6b21\u5e7f\u544a\u5c55\u793a\u76f8\u5173\u7684\u6536\u5165\u6570\u636e\u3002 \u96c6\u6210\u6b65\u9aa4\u5982\u4e0b\uff1aKotlin Java \u4ee5\u4e0b\u662f\u6765\u81ea CloudX \u7684\u5c55\u793a\u7ea7\u6536\u5165\u6570\u636e\u793a\u4f8b\uff1aParameterRequired?ExampleformatNo\u201cbanner\u201d, \u201cmrec\u201d, \u201cinterstitial\u201d, \u201crewarded\u201dad_unit_idNoabc-123-bannernetwork_nameNometanetwork_placementNo1234567890_9876543210placementNohome_screenrevenueYes0.0123currencyNoUSD \u53c2\u8003\uff1a\u2026<\/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-17714","docs","type-docs","status-publish","hentry","doc_category-cloudx"],"acf":[],"year_month":"2026-07","word_count":705,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"\u963f\u52aa\u62c9\u683c","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>Android \u2013 CloudX | Tenjin<\/title>\n<meta name=\"description\" content=\"Learn how to integrate CloudX on Android with Tenjin for attribution, ad revenue tracking, and mobile analytics.\" \/>\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\/android-cloudx\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android \u2013 CloudX | Tenjin\" \/>\n<meta property=\"og:description\" content=\"Learn how to integrate CloudX on Android with Tenjin for attribution, ad revenue tracking, and mobile analytics.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tenjin.com\/zh\/docs\/android-cloudx\/\" \/>\n<meta property=\"og:site_name\" content=\"Tenjin\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-15T10:28:27+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\\\/android-cloudx\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/\"},\"author\":{\"name\":\"anurag\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#\\\/schema\\\/person\\\/e039df04bf002f4a0825fce9d6d5f13b\"},\"headline\":\"Android \u2013 CloudX\",\"datePublished\":\"2026-05-21T16:22:55+00:00\",\"dateModified\":\"2026-06-15T10:28:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/\"},\"wordCount\":141,\"publisher\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/#organization\"},\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/\",\"url\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/\",\"name\":\"Android \u2013 CloudX | Tenjin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/#website\"},\"datePublished\":\"2026-05-21T16:22:55+00:00\",\"dateModified\":\"2026-06-15T10:28:27+00:00\",\"description\":\"Learn how to integrate CloudX on Android with Tenjin for attribution, ad revenue tracking, and mobile analytics.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-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\":\"Android \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":"Android \u2013 CloudX | \u5929\u795e","description":"\u4e86\u89e3\u5982\u4f55\u5c06 Android \u4e0a\u7684 CloudX \u4e0e Tenjin \u96c6\u6210\uff0c\u4ee5\u5b9e\u73b0\u5f52\u56e0\u3001\u5e7f\u544a\u6536\u5165\u8ffd\u8e2a\u548c\u79fb\u52a8\u5206\u6790\u3002.","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\/android-cloudx\/","og_locale":"zh_CN","og_type":"article","og_title":"Android \u2013 CloudX | Tenjin","og_description":"Learn how to integrate CloudX on Android with Tenjin for attribution, ad revenue tracking, and mobile analytics.","og_url":"https:\/\/tenjin.com\/zh\/docs\/android-cloudx\/","og_site_name":"Tenjin","article_modified_time":"2026-06-15T10:28:27+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\/android-cloudx\/#article","isPartOf":{"@id":"https:\/\/tenjin.com\/docs\/android-cloudx\/"},"author":{"name":"anurag","@id":"https:\/\/tenjin.com\/#\/schema\/person\/e039df04bf002f4a0825fce9d6d5f13b"},"headline":"Android \u2013 CloudX","datePublished":"2026-05-21T16:22:55+00:00","dateModified":"2026-06-15T10:28:27+00:00","mainEntityOfPage":{"@id":"https:\/\/tenjin.com\/docs\/android-cloudx\/"},"wordCount":141,"publisher":{"@id":"https:\/\/tenjin.com\/#organization"},"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/tenjin.com\/docs\/android-cloudx\/","url":"https:\/\/tenjin.com\/docs\/android-cloudx\/","name":"Android \u2013 CloudX | \u5929\u795e","isPartOf":{"@id":"https:\/\/tenjin.com\/#website"},"datePublished":"2026-05-21T16:22:55+00:00","dateModified":"2026-06-15T10:28:27+00:00","description":"\u4e86\u89e3\u5982\u4f55\u5c06 Android \u4e0a\u7684 CloudX \u4e0e Tenjin \u96c6\u6210\uff0c\u4ee5\u5b9e\u73b0\u5f52\u56e0\u3001\u5e7f\u544a\u6536\u5165\u8ffd\u8e2a\u548c\u79fb\u52a8\u5206\u6790\u3002.","breadcrumb":{"@id":"https:\/\/tenjin.com\/docs\/android-cloudx\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tenjin.com\/docs\/android-cloudx\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tenjin.com\/docs\/android-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":"Android \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":"\u963f\u52aa\u62c9\u683c","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\/17714","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=17714"}],"version-history":[{"count":3,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/17714\/revisions"}],"predecessor-version":[{"id":17780,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/17714\/revisions\/17780"}],"wp:attachment":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/media?parent=17714"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_category?post=17714"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/glossaries?post=17714"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_tag?post=17714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}