AdobeAIR应用程序如何找到下载它的URL?

AdobeAIR应用程序如何找到下载它的URL?,air,Air,我们有一个AdobeAIR应用程序,可以从多个域下载。当它运行时,它应该连接回下载它的站点,以获取数据显示给用户 到目前为止,我们为每个域构建了一个单独的应用程序,其中包含一个硬编码的站点URL。我想知道AIR应用程序是否有办法在运行时找到下载它的URL(或至少是域) 我们想要的是一个从所有不同域提供的可下载二进制文件,它仍然可以知道它的源URL。这应该如何工作?我看到的唯一解决方案(独立于AIR)是,您随应用程序提供一个额外的(属性)文件,其中包含从中下载的URL。因此,你不需要为每个域构建一

我们有一个AdobeAIR应用程序,可以从多个域下载。当它运行时,它应该连接回下载它的站点,以获取数据显示给用户

到目前为止,我们为每个域构建了一个单独的应用程序,其中包含一个硬编码的站点URL。我想知道AIR应用程序是否有办法在运行时找到下载它的URL(或至少是域)


我们想要的是一个从所有不同域提供的可下载二进制文件,它仍然可以知道它的源URL。

这应该如何工作?我看到的唯一解决方案(独立于AIR)是,您随应用程序提供一个额外的(属性)文件,其中包含从中下载的URL。因此,你不需要为每个域构建一个单独的应用程序,只需要打包一个不同的域文件即可。然后应用程序读取此文件并执行一些上下文相关的内容。

没有直接的方法

以下是我们想到的一些选项:

  • 为每个站点构建不同的版本(这可以自动化)
  • 让用户在首次启动时选择站点
  • 试着用你所有的资源(时区、语言等)来猜测它

当用户下载时,您可以将其IP地址存储在中央数据库中。然后,当应用程序第一次安装并运行时,应用程序可能会点击您的中央数据库,将其IP地址与下载的服务器进行匹配。

一个具有特定名称的cookie存储在下载页面上,而AIR应用程序正在寻找它吗?虽然这可能不适用于直接下载。这可能也很难实现,因为了解用于下载的特定浏览器会成为一个问题。

没有检索此类信息的功能,如果您仔细想想,这将毫无意义

最稳定的方法是在包中包含一个外部配置文件


请注意,您可以使用ANT为最终部署自动化此过程。

我现在正试图解决完全相同的问题。 看起来您可以修改安装徽章以将参数传递给air应用程序。 从我收集的信息来看,这些值仅在安装或从badge启动时传递

我计划研究的是“AIRBadge.as”中的一个参数是_appURL,它是徽章所在页面的URL。我还不知道这个值是否在某种程度上取决于安装的AIR应用程序;但它可能是一种有用的财产。我最终希望AIR安装过程将其注入到应用程序描述符xml中,但我不会屏住呼吸


查看此页面:

嗯,问题是特定于AIR的,因为AIR应用程序是一个单签名文件。因此,“构建一个单独的应用程序”和“打包一个不同的域文件”之间没有区别。问题的关键是要有一个可下载的二进制文件,它仍然可以知道它的原始URL。你不能从AIR中访问文件吗?虽然AIR应用程序是一个单独的文件,但您可以将其打包成zip文件。用户将其与同一文件系统级别的properties.txt文件一起解压到文件系统中。但是Air应用程序作为应用程序而不是ZIP下载,因此外部文件无法工作,您需要按照Theo t的部署进行构建。建议您不能从Air应用程序插入用户系统上的cookie。除非他们的IP发生更改,或者他们把副本寄给朋友,或者。。。很抱歉,这不是一个可行的解决方案专业化的构建是可行的解决方案您可能可以从Mac或Sun计算机上获取此信息,他们将此信息存储在其文件描述符中,但不是真正的解决方案,因为您无论如何都无法获取此信息:(