{"id":15467,"date":"2026-02-20T07:06:11","date_gmt":"2026-02-20T07:06:11","guid":{"rendered":"http:\/\/mariusz.bijok"},"modified":"2026-04-09T04:02:29","modified_gmt":"2026-04-09T04:02:29","password":"","slug":"liveops-campaigns","status":"publish","type":"docs","link":"https:\/\/tenjin.com\/zh\/docs\/liveops-campaigns\/","title":{"rendered":"\u52a8\u6001\u8fd0\u8425LiveOps"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">LiveOps Campaigns<\/h2>\n\n\n\n<p><p class=\"has-text-color has-background has-link-color\" style=\"color:#58151c;background-color:#f8d7da\">The response from the LiveOps feature won&#8217;t always be real-time. We don&#8217;t have the guaranteed response time, so please implement the retry logic if you don&#8217;t get a response in time.<\/p><\/p>\n\n\n\n<p>In Tenjin you can set up a custom user journey depending on their attribution source. This opens up a whole array of different opportunities for better and more innovative in-app experience.<\/p>\n\n\n\n<p>Example 1: Give in-game rewards to users that came from a specific ad campaign (eg cross-promotional campaign).<\/p>\n\n\n\n<p>Example 2: Set different user flows (onboarding, monetization, and others) depending on whether a user is coming from an advertising campaign or from an organic source.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do LiveOps Campaigns work?<\/h3>\n\n\n\n<p>After attribution data is processed on a Tenjin server, it can be returned to a client (app) upon request. The data is then processed by the app and used to display in-app content accordingly.<\/p>\n\n\n\n<p><p class=\"has-text-color has-background has-link-color\" style=\"color:#055160;background-color:#cff4fc\">Tenjin is covering only the data transition part of this workflow. Dynamic replacement of in-app content is the responsibility of app developers.<\/p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What attribution data can I pass to an app?<\/h3>\n\n\n\n<p>When available, the following parameters can be passed back to an app:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Description<\/strong><\/td><td><strong>Example of returned value<\/strong><\/td><\/tr><tr><td><code>advertising_id<\/code><\/td><td>Advertising ID of the device<\/td><td>11de7924d076456d9a203c8dee56632a<\/td><\/tr><tr><td><code>ad_network<\/code><\/td><td>Ad network of the campaign<\/td><td>mintegral<\/td><\/tr><tr><td><code>campaign_id<\/code><\/td><td>Tenjin campaign ID<\/td><td>6ebd3332-68f8-4919-875c-73fe6780d4f7<\/td><\/tr><tr><td><code>campaign_name<\/code><\/td><td>Tenjin campaign name or campaign name from ad network (if the ad network passes campaign name to Tenjin via attribution link or API, including all major channels: Meta, Google, Tiktok, Axon by Applovin, etc.)<\/td><td>mtg_us_1103<\/td><\/tr><tr><td><code>site_id<\/code><\/td><td>Sub channel or source app id<\/td><td>mtg_1256527<\/td><\/tr><tr><td><code>creative_name<\/code><\/td><td>Creative name from ad network<\/td><td>video_123<\/td><\/tr><tr><td><code>remote_campaign_id<\/code><\/td><td>Ad network campaign ID<\/td><td>ss_mtg_US_1123<\/td><\/tr><tr><td><code>deferred_deeplink_url<\/code><\/td><td>Deferred Deep Link URL<\/td><td><\/td><\/tr><tr><td><code>click_id<\/code><\/td><td>Ad network click ID<\/td><td>mtg65cebc77cddec80001c17f4w<\/td><\/tr><tr><td><code>analytics_installation_id<\/code><\/td><td>Tenjin generated application install-specific identifier<\/td><td>f024e65f3dd94f16983726bcef192d68<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Here is the example of how the returned data object may look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png?ssl=1\" alt=\"image.png\" class=\"wp-image-13100\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">What do I need to set up LiveOps campaigns with Tenjin?<\/h3>\n\n\n\n<p>You will need the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Successfully integrate Tenjin SDK 1.12.19+&nbsp;<\/li>\n\n\n\n<li>Make sure you initiate Tenjin SDK in every app open\n<ul class=\"wp-block-list\">\n<li>For Android, main activity onResume, call instance.connect();<\/li>\n\n\n\n<li>For Unity Plugin, Application onStart and onApplicationPause, call instance.connect();<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Integration Sample &#8211; iOS:<\/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:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">JavaScript<\/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\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>[&#91;TenjinSDK sharedInstance&#93;\n    getAttributionInfo:^(NSMutableDictionary *attributionInfo) {\n        NSLog(@\"TenjinSDK getAttributionInfo result: %@\", attributionInfo);\n        \/\/ LOG:\n        \/\/ {\n        \/\/\t\"advertising_id\": \"11de7924d076456d9a203c8dee56632a\",\n        \/\/\t\"ad_network\": \"mintegral\",\n        \/\/\t\"campaign_id\": \"6ebd3332-68f8-4919-875c-73fe6780d4f7\",\n        \/\/\t\"campaign_name\": \"mtg_us_1103\"\n        \/\/\t\"site_id\": \"mtg_1256527\",\n        \/\/\t\"creative_name\": \"video_123\"\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\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">[&#91;<\/span><span style=\"color: #D8DEE9\">TenjinSDK<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">sharedInstance<\/span><span style=\"color: #D8DEE9FF\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">getAttributionInfo<\/span><span style=\"color: #D8DEE9FF\">:<\/span><span style=\"color: #81A1C1\">^<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">NSMutableDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9\">attributionInfo<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D08770\">@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">TenjinSDK getAttributionInfo result: %@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">attributionInfo<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/ LOG:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/ {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/\t&quot;advertising_id&quot;: &quot;11de7924d076456d9a203c8dee56632a&quot;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/\t&quot;ad_network&quot;: &quot;mintegral&quot;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/\t&quot;campaign_id&quot;: &quot;6ebd3332-68f8-4919-875c-73fe6780d4f7&quot;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/\t&quot;campaign_name&quot;: &quot;mtg_us_1103&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/\t&quot;site_id&quot;: &quot;mtg_1256527&quot;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/\t&quot;creative_name&quot;: &quot;video_123&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">        <\/span><span style=\"color: #616E88\">\/\/ }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9FF\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><strong>Integration Sample &#8211; Android:<\/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:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">JavaScript<\/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\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>import com.tenjin.android.Callback;\nimport com.tenjin.android.TenjinSDK;\n\npublic class TenjinDemo extends ActionBarActivity {\n  \/\/...other callbacks are here\n\n  @Override\n  public void onResume() {\n    \/\/ standard code\n    super.onResume()\n\n    \/\/ Integrate TenjinSDK connect call\n    String apiKey = \"&lt;API_KEY>\";\n    TenjinSDK instance = TenjinSDK.getInstance(this, apiKey);\n    instance.connect();\n\n    instance.getAttributionInfo(new Callback() {\n      @Override\n      public void onSuccess(Map&lt;String, String> data) {\n        if (data.containsKey(TenjinConsts.ATTR_PARAM_ADVERTISING_ID)) {\n          \/\/ Advertising ID of the device\n        }\n        if (data.containsKey(TenjinConsts.ATTR_PARAM_AD_NETWORK)) {\n          \/\/ Ad network of the campaign\n        }\n        if (data.containsKey(TenjinConsts.ATTR_PARAM_CAMPAIGN_ID)) {\n          \/\/ Tenjin campaign ID\n        }\n        if (data.containsKey(TenjinConsts.ATTR_PARAM_CAMPAIGN_NAME)) {\n          \/\/ Tenjin campaign name\n        }\n        if (data.containsKey(TenjinConsts.ATTR_PARAM_SITE_ID)) {\n          \/\/ Tenjin site id\n        }\n        if (data.containsKey(TenjinConsts.ATTR_PARAM_CREATIVE_NAME)) {\n          \/\/ Tenjin creative name\n        }\n      }\n    });\n\n    \/\/ Your other code...\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\"><code><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\">Callback<\/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\">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>\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\">TenjinDemo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">extends<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">ActionBarActivity<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">  <\/span><span style=\"color: #616E88\">\/\/...other callbacks are here<\/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\">onResume<\/span><span style=\"color: #D8DEE9FF\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/ standard code<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">super<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">onResume<\/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\">\/\/ Integrate TenjinSDK connect call<\/span><\/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\">apiKey<\/span><span style=\"color: #D8DEE9FF\"> = &quot;&lt;<\/span><span style=\"color: #8FBCBB\">API_KEY<\/span><span style=\"color: #D8DEE9FF\">&gt;&quot;;<\/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\">instance<\/span><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\"> <\/span><span style=\"color: #8FBCBB\">apiKey<\/span><span style=\"color: #D8DEE9FF\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">instance<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">connect<\/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\">instance<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">getAttributionInfo<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">new<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Callback<\/span><span style=\"color: #D8DEE9FF\">() {<\/span><\/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\">onSuccess<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">Map<\/span><span style=\"color: #D8DEE9FF\">&lt;<\/span><span style=\"color: #8FBCBB\">String<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">String<\/span><span style=\"color: #D8DEE9FF\">&gt; <\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">if<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">containsKey<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">TenjinConsts<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">ATTR_PARAM_ADVERTISING_ID<\/span><span style=\"color: #D8DEE9FF\">)) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">          <\/span><span style=\"color: #616E88\">\/\/ Advertising ID of the device<\/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 style=\"color: #8FBCBB\">if<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">containsKey<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">TenjinConsts<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">ATTR_PARAM_AD_NETWORK<\/span><span style=\"color: #D8DEE9FF\">)) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">          <\/span><span style=\"color: #616E88\">\/\/ Ad network of the campaign<\/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 style=\"color: #8FBCBB\">if<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">containsKey<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">TenjinConsts<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">ATTR_PARAM_CAMPAIGN_ID<\/span><span style=\"color: #D8DEE9FF\">)) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">          <\/span><span style=\"color: #616E88\">\/\/ Tenjin campaign ID<\/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 style=\"color: #8FBCBB\">if<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">containsKey<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">TenjinConsts<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">ATTR_PARAM_CAMPAIGN_NAME<\/span><span style=\"color: #D8DEE9FF\">)) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">          <\/span><span style=\"color: #616E88\">\/\/ Tenjin campaign name<\/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 style=\"color: #8FBCBB\">if<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">containsKey<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">TenjinConsts<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">ATTR_PARAM_SITE_ID<\/span><span style=\"color: #D8DEE9FF\">)) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">          <\/span><span style=\"color: #616E88\">\/\/ Tenjin site id<\/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 style=\"color: #8FBCBB\">if<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">data<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">containsKey<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">TenjinConsts<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">ATTR_PARAM_CREATIVE_NAME<\/span><span style=\"color: #D8DEE9FF\">)) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">          <\/span><span style=\"color: #616E88\">\/\/ Tenjin creative name<\/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>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/ Your other code...<\/span><\/span>\n<span class=\"line\"><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<p><br><strong>Integration Sample &#8211; Unity:<\/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:1rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.5rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">JavaScript<\/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\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>BaseTenjin instance = Tenjin.getInstance(\"&lt;SDK_KEY>\");\n\ninstance.GetAttributionInfo((Dictionary&lt;string, string> attributionInfoData) => {\n    \/\/ Handle the attribution info data here\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\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">BaseTenjin<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">instance<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Tenjin<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">getInstance<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">&lt;SDK_KEY&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">instance<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">GetAttributionInfo<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">Dictionary<\/span><span style=\"color: #D8DEE9FF\">&lt;<\/span><span style=\"color: #D8DEE9\">string<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">string<\/span><span style=\"color: #D8DEE9FF\">&gt; <\/span><span style=\"color: #D8DEE9\">attributionInfoData<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #616E88\">\/\/ Handle the attribution info data here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Here is the example of how the returned data object may look like:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png?ssl=1\" alt=\"image.png\" class=\"wp-image-13100\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>LiveOps Campaigns The response from the LiveOps feature won&#8217;t always be real-time. We don&#8217;t have the guaranteed response time, so please implement the retry logic if you don&#8217;t get a response in time. In Tenjin you can set up a custom user journey depending on their attribution source. This opens up a whole array of&#8230;<\/p>","protected":false},"author":25,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"doc_category":[242],"glossaries":[],"doc_tag":[],"class_list":["post-15467","docs","type-docs","status-publish","hentry","doc_category-data-exports"],"acf":[],"year_month":"2026-04","word_count":816,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"mariusz.bijok","author_nicename":"mariusz-bijok","author_url":"https:\/\/tenjin.com\/zh\/blog\/author\/mariusz-bijok\/"},"doc_category_info":[{"term_name":"Data Exports","term_url":"https:\/\/tenjin.com\/zh\/docs\/category\/data-exports\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LiveOps Campaigns<\/title>\n<meta name=\"description\" content=\"LiveOps Campaigns 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\/liveops-campaigns\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LiveOps Campaigns\" \/>\n<meta property=\"og:description\" content=\"LiveOps Campaigns Tenjin | %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tenjin.com\/zh\/docs\/liveops-campaigns\/\" \/>\n<meta property=\"og:site_name\" content=\"Tenjin\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-09T04:02:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png\" \/>\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=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/\"},\"author\":{\"name\":\"mariusz.bijok\",\"@id\":\"https:\/\/tenjin.com\/#\/schema\/person\/2df6a56c45e0493e93ec6d7100750b77\"},\"headline\":\"LiveOps Campaigns\",\"datePublished\":\"2026-02-20T07:06:11+00:00\",\"dateModified\":\"2026-04-09T04:02:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/\"},\"wordCount\":400,\"publisher\":{\"@id\":\"https:\/\/tenjin.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/\",\"url\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/\",\"name\":\"LiveOps Campaigns\",\"isPartOf\":{\"@id\":\"https:\/\/tenjin.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png\",\"datePublished\":\"2026-02-20T07:06:11+00:00\",\"dateModified\":\"2026-04-09T04:02:29+00:00\",\"description\":\"LiveOps Campaigns Tenjin | %\",\"breadcrumb\":{\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage\",\"url\":\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png\",\"contentUrl\":\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#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\":\"LiveOps Campaigns\"}]},{\"@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\/2df6a56c45e0493e93ec6d7100750b77\",\"name\":\"mariusz.bijok\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/tenjin.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g\",\"caption\":\"mariusz.bijok\"},\"url\":\"https:\/\/tenjin.com\/zh\/blog\/author\/mariusz-bijok\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u52a8\u6001\u8fd0\u8425LiveOps","description":"LiveOps Campaigns 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\/liveops-campaigns\/","og_locale":"zh_CN","og_type":"article","og_title":"LiveOps Campaigns","og_description":"LiveOps Campaigns Tenjin | %","og_url":"https:\/\/tenjin.com\/zh\/docs\/liveops-campaigns\/","og_site_name":"Tenjin","article_modified_time":"2026-04-09T04:02:29+00:00","og_image":[{"url":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@TenjinMMP","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#article","isPartOf":{"@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/"},"author":{"name":"mariusz.bijok","@id":"https:\/\/tenjin.com\/#\/schema\/person\/2df6a56c45e0493e93ec6d7100750b77"},"headline":"LiveOps Campaigns","datePublished":"2026-02-20T07:06:11+00:00","dateModified":"2026-04-09T04:02:29+00:00","mainEntityOfPage":{"@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/"},"wordCount":400,"publisher":{"@id":"https:\/\/tenjin.com\/#organization"},"image":{"@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage"},"thumbnailUrl":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png","inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/","url":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/","name":"\u52a8\u6001\u8fd0\u8425LiveOps","isPartOf":{"@id":"https:\/\/tenjin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage"},"image":{"@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage"},"thumbnailUrl":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png","datePublished":"2026-02-20T07:06:11+00:00","dateModified":"2026-04-09T04:02:29+00:00","description":"LiveOps Campaigns Tenjin | %","breadcrumb":{"@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tenjin.com\/docs\/liveops-campaigns\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#primaryimage","url":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png","contentUrl":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/01\/image316.png"},{"@type":"BreadcrumbList","@id":"https:\/\/tenjin.com\/docs\/liveops-campaigns\/#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":"LiveOps Campaigns"}]},{"@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\/2df6a56c45e0493e93ec6d7100750b77","name":"mariusz.bijok","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/tenjin.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g","caption":"mariusz.bijok"},"url":"https:\/\/tenjin.com\/zh\/blog\/author\/mariusz-bijok\/"}]}},"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/15467","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\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/comments?post=15467"}],"version-history":[{"count":4,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/15467\/revisions"}],"predecessor-version":[{"id":17192,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/15467\/revisions\/17192"}],"wp:attachment":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/media?parent=15467"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_category?post=15467"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/glossaries?post=15467"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_tag?post=15467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}