ios - 当移动网络浏览器使用自定义 URL 启动 native iOS 应用程序时,会传递哪些元数据?

标签 ios objective-c google-maps mobile metadata

我很好奇当 Safari 使用自定义 URL 启动 native iOS 应用程序时传递了哪些元数据。

例如:如果 iOS 用户单击启动 Google map 应用程序的 Google map 自定义 URL,则 Google map 应用程序会收到哪些元数据(或任何与此相关的数据)?

最佳答案

我不太确定我是否明白您的要求,但基本上,该应用会收到整个 URL。网站所有者可以自行决定是否在其中包含他喜欢的任何数据。

例如,如果我注册 URL 方案 mygreatapp:// in my app's .plist , 我在我的网站上添加了一个链接 mygreatapp://cakes?flavor=chocolate ,当用户点击该链接时,iOS 将启动我的应用程序(前提是用户已经安装了它),并向我发送消息UIApplicationDelegate 具有:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

Method documentation on developer.apple.com .

url 参数将包含我以 NSURL 对象的形式放在我的网站上的完整 URL,我可以从中提取不同的部分(即蛋糕{flavor: chocolate})。

除了 URL 之外,应用程序还将在参数 sourceApplication 中传递用户来自的源应用程序的 bundle id。对于从 Safari 打开的 URL,sourceApplication 值为 com.apple.mobilesafari

annotation 参数在您的应用程序从另一个实现 UIDocumentInteractionController 的应用程序打开时使用。 .我对此不太熟悉,所以你可能想看看 this tutorial了解更多信息。

为了更具体地回答您的问题,请在打开 Google map 时,you can add multiple parameters to the URL取决于您要显示的内容。例如。

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

here's a long list of the URL schemes of famous apps .

希望这对您有所帮助。

关于ios - 当移动网络浏览器使用自定义 URL 启动 native iOS 应用程序时,会传递哪些元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21470718/

相关文章:

javascript - 计算用户位置与 map 上所有标记之间的距离

coordinates - 获取谷歌地图标记的像素坐标

ios - AFNetworking 下载的文件丢失

ios - 如何在 swift 3 中将 char 数组转换为 uint8 数组?

ios - 具有同步计数线程的 UIView 动画

objective-c - cocoa 应用程序中的VPN

ios - iOS 5 中的 scrollviewTexturedBackgroundColor 是否发生了变化?

c# - 将 ObjC block 转换为 C# Lambda

ios - 当 ios 关闭位置服务时获取位置数据

google-maps - 如何使 Google map 居中而不位于屏幕中心?