在我的应用程序中,我有一个用于 facebook 和 twitter 等的分享按钮。我希望人们可以发推文并发布我的应用程序的链接,但该应用程序尚未在应用程序商店中可用,所以我无法拥有链接到应用程序。
如果您正在撰写推文,在某些应用程序中会有指向该应用程序的链接,他们是如何做到的?
在我的应用程序中,我有一个用于 facebook 和 twitter 等的分享按钮。我希望人们可以发推文并发布我的应用程序的链接,但该应用程序尚未在应用程序商店中可用,所以我无法拥有链接到应用程序。
如果您正在撰写推文,在某些应用程序中会有指向该应用程序的链接,他们是如何做到的?
正如 H2CO3 指出的那样,从您控制的服务器交付 AppStore URL 可能是您更喜欢的东西。自然,首先想到的问题是“为什么我必须使用服务器?我不能直接将它编码到我的应用程序中吗?
简而言之,您不需要使用服务器,但您可能会发现它为您提供的好处和灵活性是以更多的网络代码和应用程序的复杂性为代价的。让我们稍微扩展一下,想象我们生活在一个完美的世界中,我们 100% 准确地知道 AppStore URL 将是什么并且永远不会改变。我们可以直接将该 URL 编码到我们的应用程序中,并且我们再也不需要考虑我们应用程序的那部分 - 它总是会推特正确的 URL,用户会很高兴,而您作为开发人员可以将您的关注更重要的事情。
不幸的是,事情通常不能完美运行,作为软件开发人员,我们必须考虑现实的丑陋边缘并编写代码来优雅地处理它们。以下是硬编码 URL 的一些潜在问题:
H2CO3 使用服务器构建的建议可能源于编写软件的经验以及开发人员固有的风险管理驱动的思维过程——如果我可以做些什么来让我的软件更优雅地处理这些丑陋的边缘并让我的软件更可靠,它花额外的时间以不同的方式实现我的功能以保护它免受未来可能为我的应用程序存储的模糊未知数可能是有意义的。
为了平衡反对将 URL 放在服务器上的论点:
如上所述,您不需要让您的应用程序从您控制的服务器中获取 URL,但您可能希望它这样做。只有您,作为应用程序的开发人员,才能确定您愿意接受的风险程度,以及您研究、发明或以其他方式获得的哪些可用选项似乎最适合您的特定需求。
由于我不知道你的背景,我将保持相对较高的水平,并在一些方向上再给你一些提示,你可以去做一些额外的研究:
关于“设置服务器”的想法——您可以从 Internet 上的许多托管服务提供商处购买托管帐户,或者如果这是一个学校或工作项目,您可以与您的 IT 人员交谈以申请网站空间. 完成该设置后,您可以在该空间上放置一个带有占位符 URL 的文件,并在您的应用程序中编写一些代码以连接到您的服务器并读取您的文件(其中包含您的假 URL!),然后将其放入您的推文. 一旦您的应用程序获得批准,您可以将服务器上的虚假 URL 更改为真实 URL,您的应用程序将按照您的意愿运行。对于 App 部分,您可能会查看一些简单的 +stringWithContentsOfURL: NSString 上的方法(尽管请记住考虑诸如如果 Internet 出现故障会发生什么,或者如果您没有从服务器返回任何内容, ETC。!)
关于“将 URL 硬编码到应用程序中”的想法——Apple 甚至在开发人员发布应用程序之前就为他们提供了一些营销资源。结帐 ( https://developer.apple.com/appstore/resources/marketing/index.html ),重点是短链接部分,还结帐技术问答 1633 ( https://developer.apple.com/library/ios /#qa/qa1633/_index.html)。这两个链接都为您提供了有关如何在 AppStore 上直接建立链接的信息,只需提供他们的名称即可。像以前一样,请记住考虑如果您决定重命名您的应用程序会发生什么,或者链接到其他地方(或者可能无处!)会更有意义。
希望这将帮助您更多地思考您实际想要实现的目标,并让您了解其他开发人员在面临像您在这里提出的决定时的想法。
虽然我同意 Bryan 的观点,但我总是避免将服务器用于基本事务。使用 ios 5+,您可以从应用程序内部发送推文(并且您可以添加默认推文(即到应用程序的链接)
您的问题可以通过这种方式轻松解决:使用指向应用商店的链接创建一个短链接(指向应用商店的链接格式如下:https://itunes.apple.com/app/id <app id>
,应用 id 位于 Apple ID 下的 itunnesconnect 中)
例如,您可以制作这样的默认推文:“查看这个很棒的应用程序!!goo.gl/buya”,然后用户可以根据需要对其进行编辑。
另外..Apple 极不可能更改其链接的格式...太多用户依赖这种格式来做...很多事情