{"id":1199,"date":"2025-05-27T13:29:52","date_gmt":"2025-05-27T13:29:52","guid":{"rendered":"https:\/\/varnagame.site\/?p=1199"},"modified":"2026-02-25T09:24:17","modified_gmt":"2026-02-25T09:24:17","slug":"deferred-deep-link-%d0%b2-unity-ios","status":"publish","type":"post","link":"https:\/\/varnagame.site\/?p=1199","title":{"rendered":"Deferred Deep Link \u0432 Unity (iOS)"},"content":{"rendered":"\n<p><strong>\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Firebase Dynamic Links<\/strong> \u0432 <strong>Unity \u0434\u043b\u044f iOS<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 <strong>\u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c deferred deep link<\/strong> \u2014 \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0438.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 \u0427\u0442\u043e \u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0448\u044c:<\/h2>\n\n\n\n<ul>\n<li>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Firebase<\/li>\n\n\n\n<li>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 <code>deferred deep link<\/code> \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435<\/li>\n\n\n\n<li>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <code>https:\/\/yourapp.com\/?product_id=123<\/code><\/li>\n\n\n\n<li>\u0420\u0430\u0437\u0431\u043e\u0440 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: <code>product_id<\/code>)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde9 \u0428\u0430\u0433 1: \u041d\u0430\u0441\u0442\u0440\u043e\u0439 Firebase Dynamic Links<\/h2>\n\n\n\n<ol>\n<li>\u0412 Firebase Console:\n<ul>\n<li>\u0412\u043a\u043b\u044e\u0447\u0438 <strong>Dynamic Links<\/strong> (\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 &#8220;Engage&#8221;)<\/li>\n\n\n\n<li>\u0421\u043e\u0437\u0434\u0430\u0439 \u0434\u043e\u043c\u0435\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>https:\/\/yourapp.page.link<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0421\u043e\u0437\u0434\u0430\u0439 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438:<\/li>\n<\/ol>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code>https:\/\/yourapp.page.link\/?link=https:\/\/yourapp.com\/?product_id=123&ibi=com.yourapp.ios<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd27 \u0428\u0430\u0433 2: \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438 Firebase SDK \u0432 Unity<\/h2>\n\n\n\n<ol>\n<li>\u0421\u043a\u0430\u0447\u0430\u0439 <a>Firebase Unity SDK<\/a><\/li>\n\n\n\n<li>\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439:\n<ul>\n<li><strong>Firebase Core<\/strong><\/li>\n\n\n\n<li><strong>Firebase Dynamic Links<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439 <code>GoogleService-Info.plist<\/code> \u0432 <code>Assets\/<\/code><\/li>\n\n\n\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438 <code>External Dependency Manager<\/code> (\u043e\u043d \u0438\u0434\u0451\u0442 \u0432 SDK)<\/li>\n\n\n\n<li>\u041f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 Xcode \u0434\u043e\u0431\u0430\u0432\u0438\u0442 <code>Info.plist<\/code> \u0438 \u043d\u0443\u0436\u043d\u044b\u0435 <code>Pod<\/code>&#8216;\u044b<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<ol>\n<li><code>Pod<\/code>&#8216;\u044b<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfaf \u0428\u0430\u0433 3: \u0421\u043a\u0440\u0438\u043f\u0442 <code>FirebaseLinkDetector.cs<\/code><\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\"><code>using UnityEngine;\nusing Firebase;\nusing Firebase.DynamicLinks;\nusing System;\n\npublic class FirebaseLinkDetector : MonoBehaviour\n{\n    void Start()\n    {\n        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =&gt; {\n            if (task.Result == DependencyStatus.Available)\n            {\n                FirebaseDynamicLinks.DynamicLinkReceived += OnDynamicLink;\n            }\n            else\n            {\n                Debug.LogError(&quot;Firebase \u043d\u0435 \u0433\u043e\u0442\u043e\u0432: &quot; + task.Result);\n            }\n        });\n    }\n\n    void OnDynamicLink(object sender, ReceivedDynamicLinkEventArgs e)\n    {\n        Uri deepLink = e.ReceivedDynamicLink?.Url;\n        if (deepLink != null)\n        {\n            Debug.Log(&quot;\u041f\u043e\u043b\u0443\u0447\u0435\u043d deferred deep link: &quot; + deepLink.AbsoluteUri);\n\n            \/\/ \u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\n            var query = deepLink.Query; \/\/ ?product_id=123\n            var param = System.Web.HttpUtility.ParseQueryString(query);\n            string productId = param[&quot;product_id&quot;];\n            Debug.Log(&quot;product_id = &quot; + productId);\n        }\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<p>\ud83d\udccc <em>\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 <code>System.Web<\/code> \u0432 <code>Assembly-CSharp.csproj<\/code> (\u0434\u043b\u044f <code>HttpUtility<\/code>).<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddea \u0428\u0430\u0433 4: \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430<\/h2>\n\n\n\n<ol>\n<li>\u0423\u0434\u0430\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/li>\n\n\n\n<li>\u041f\u0435\u0440\u0435\u0439\u0434\u0438 \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 Firebase Dynamic Link \u0432 Safari<\/li>\n\n\n\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 App Store<\/li>\n\n\n\n<li>\u041f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0432 Unity \u2192 \u0442\u044b \u0443\u0432\u0438\u0434\u0438\u0448\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:<\/li>\n<\/ol>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>\u041f\u043e\u043b\u0443\u0447\u0435\u043d deferred deep link: https:\/\/yourapp.com\/?product_id=123\nproduct_id = 123<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 \u0412\u0441\u0451!<\/h2>\n\n\n\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0442\u044b \u043c\u043e\u0436\u0435\u0448\u044c:<\/p>\n\n\n\n<ul>\n<li>\u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c <strong>deferred \u0441\u0441\u044b\u043b\u043a\u0443 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435<\/strong><\/li>\n\n\n\n<li>\u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (<code>utm_source<\/code>, <code>product_id<\/code>, \u0438 \u0442.\u0434.)<\/li>\n\n\n\n<li>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0435\u0437 Adjust, Branch \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 SDK<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Firebase Dynamic Links \u0432 Unity \u0434\u043b\u044f iOS, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c deferred deep&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,10,20],"tags":[],"_links":{"self":[{"href":"https:\/\/varnagame.site\/index.php?rest_route=\/wp\/v2\/posts\/1199"}],"collection":[{"href":"https:\/\/varnagame.site\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/varnagame.site\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/varnagame.site\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/varnagame.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1199"}],"version-history":[{"count":3,"href":"https:\/\/varnagame.site\/index.php?rest_route=\/wp\/v2\/posts\/1199\/revisions"}],"predecessor-version":[{"id":1203,"href":"https:\/\/varnagame.site\/index.php?rest_route=\/wp\/v2\/posts\/1199\/revisions\/1203"}],"wp:attachment":[{"href":"https:\/\/varnagame.site\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/varnagame.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/varnagame.site\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}