【问题标题】:Appcelerator - How to add Universal Links support in iOS9 AppAppcelerator - 如何在 iOS9 应用中添加通用链接支持
【发布时间】:2016-04-11 07:07:15
【问题描述】:

每当用户点击我们网站的网址时,我希望允许我的用户打开我们的应用程序(如果已安装,否则重定向到 App Store 应用程序页面)。

我发现 Universal Links 是从 iOS-9 开始满足上述要求的一种方式。我也知道 Web 服务器和 Apple 开发者门户要涵盖的要点。

唯一的问题是如何在 Appcelerator Titanium 应用中启用关联域

提前感谢任何线索或帮助。

【问题讨论】:

    标签: ios appcelerator appcelerator-titanium ios-universal-links


    【解决方案1】:

    通过这个过程,我们在生产应用程序上为 ios + android 提供了通用链接(基于AppC Handoff Sample App

    1) 将 Apple Dev Center 上的关联域添加到应用程序 -> 这将生成一个新的配置文件,您将使用它来构建 Titanium。

    2) 您需要显式编辑您的 Entitlments.plist 文件,通常这是由 Ti 自动生成的。要获取此文件的副本,请执行以下操作:

    a) Build app for device
    b) Navigate to project\build\iphone
    c) Find the generated Entitlments.plist file
    

    3) 将此文件复制到项目的根文件夹并在“dict”节点下添加以下内容:

    <key>com.apple.developer.associated­domains</key>
    <array>
      <string>applinks:www.example.com</string> 
    </array>
    

    这应该创建必要的数据以将应用绑定到正确的网站以进行链接。

    4) 现在要实际捕获深层链接点击 + url,您需要监听以下事件:Ti.App.iOS.continueactivity

    例如:

    Ti.App.iOS.addEventListener('continueactivity', function(e){
      //Since this event can be fired from multiple cases 
      //we need to check if it was a deeplink that fired it
      if(e.activityType === "NSUserActivityTypeBrowsingWeb"){
        //Since it WAS from a deeplink, the event response contains some 
        //other useful data (see the docs link)
        var deepLinkURL = e.webpageURL;
        //From here you can navigate the app to a relevant page etc...
      }
    };
    

    遗憾的是,此功能在 sdk 5.X 中被破坏,已在此处修复:TIMOB-20220(单行)但据我所知,直到 5.4.0 才会包含在官方 .GA sdk 中(计划于 6 月发布)。

    如果您还有其他问题,Ti Slack 群聊也是一个很好的提问场所(一大群活跃用户)。

    【讨论】:

    • 我测试了nightly build,在遇到这个错误 4 个月后,它再次在 iOS 中工作了。如果您对夜间构建没有保留意见,则可以直接使用它。
    • 感谢您的大力帮助@Boarnoah!我很快就会试试这个。顺便说一句,我怎样才能加入那个 Ti Slack 组?
    • @Manaday 你应该可以连接到ti-slack.slack.com 并创建一个 Slack 帐户。
    • 它需要邮件邀请。你能帮我在 m.k.mavani[at]gmail.com 上获得邀请吗?
    • @Boarnoah 我已经尝试过您提供的步骤:在 App ID 中启用关联域并为其创建新的临时证书。我还在我的项目中添加了 Entitlements.plist。但是,一旦我尝试在设备上安装软件包,它就会向我显示“无效权利”之类的错误。一旦我禁用关联域并为应用程序 ID 创建新证书,该应用程序就会安装。你能在这里指导我如何在我的设备上安装临时包吗?
    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 2019-12-20
    • 1970-01-01
    相关资源
    最近更新 更多