我刚刚在我的应用程序中实现了 iOS9 深度链接,并且运行良好。然后我发现屏幕右上角有一个“在 Safari 中打开”按钮(与“返回 [App]”按钮相对)。
我点击了它,现在我的链接将始终直接在 Safari 中打开,而不是进入我的应用程序。
其他人可以复制吗?有办法撤销吗?我在“设置”内搜索但找不到任何合适的选项。
我在哪里可以上传“apple-app-site-association”以在我的 iOS 应用程序中设置通用链接?
如何在我的 iOS 应用程序中使用通用链接?我越来越迷惑阅读很多教程。谁能帮我?
我正在我的应用程序中处理通用链接。
当 url 访问 safari 时,它应该显示在 Safari 浏览器顶部的横幅中打开应用程序的选项,但我没有看到它。
我创建了 apple-app-site-association 并将其托管在我的后端。当我查看https://www.xxxxx.com/apple-app-site-association 时。我可以看到 app-site-association 文件。
在权利中,我在 applinks:v100.xxxxxx.com/reset_password* 项下添加了关联域。链接是https://v100.xxxxxxx.com/reset_password?token=6d3ec67ff5bbf2214c895839c125e8f80ec83a90 和 apple-app-site-association 是这样的
{
"applinks": {
"apps": [],
"details": [
{
"appID": "Teamid.Bundelid",
"paths": ["*"]
}
{
"appID": "appid.Bundelid",
"paths": ["*"]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
感谢您的快速回复。
我们的 Branch.io 深层链接仅打开应用程序,但不会导航到正确的视图,因为我们依赖于 pod DeepLinkKit,它期望传入内容$deeplink_path包含 URI 方案(即https://或appName://)
分支调试工具显示$deeplink_path和$ios_deeplink_path都包含正确的 URL,但没有所需的 URI 方案(appname.com而不是https://appname.com)。
我使用包含 URI 方案的自定义测试了分支 URL $deeplink_path,它可以打开正确的应用程序视图。是否有办法以编程方式确保每个 Branch 链接都包含 URI 方案$deeplink_path?
我有一个相当简单的问题,但我似乎找不到解决方案。我有一个包含多个活动的 Android 应用程序。我想形成特定活动的特定深层链接,并将所有其他深层链接定向到“包罗万象”类型的活动。
这是我的清单:
<activity
android:name=".views.activity1">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="domain"
android:host="specificPlace" />
</intent-filter>
</activity>
<activity
android:name=".views.activity2">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="domain"
android:host="*" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
所以我想要的是以下内容:
domain://specificPlace-> 到 Activity1 的深层链接。
domain://-> 深层链接到activity2
domain://random-> 深层链接到activity2
domain://somewhereElse-> 深层链接到activity2
现在,domain:// 任何内容都解析为 Activity2。
感谢任何帮助,提前致谢!
我正在尝试在我正在构建的移动应用程序中设置通用链接。我试图在我的网站上匹配的路径是www.mywebsite.com/route?query=xxx
苹果文档有一个示例apple-app-site-association文件,如下所示。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
},
{
"appID": "ABCD1234.com.apple.wwdc",
"paths": [ "*" ]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
但此示例没有带有查询字符串的路径示例。
如何www.mywebsite.com/route?query=xxx在 apple-app-site-association 文件中匹配我的路线?
谢谢
deep-linking query-string ios react-native ios-universal-links
我已将我的 iOS 应用程序从一位开发人员转移到另一位开发人员。然后在新帐户首次发布后,我的深层链接意外停止工作。
使用我自己托管的 url 上的通用链接和 firebase 动态链接实现的深层链接。
我已将其集成Firebase DeepLink/DynamicLinks/UniversalLink到我们的应用程序中。当app is running或 处于, 时background/foreground state,Deep Links工作没有问题。但是,当应用程序处于not running或处于killed/terminated状态时,应用程序将启动,但不会调用或初始化任何触发方法。就像它只触发URL Scheme. 因此,结果,我无法获取所单击的深层链接的数据,这是一个大问题。
IndidFinishLaunchingWithOptions: launchOptions始终为零,因此launchOptions[.url]为零
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
Run Code Online (Sandbox Code Playgroud)
并且open url:options:不触发
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
Run Code Online (Sandbox Code Playgroud)
当然这个continue userActivity:restorationHandler:不会触发
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool
Run Code Online (Sandbox Code Playgroud)
因此,我只能启动该应用程序而没有捕获任何数据。任何解决方法或建议表示赞赏。谢谢!
如何在 React Navigation 的嵌套导航器中实现深度链接。这里我有一个嵌套的堆栈导航器:
function AuthStack() {
return (
<Stack.Navigator>
<Stack.Screen component={Login} name="Login" /> // deep link this screen
<Stack.Screen component={ResetPassword} name="ResetPassword" />
</Stack.Navigator>
);
}
Run Code Online (Sandbox Code Playgroud)
它嵌套在另一个主堆栈导航器中:
const linking = {
prefixes: ["wagal://"],
config: {
screens: {
AuthStack: "login", // this doesn't reference `Login` screen on deep linking
},
},
};
function homeStack() {
return (
<NavigationContainer linking={linking}>
<Stack.Navigator>
<Stack.Screen component={AuthStack} name="AuthStack" /> // here
// ...
</Stack.Navigator>
</NavigationContainer>
);
}
Run Code Online (Sandbox Code Playgroud)
我尝试深层链接“wagal://login/”来进行Login筛选:
screens: {
AuthStack: "login",
},
Run Code Online (Sandbox Code Playgroud)
但没有成功,我也尝试过: …
deep-linking react-native react-navigation-v5 react-navigation-v6
我的iOS应用程序上有一个按钮,它将通过深层链接启动第三方应用程序,但如果未安装所述应用程序,该按钮将不会执行任何操作.
如何检查应用程序是否先安装,如果没有,提示用户下载?
按钮代码:
@IBAction func didTapEdmodo(sender: AnyObject) {
UIApplication.sharedApplication().openURL(NSURL(string: "edmodo://")!)
}
Run Code Online (Sandbox Code Playgroud) deep-linking ×10
ios ×8
swift ×4
react-native ×2
aasa ×1
android ×1
branch.io ×1
firebase ×1
ios9 ×1
query-string ×1