{"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\/vi\/docs\/android-cloudx\/","title":{"rendered":"Android \u2013 CloudX"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Tenjin SDK c\u00f3 th\u1ec3 thu th\u1eadp d\u1eef li\u1ec7u doanh thu \u1edf c\u1ea5p \u0111\u1ed9 hi\u1ec3n th\u1ecb qu\u1ea3ng c\u00e1o t\u1eeb CloudX v\u00e0 g\u1eedi c\u00e1c s\u1ef1 ki\u1ec7n doanh thu \u0111\u1ebfn Tenjin. T\u00edch h\u1ee3p n\u00e0y s\u1ebd g\u1eedi d\u1eef li\u1ec7u li\u00ean quan \u0111\u1ebfn doanh thu cho m\u1ed7i l\u1ea7n hi\u1ec3n th\u1ecb qu\u1ea3ng c\u00e1o \u0111\u01b0\u1ee3c ph\u00e2n ph\u1ed1i t\u1eeb CloudX. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c b\u01b0\u1edbc \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00edch h\u1ee3p:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>H\u00e3y c\u00e0i \u0111\u1eb7t b\u1ed9 c\u00f4ng c\u1ee5 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m (SDK) CloudX Android b\u1eb1ng c\u00e1ch l\u00e0m theo h\u01b0\u1edbng d\u1eabn t\u00edch h\u1ee3p:<a href=\"https:\/\/docs.cloudx.io\/en\/android\/integration\"> https:\/\/docs.cloudx.io\/en\/android\/integration<br><br><\/a> Vui l\u00f2ng \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n \u0111\u00e3 c\u00e0i \u0111\u1eb7t phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t c\u1ee7a Tenjin Android SDK (bao g\u1ed3m ph\u01b0\u01a1ng th\u1ee9c cloudXImpressionFromJSON()).<br><\/li>\n\n\n\n<li>Chuy\u1ec3n d\u1eef li\u1ec7u doanh thu sang Tenjin t\u1eeb h\u00e0m g\u1ecdi l\u1ea1i CloudXAdRevenueListener c\u1ee7a CloudX, b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng \u0111o\u1ea1n m\u00e3 m\u1eabu sau \u0111\u00e2y.<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\">D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 v\u1ec1 vi\u1ec7c nh\u1eadp d\u1eef li\u1ec7u doanh thu theo m\u1ee9c \u0111\u1ed9 hi\u1ec3n th\u1ecb t\u1eeb CloudX:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Tham s\u1ed1<\/strong><\/td><td><strong>C\u00f3 b\u1eaft bu\u1ed9c kh\u00f4ng?<\/strong><\/td><td><strong>V\u00ed d\u1ee5<\/strong><\/td><\/tr><tr><td>\u0111\u1ecbnh d\u1ea1ng<\/td><td>Kh\u00f4ng<\/td><td>\u201cbanner\u201d, \u201cmrec\u201d, \u201cinterstitial\u201d, \u201crewarded\u201d<\/td><\/tr><tr><td>ad_unit_id<\/td><td>Kh\u00f4ng<\/td><td>abc-123-banner<\/td><\/tr><tr><td>t\u00ean_m\u1ea1ng<\/td><td>Kh\u00f4ng<\/td><td>meta<\/td><\/tr><tr><td>v\u1ecb tr\u00ed_m\u1ea1ng<\/td><td>Kh\u00f4ng<\/td><td>1234567890_9876543210<\/td><\/tr><tr><td>v\u1ecb tr\u00ed<\/td><td>Kh\u00f4ng<\/td><td>m\u00e0n h\u00ecnh ch\u00ednh<\/td><\/tr><tr><td>doanh thu<\/td><td>C\u00f3<\/td><td>0.0123<\/td><\/tr><tr><td>ti\u1ec1n t\u1ec7<\/td><td>Kh\u00f4ng<\/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\">tham kh\u1ea3o:<a href=\"https:\/\/docs.cloudx.io\/en\/android\/integration\"> https:\/\/docs.cloudx.io\/en\/android\/integration<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>SDK Tenjin c\u00f3 th\u1ec3 thu th\u1eadp d\u1eef li\u1ec7u doanh thu \u1edf c\u1ea5p \u0111\u1ed9 hi\u1ec3n th\u1ecb t\u1eeb CloudX v\u00e0 g\u1eedi c\u00e1c s\u1ef1 ki\u1ec7n doanh thu \u0111\u1ebfn Tenjin. T\u00edch h\u1ee3p n\u00e0y s\u1ebd g\u1eedi d\u1eef li\u1ec7u li\u00ean quan \u0111\u1ebfn doanh thu cho m\u1ed7i l\u1ea7n hi\u1ec3n th\u1ecb qu\u1ea3ng c\u00e1o \u0111\u01b0\u1ee3c ph\u00e2n ph\u1ed1i t\u1eeb CloudX. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c b\u01b0\u1edbc \u0111\u1ec3 t\u00edch h\u1ee3p: Kotlin Java D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 v\u1ec1 m\u1ee5c nh\u1eadp d\u1eef li\u1ec7u doanh thu theo m\u1ed7i l\u1ea7n hi\u1ec3n th\u1ecb t\u1eeb CloudX: Th\u00f4ng s\u1ed1B\u1eaft bu\u1ed9c?V\u00ed d\u1ee5\u0111\u1ecbnh d\u1ea1ngKh\u00f4ng\u201cbanner\u201d, \u201cmrec\u201d, \u201cinterstitial\u201d, \u201crewarded\u201dad_unit_idNoabc-123-bannernetwork_nameNometanetwork_placementNo1234567890_9876543210placementNohome_screenrevenueYes0.0123currencyNoUSD tham kh\u1ea3o:\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":"Anurag","author_nicename":"anurag","author_url":"https:\/\/tenjin.com\/vi\/blog\/author\/anurag\/"},"doc_category_info":[{"term_name":"CloudX","term_url":"https:\/\/tenjin.com\/vi\/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=\"Android \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\/vi\/docs\/android-cloudx\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android \u2013 CloudX | Tenjin\" \/>\n<meta property=\"og:description\" content=\"Android \u2013 CloudX Tenjin | %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tenjin.com\/vi\/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=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 ph\u00fat\" \/>\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\":\"vi\"},{\"@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\":\"Android \u2013 CloudX Tenjin | %\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tenjin.com\\\/docs\\\/android-cloudx\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"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\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tenjin.com\\\/#organization\",\"name\":\"Tenjin\",\"url\":\"https:\\\/\\\/tenjin.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@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\":\"vi\",\"@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\\\/vi\\\/blog\\\/author\\\/anurag\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android \u2013 CloudX | Tenjin","description":"Android \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\/vi\/docs\/android-cloudx\/","og_locale":"vi_VN","og_type":"article","og_title":"Android \u2013 CloudX | Tenjin","og_description":"Android \u2013 CloudX Tenjin | %","og_url":"https:\/\/tenjin.com\/vi\/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":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"1 ph\u00fat"},"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":"vi"},{"@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":"Android \u2013 CloudX Tenjin | %","breadcrumb":{"@id":"https:\/\/tenjin.com\/docs\/android-cloudx\/#breadcrumb"},"inLanguage":"vi","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":"Th\u1ea7n Tenjin","description":"Ph\u00e1t tri\u1ec3n \u0111\u01a1n gi\u1ea3n","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":"vi"},{"@type":"Organization","@id":"https:\/\/tenjin.com\/#organization","name":"Th\u1ea7n Tenjin","url":"https:\/\/tenjin.com\/","logo":{"@type":"ImageObject","inLanguage":"vi","@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":"vi","@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\/vi\/blog\/author\/anurag\/"}]}},"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/docs\/17714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/comments?post=17714"}],"version-history":[{"count":3,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/docs\/17714\/revisions"}],"predecessor-version":[{"id":17780,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/docs\/17714\/revisions\/17780"}],"wp:attachment":[{"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/media?parent=17714"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/doc_category?post=17714"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/glossaries?post=17714"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/tenjin.com\/vi\/wp-json\/wp\/v2\/doc_tag?post=17714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}