如何实施DeepLinking如果用户没有应用程序呢?

时间:2017-09-05 13:10:37

标签: ios swift laravel-5 deep-linking ios-universal-links

我对项目的DeepLinking或Universal Links有3个要求。

  1. 如果用户有应用程序,则UR​​L应重定向到包含内容的应用程序。
  2. 如果用户没有该应用程序,那么它应该重定向到Appstore。
  3. 如果用户没有应用程序,那么它应该重定向到Appstore,在下载应用程序后,它应该转到包含我使用URL发送的数据的页面。
  4. 我遵循的链接:

    1. https://www.raywenderlich.com/128948/universal-links-make-connection
    2. https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
    3. http://swiftdeveloperblog.com/deep-linking-using-custom-url-scheme/
    4. http://blogs.innovationm.com/deferred-deep-linking-in-ios-with-universal-link/
    5. https://developer.apple.com/documentation/security/shared_web_credentials/preparing_your_app_and_website_to_share
    6. http://www.brianjcoleman.com/tutorial-deep-linking-in-swift/
    7. 我的理解是:

        

      创建和上传关联文件,为此我必须遵循以下步骤:

           

      添加对通用链接的支持很容易。您需要采取三个步骤:

           

      创建一个apple-app-site-association文件,其中包含有关您的应用可以处理的网址的JSON数据。将apple-app-site-association文件上传到您的HTTPS Web服务器。您可以将文件放在服务器的根目录或.well-known子目录中。准备您的应用程序以处理通用链接。

           

      创建和上传关联文件

           

      要在您的网站和应用之间建立安全连接,请在它们之间建立信任关系。您可以分两部分建立这种关系:

           

      您添加到网站的apple-app-site-association文件   您添加到应用程序的com.apple.developer.associated-domains权利

           

      准备应用程序以处理通用链接。
        在com.apple.developer.associated-domains授权中,包含您的应用想要作为通用链接处理的域的列表。要在Xcode中执行此操作,请打开“功能”选项卡中的“关联域”部分,并为应用支持的每个域添加一个条目,前缀为applinks:,例如applinks:www.mywebsite.com。

      问题是:我遵循了所有步骤,并且我有一个网址,我将其添加到我的关联域中的域中。

      示例:https://<My_Domain>/anything。 现在Backend正在生成URL并发送。

      我们正在使用Http服务器。

      示例:

      Route::get('appstore',function(){ return redirect()->away('https://itunes.apple.com/in/app/whatsapp-messenger/id310633997?mt=8');}); 
      

      问题是,当我点击该网址时,我没有获得已经应用的任何弹出窗口,并且下载了我将获得的数据?

      错过了什么或者后端丢失了什么?

1 个答案:

答案 0 :(得分:0)

因此,您似乎正在尝试完成延迟深层链接,这意味着如果安装了应用,您将用户路由到内容,或者将用户路由到应用商店以下载应用并在应用程序打开后向他们展示内容。这很难自己做,我会稍微解释一下。

看起来您正在正确设置通用链接,但重定向到应用商店相当苛刻。 Universal Links旨在用于将用户重定向到Web版本,这意味着将它们带到应用商店并非易事。

如果您确实让用户访问了应用商店,那么在安装应用后,只需将他们引导至内容的延迟深层链接nearly impossible即可自行完成,而无需使用{{3}等第三方服务}}。分支机构还允许您将用户推回到应用商店以下载应用,如果这是您所寻找的用户体验。

希望这有帮助!