3

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

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

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

在此先感谢您提供任何线索或帮助。

4

1 回答 1

7

通过此过程,我们在生产应用程序上为 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(一个单行),但它不会包含在官方 .GA sdk 中,直到我听到的 5.4.0(预定六月发布)。

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

于 2016-04-11T20:19:11.803 回答