版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.09.20 星期四 |
前言
iOS系统有自己的搜索,大家试过的都知道,这个搜索速度非常之快,可以很快的在网页、appleStor、地图以及其他App中的内容,接下来就让我们一起来看一下这个搜索。感兴趣的看下面几篇文章。
1. App搜索编程指南(一) —— 搜索基本之搜索推动用户参与(一)
2. App搜索编程指南(二) —— 搜索基本之示例实现(一)
3. App搜索编程指南(三) —— 让项目可索引之索引活动和导航点(一)
4. App搜索编程指南(四) —— 让项目可索引之索引应用内容(一)
Mark Up Web Content - 标记Web内容
如果您的部分或全部应用内容也可在您的网站上获得,则可以使用网络标记为用户提供对搜索结果中内容的访问权限。 使用网络标记可让Applebot
网络抓取工具为Apple的服务器端索引中的内容编制索引,这使得Spotlight
和Safari
搜索结果中的所有iOS用户都可以使用该索引。
除了添加网络标记外,强烈建议您支持通用链接(universal links)
。 添加对通用链接的支持可进一步增强用户体验,方法是在用户点击指向您网站的链接时打开您的原生应用(如果您的应用未安装,则点击结果会打开Safari)。 此行为可帮助所有用户对包含大量数据的网站编制索引并进行搜索。
要了解如何使用通用链接,请参阅Support Universal Links。 图5-1显示了使用通用链接让用户点击网站链接并打开应用程序的示例。
要使用网络标记让您的内容可搜索,请按以下三个步骤操作:
- 确保Apple可以发现您的网站并将其编入索引。
- 为您网站的深层链接添加标记到您的应用中。
- 通过为结构化数据添加标记来丰富您的搜索结果。
注意:由于
Applebot
索引的项目已经公开,因此它们存储在Apple的服务器端索引中。
Making Your Website Discoverable by Apple - 让您的网站被Apple发现
确保Applebot
网络抓取工具抓取您网站的最简单方法是在您提交应用时将网址指定为支持或营销网站。 要了解有关指定此URL的更多信息,请参阅Version Information
。
此外,修改robots.txt
文件以允许Applebot
抓取您的网站至关重要。 Applebot
会检查您的robots.txt
文件,以确定应抓取您网站的哪些部分。 (您可以在Wikipedia上了解有关robots.txt
文件的更多信息)。要检测Applebot
,您可以使用正则表达式。
注意:
Applebot
忽略URL的片段标识符组件。
使用App Search API
验证工具验证Applebot
能够从您的网站中提取的数据。 验证工具中的信息可以帮助您识别应添加的信息,并帮助您发现优化网站元数据的方法。 您可以在此处访问验证工具:https://search.developer.apple.com/appsearch-validation-tool。
Adding Deep Links to Your Website - 添加深层链接到您的网站
帮助网站用户发现应用程序的最佳方法是采用智能应用程序横幅(Smart App Banners)
(您可以通过阅读Promoting Apps with Smart App Banners来了解有关智能应用程序横幅的更多信息)。 您网站上的智能应用横幅邀请未安装您应用的用户从App Store下载,并且为已经安装了您应用的用户提供了一种在其中打开页面的简便方法。 图5-3显示了智能应用横幅的示例。
在智能应用横幅标记中包含app-argument
值允许Apple为您的内容编制索引。 要包含app-argument
值,可以使用与此类似的标记:
<meta name =“myApp”content =“app-id = 123,app-argument = http://example.com/about”>
app-argument
值包含本机应用程序中的URL,这对应于用户当前正在查看的特定Web内容,这一点至关重要。 不要将app-argument
值设置为应用程序打开屏幕的URL。
除了添加智能应用横幅之外,强烈建议您使用带有深层链接deep links
的通用链接universal links
,而不是使用自定义URL scheme
。 当您支持通用链接时,iOS可以使用Handoff
启动您的应用并为您提供用户正在查看的特定Web URL。 要了解如何支持通用链接,请参阅Support Universal Links。
作为使用智能应用程序横幅的替代方法,您可以使用Apple支持的开放标准之一在您的网站上提供深层链接,例如Twitter Cards
和App Links
。 例如,您可以使用类似于以下内容的Twitter Cards
标记:
<meta name =“twitter:app:name:iphone”content =“myAppName”>
<meta name =“twitter:app:id:iphone”content =“myAppID”>
<meta name =“twitter:app:url:iphone”content =“myURL”>
或者您可以以类似的方式使用App Links
标记:
<meta property =“al:ios:app_name”content =“myAppName”>
<meta property =“al:ios:app_store_id”content =“myAppID”>
<meta property =“al:ios:url”content =“myURL”>
有关Twitter卡的更多信息,请访问https://dev.twitter.com/cards/mobile;有关App Links
的更多信息,请访问http://applinks.org。
在您使用深层链接标记您的网站后,您需要确保您的应用可以处理它们。 当您支持通用链接时,当用户点击您的应用程序的深层链接时,iOS会调用您的application:continueUserActivity:restorationHandler:的代理方法。 如果您使用自定义 schema,iOS会调用openURL:打开您的应用。 Listing 5-1
显示了使用openURL:的示例处理来自Smart App Banner
的深层链接。
// Listing 5-1 Handling deep links
// In this example, the URL is "http://example.com/profile/?123".
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
if let components = NSURLComponents(URL: url, resolvingAgainstBaseURL: true), let path = components.path, let query = components.query {
if path == "/profile" {
// Pass the profile ID from the URL to the view controller.
return profileViewController.loadProfile(query)
}
}
return false
}
注意:要了解有关在应用中处理通用链接的详细信息,请参阅Preparing Your App to Handle Universal Links。
Enriching Search Results - 丰富搜索结果
在您的网站上标记结构化数据有助于Apple更好地解析和理解您的内容并提供更丰富的搜索结果。 例如,除了提供项目的标题和描述外,您还可以包含元数据,如图像,价格,评级和其他详细信息。 提供结构化数据的最大优势在于它可以帮助您提高搜索结果的排名:用户倾向于更多地使用包含更丰富信息的结果; 此外,更频繁地显示获得更多参与度。
要注释您的Web内容以便用户可以看到丰富的搜索结果,请对结构化数据使用基于标准的标记,例如Schema.org中定义的标记。 例如,Listing 5-2
中显示的代码组合了不同类型的标记,为用户提供了如图5-4所示的丰富信息。
// Listing 5-2 Using markup to provide rich information
<title>Beats by Dr. Dre Solo2 Wireless Headphones - Apple</title>
<meta property="og:description" content="Beats by Dr. Dre Solo2 Wireless Headphones let you take your music anywhere you go. Get fast, free shipping when you buy online.">
<span itemprop="reviewCount">924</span>
<meta itemprop="ratingValue" content="4.5">
<meta itemprop="priceCurrency" content="USD">
虽然您必须提供深层链接,标题和说明元素来索引项目,但强烈建议您还包括特定于内容的图像。
目前支持以下schemas
:
AggregateRating
Offers
PriceRange
InteractionCount
Organization
Recipe
SearchAction
ImageObject
除了使用Schema.org中定义的结构化数据标记之外,您还可以提供Open Graph
协议标记(在opg.me中定义)以指定结果附带的图像,标题,音频,视频和描述。 您可以使用Schema.org标记在搜索结果中启用操作。 例如,您可以让用户拨打电话号码或获取前往地址的路线。 要启用用户可以在搜索结果中执行的操作,您可以使用Listing 5-3
中所示的代码。 (您可以在Search Consists of Several Technologies中查看用户如何访问这些操作的示例。)
// Listing 5-3 Enabling various actions using web markup
<!— Enable dialing a phone number. ->
<div itemscope itemtype=
"http://schema.org/Organization">
<span itemprop="telephone">
(408) 123-4567</span>
</div>
<!— Enable getting directions to an address. ->
<div itemprop="address" itemscope
itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">
1 Infinite Loop
</span>
<span itemprop="addressLocality">
Cupertino</span>,
<span itemprop="addressRegion">
CA</span>
<span itemprop="postalCode">
95014</span>
</div>
正如Making Your Website Discoverable by Apple中所提到的,使用App Search API
验证工具检查您添加到网站的元数据的正确性是个不错的主意。
后记
本篇主要讲述了吸引网络用户之标记Web内容,感兴趣的给个赞或者关注~~~