如果未安装应用程序,则重定向到应用程序商店

2023-12-31

场景是用户将获得他的电子邮件的链接。如果用户单击链接,如果应用程序已安装,则应用程序应打开,如果应用程序未安装,则应重定向到应用程序商店。

我已经看到了深度链接的实现,但我相信它也需要在后端进行更多的实现。任何人都可以帮忙解决这个问题吗?

如果已安装,则重定向至应用程序,否则重定向至 App Store https://stackoverflow.com/questions/14048159/redirect-to-application-if-installed-otherwise-to-app-store

经历过这个。还有更好的办法吗?

添加了另一种场景的 gif:

在下面的 gif 中,从电子邮件直接导航到应用程序?如何?


我假设您要通过电子邮件传递的链接是https关联。如果是这种情况,为了让 iOS 能够将其重定向到您的应用程序,您需要实现通用链接 https://developer.apple.com/ios/universal-links/。此实施要求您在您的计算机上注册您想要响应的域entitlements文件并添加一个苹果应用程序站点关联 https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/enabling_universal_links文件到您的后端。这样,Apple 就可以验证您尝试响应的域名确实是您的。

因此,当应用程序安装后,您的域链接可以通过深度链接调用它。

现在,当没有安装的应用程序能够响应特定的https域链接,系统将简单地在网络浏览器上打开它。因此,您无法强制 iOS 直接在 AppStore 上打开此类链接。你可以做的是,当你的网站被访问时,检查运行的设备是否是iOS,并要求系统在AppStore上显示你的应用程序。

并请求 iOS 从您可以使用的网站启动 AppStoreitms-apps:

const iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);

if (iOS) {
  // Just replace `https://` with `itms://` on your app's AppStore link.
  window.location.href = "itms://itunes.apple.com/us/app/google-maps-transit-food/id585027354?mt=8";
}

// In this example I'm redirecting to Google Maps app page on AppStore.

Note:这只是一个用于演示该概念的简单示例。对于真正的应用程序,您可能需要使用浏览器的设备检测库,例如移动检测.js https://github.com/hgoebl/mobile-detect.js

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果未安装应用程序,则重定向到应用程序商店 的相关文章

  • 从xcode上触摸屏的坐标获取ImageView的像素数据?

    单击视图并从视图内的图像获取正确的像素数据似乎存在问题 func handleTap gestureRecognizer UIGestureRecognizer print You tapped at gestureRecognizer l
  • NSCalendar 返回明年第一周上周一的错误日期

    我使用下面的代码使用随机日期来计算上周一 哪个工作文件但我的代码在明年日期中断 下面是相同的代码 NSDate date NSDate dateWithTimeIntervalSince1970 1483620311 228 NSLog c
  • UIStackView分布均匀填充

    所以 我有一个UIStackView其中包含四 4 UIViews 如果我删除其中一 1 个UIViews 其他三 3 个将填满UIStackView 我的问题 如何添加最大高度UIView这样它就不会填满整个空间UIStackView即使
  • AFNetworking XML 请求问题

    我在用着AFNetworking 2使用 JSON 响应 它工作正常 现在我必须将其转换为 XML 而不是使用 JSON 因为服务器响应是 XML 格式的 在我搜索之后 我找到了这段代码 但它不起作用 与 Charles 我发现请求是错误的
  • Cordova 2.4.0 或 2.5.0 或 2.6.0 和 requirejs

    Cordova 2 4 0 及更高版本支持 AMD 加载到 javascript 中 我特别希望将 Cordova 2 5 0 与最新版本的 RequireJS backbone jquery jquery mobile 一起使用 我还没有
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • 从 UIPickerView 的选定行设置 UIButton 的标题

    详细场景是这样的 我使用循环创建 10 个按钮并设置 0 9 的标签 点击每个按钮时 我将调用 UIPickerView 在其中加载来自不同数组的数据 到这里我就得到了预期的结果 但我希望 pickerView 中选定的行应设置为相应按钮的
  • 如何保护 iOS 应用程序免受任何操作系统攻击(在越狱设备上)

    我希望保护我的应用程序数据 以防任何操作系统攻击或越狱 iOS 设备上的未经授权的访问 在这种情况下 有什么方法可以检测此类威胁并保护应用程序数据 虽然我同意 jrturton 的说法 但如果您有想要保护的关键数据免受流氓应用程序 而不是用
  • 从一个模态视图无缝翻转到另一个模态视图,而不显示纯色背景

    我的 iPad 应用程序的 UI 如下 当我点击Settings按钮 我希望对话框水平翻转以显示设置对话框 我这个工作正常 但是 当对话翻转时会显示背景颜色 如你看到的 有什么办法可以让对话框翻转时不显示该颜色块吗 我希望它看起来更加无缝
  • dyld:无法加载插入的库

    当我尝试运行 UI 和单元测试时 出现异常 dyld 无法加载插入的库 private var containers Bundle Application AutoTestingApp app Frameworks IDEBundleInj
  • 从按钮执行 Segue 时应用程序冻结

    我的故事板中有一个按钮 它呈现一个带有模式序列的视图控制器 每次按下此按钮时 应用程序都会冻结 没有崩溃 也没有错误消息 prepareForSegue被调用 所有应该存在的视图控制器都在代码中prepareForSegue 但它们不会出现
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 使用未解析的标识符“FlurryAdInterstitial”

    我正在尝试整合Flurry Interstitial Ads使用cocoapods in Swift and Xcode 7 1 1 我正在关注开发人员雅虎网站上的此文档 https developer yahoo com flurry d
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

    我正在尝试创建从用户相册中选择的视频的缩小版本 输出的最大尺寸为 720p 因此 在检索视频时 我使用 mediumQualityFormat as the deliveryMode 如果用户设备中不存在原始视频或其中等质量版本 这会导致
  • ReactiveCocoa 将 SignalProducers 合二为一

    我正在使用 ReactiveCocoa 并且我有几个 SignalProducers let center NSNotificationCenter defaultCenter let signalProducer1 center rac
  • 贴纸包会在模拟器上使 iMessage 崩溃,但在 iPhone 上不会崩溃

    按照 Apple 的在线说明和视频在 Xcode 中创建了一个贴纸包 所有图像的尺寸均正确且远低于文件大小阈值 如果我在我的实体 iPhone 上构建并运行贴纸包 一切都会完美运行 如果我在模拟器上构建并运行贴纸包 对于任何模拟的 iPho
  • 如何解决 Xcode 5 中的红色(已移动)文件?

    在 Xcode 4 中 当您要移动文件时 可以通过单击右侧菜单中的按钮并通过 Finder 选择新位置来解析文件的新位置 在 Xcode 5 中 右侧菜单中没有按钮 我还没有找到任何方法通过右键单击文件或顶部菜单栏选项来指定文件的新位置 在
  • 叠加 SKScene 未显示

    我正在尝试将 SKScene 覆盖在 SCNScene 上 当我在模拟器和 iPhone6 上运行我的应用程序时 overlayScene SKScene 按预期显示 但是当我尝试在 iPhone5 上运行它 尝试了 2 个不同的设备 时
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 隐藏选项卡栏项目并对齐其他选项卡项目

    在我的应用程序中 我有 4 个选项卡栏项目 我正在 XIB 文件中添加这 4 个选项卡栏项目 最初我必须显示 3 个选项卡栏项目 同步后我必须在我的应用程序中显示第 4 个选项卡栏项目 因此 为此 我使用以下代码隐藏第四个选项卡栏项目 se

随机推荐

  • 结合 Aero Glass 效果和 SWT

    作为一个宠物项目 我一直在尝试将 Aero Glass 效果集成到我的 SWT 应用程序中的概念 ukasz Milewski 有一篇很棒的博客文章 http www milewski ws 2009 02 vista glass in s
  • 用 C++ 编写的语法和语义代码完成框架

    这个问题比我之前的问题更精确 用 C C 编写的通用代码补全框架 https stackoverflow com questions 13595747 general code completion framework written in
  • CLang 错误(目标 C):初始化期间存储的值永远不会被读取

    Foo oFoo Foo alloc init autorelease 这就是我被教导用 Objective C 编程的方式 但 CLang 错误检查器抱怨从未读取初始值 但 oFoo 是一个具有属性的对象 oFoo 本身没有单一值 财产价
  • Oracle:max(id)+1和sequence.nextval之间的区别

    我正在使用甲骨文 我们创建时有什么不同ID using max id 1并使用sequance nexval 在哪里使用以及何时使用 Like insert into student id name values select max id
  • 在 Typoscript HMENU 中,如何强制 URL 的语言

    我有一个多语言 多站点 多域 TYPO3 4 5 实例 RealURL 让我很忙 在某些子站点中 我无法让它为语言 1 和 2 创建正确的 URL 它将导致模式 www language 2 domain com language 1 pa
  • 测试Lua数字是整数还是浮点数

    在我的C 程序中 我需要知道Lua变量是整数还是浮点数 C API 提供lua isnumber 但这个函数不区分int float double 到目前为止 我已经通过使用解决了这个问题modf if lua isnumber luaCt
  • 直接访问 php superglobal 时的安全问题

    我刚刚将我的 IDE Netbean 升级到 1 7 4 beta 以对其进行测试 现在看来 每当我访问我的超全局变量时 它都会向我发出警告 它说 不要直接访问超级 POST数组 我目前只是使用这个 taxAmount intval cei
  • 赔率和偶数应用

    我正在生成 25 个 0 到 99 之间的随机整数 但是我必须 在一行上显示所有偶数 在下一行显示所有赔率 我该怎么做 public class FindEvenOrOddNumber public static void main Str
  • 在加载 HTML 表格中的每一行时添加延迟

    我正在从 Jquery 动态加载 HTML 表的数据 document ready function for var i 0 i lt StudentsList length i LoadRow StudentsList i functio
  • 路径路由:React 应用程序的应用程序负载均衡器

    我正在尝试在 AWS 应用程序负载均衡器中创建路径路由 Example apple mango com vault去instance1端口 80 和 nginx 将其路由到 var html reactApp1 build apple ma
  • 在基于 django 类的通用视图 CreateView 中设置表单字段

    我正在使用 django 的CreateView将图像添加到书中 我将书的 id 作为 url 中的参数传递给基于类的视图 表单字段 例如book and language不会在模板上呈现 而是通过书籍 ID 获得 views py cla
  • 设置默认 WebAPI 格式化程序

    我们使用 WebAPI 来模拟遗留系统的处理 因此 我们希望默认响应格式化程序是 XmlFormatter 而不是 JsonFormatter 原因是某些现有的服务调用不提供 Accept HTTP 标头字段 我可以通过从 Formatte
  • RTSP/RTMP 视频流客户端 iOS [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个开源解决方案 库来将 RTSP RTMP 流式传输到 iOS 应用程序 我需要构建一个连接到媒
  • ipywidgets 小部件值未更改

    我正在尝试从在 Python 3 6 中运行 Jupyter Notebooks 的 Microsoft Azure Notebooks 中的 ipywidgets 小部件获取输出 但是 当我获取新值时 它不会返回新值 这也适用于从未被其他
  • PhoneGap IOS 应用程序大小

    我使用 eclipse 和 xcode 4 5 创建了适用于 android 和 IOS 的phonegap 应用程序 Android应用程序大小为650KB iOS应用程序的大小是9MB 我创建了空的phonegap应用程序 刚刚在终端上
  • 位运算与

    这是一个leetcode问题 给定一个数字数组 nums 其中恰好有两个元素仅出现一次 而所有其他元素恰好出现两次 找出只出现一次的两个元素 例如 给定 nums 1 2 1 3 2 5 返回 3 5 我的代码是 class Solutio
  • 使用bash,如何删除特定目录中所有文件的扩展名?

    我想保留这些文件但删除它们的扩展名 这些文件的扩展名不同 我的最终目标是删除它们的所有扩展并将它们更改为我选择的一个扩展 我已经把第二部分写下来了 到目前为止我的代码 bin bash echo n Enter the directory
  • 寻找在过程中保持大小并清除旧元素的数据结构

    Usecase维护最后 n 个访问过的 URL 的列表 其中 n 是固定数字 当新的 URL 添加到列表中时 旧的 URL 会自动删除 以使其保持在 n 个元素 要求数据结构需要按时间排序 如果接受 Comparator 应该没问题 你需要
  • 如何遍历 N 叉树

    我的树 节点类 import java util ArrayList import java util List public class Node
  • 如果未安装应用程序,则重定向到应用程序商店

    场景是用户将获得他的电子邮件的链接 如果用户单击链接 如果应用程序已安装 则应用程序应打开 如果应用程序未安装 则应重定向到应用程序商店 我已经看到了深度链接的实现 但我相信它也需要在后端进行更多的实现 任何人都可以帮忙解决这个问题吗 如果