版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.09.28 星期五 |
前言
iOS系统有自己的搜索,大家试过的都知道,这个搜索速度非常之快,可以很快的在网页、appleStor、地图以及其他App中的内容,接下来就让我们一起来看一下这个搜索。感兴趣的看下面几篇文章。
1. App搜索编程指南(一) —— 搜索基本之搜索推动用户参与(一)
2. App搜索编程指南(二) —— 搜索基本之示例实现(一)
3. App搜索编程指南(三) —— 让项目可索引之索引活动和导航点(一)
4. App搜索编程指南(四) —— 让项目可索引之索引应用内容(一)
5. App搜索编程指南(五) —— 吸引网络用户之标记Web内容(一)
6. App搜索编程指南(六) —— 吸引网络用户之支持Universal Links(一)
Help Users Find Your Images - 帮助用户查找图像
Messages
中的#images
应用程序显示来自公共网站的人们流行图像。 Apple的网络抓取工具(称为Applebot
)扫描了您的网站后,您的可公开访问的图片可能会包含在#images
搜索结果中。
重要:并非所有图像都可以通过
#images
搜索结果进行共享。 合适的图像是在消息传递上下文中有意义的表达的适当图像,例如动画GIF。
在Applebot
抓取您的网站后,您的可公开访问的图片将被评估,如果它们是共享适当的,则图像自动有资格包含在#images
搜索结果中。
要使您的可公开访问的图像可用于#images
搜索结果,请按以下步骤操作:
- 实现
iMessage
应用程序。 要了解更多信息,请参阅Messages Framework Reference和示例代码项目Ice Cream Builder: A simple Messages app extension。 - 更新您的
apple-app-site-association
文件以包含一个字典,该字典指定应由#images
索引的路径和模式(要了解如何执行此操作,请参阅Update Your Association File)。 - 更新
com.apple.developer.associated-domains
的entitlement
,以包含托管公开可用图像的Web域列表。 - 允许
Applebot
抓包。 要了解更多信息,请参阅About Applebot。
要考虑包含在#images
搜索结果中,您的可公开访问的图像必须符合以下规范:
- 不小于
180 x 180
像素 - GIF格式(首选)或静态图像
- 每个图像文件不超过
2 MB
Update Your Association File - 更新您的关联文件
将spotlight-image-search
服务的字典添加到apple-app-site-association
文件中(如果需要创建此文件,请参阅 Creating and Uploading the Association File以了解应该如何做)。spotlight-image-search
词典应包括您的app ID
(team ID
或app ID
前缀,后跟bundle ID
)以及包含图像根路径的search
键。 您最多可以指定500个路径和模式,这些路径和模式可以包含在#images
中进行索引。
spotlight-image-search
字典还可以包括trending
和keywords
键,每个键指向服务器的一个区域,其中包含Applebot
可以获取的资源。 Listing 7-1
显示了apple-app-site-association
文件的一部分,该文件包含spotlight-image-search
服务的字典。
// Listing 7-1Adding a spotlight-image-search service to an apple-app-site-association file
{
"spotlight-image-search": {
"details": [{
"appId": "....",
"trending": [ { "url": "/trending?secret=abcdefgh&lc=en_US",
"locale": "en_US" },... ],
"keywords": [ "/keywords?secret=abcdefgh&page=1",
"/keywords?secret=abcdefgh&page=2" ... ]
}
]}
}
服务器上的一个URL可以包含多个关键字,但每次提取时应返回不超过20 MB的关键字。 如果要返回超过20 MB的关键字,请将资源拆分为多个服务器页面并单独列出页面,如清单7-1所示。
每个/ keywords
项应将关键字映射到包含不超过1000个关联图像的URL。 首先列出最重要的关键字。 每个trending
URL应指向返回ImageObject
类型列表的服务器资源。
如Listing 7-2
所示,您可以在同一列表中混合使用不同的locales
。 如果与第一个locales
相关的结果是稀疏的,您还可以将一个locales
中的关键字映射到与不同locales
关联的相关结果。
// Listing 7-2Associating keywords with relevant images
[
{
"keyword": "facepalm",
"locale": "en_US",
"url": "/search?q=facepalm&format=jsonld"
},
{
"keyword": "télévision drôle",
"locale": "fr_FR",
"url": "/search?q=television+funny&format=jsonld"
},
...
]
注意:
url
的值由您的实现定义。
要指定trending
或与关键字关联的图像,可以使用ImageObject
类型的JSON-LD
格式来描述每个图像(有关属性的完整列表,请参阅ImageObject)。 格式包括以下键和值:
-
contentURL
- 最佳分辨率的图像的URL
-
mainEntityOfPage
- 托管
contentUrl
给出的内容的网页的URL
- 托管
-
sameAs
-
asset
的原始来源(原始内容字节)
-
-
description
- 图像的一般描述(可选)
-
interactionStatistic
- 每个查询级别的用户交互统计信息,用于排名
-
aggregateRating
- 基于评论的总评分
-
keywords
- 关键字列表,每个关键字与相应图像关键字的评级相结合(只有在使用
/trending
时才需要评级)
- 关键字列表,每个关键字与相应图像关键字的评级相结合(只有在使用
-
contentRating
-
MPAA
美国评级(即G,PG,PG-13,R或NC-17
)
-
-
datePublished
- 图像发布的日期
Listing 7-3
显示了以JSON-LD
格式为图像对象指定的图像示例。
// Listing 7-3Specifying an image using the JSON-LD format
[{
"@context": "http://schema.org",
"@type": "ImageObject",
"contentUrl": "https://www.example.com/media/face-palm-1.gif",
"mainEntityOfPage": "https://www.example.com/funny",
"sameAs": "https://www.original-site.com/face-palm-1.gif",
"description": "rock-n-roll",
"encodingFormat": "gif",
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": "http://schema.org/WatchAction",
"userInteractionCount": 14300
},
"aggregateRating": {
"@type": "AggregateRating",
"bestRating": 100,
"ratingCount": 24,
"ratingValue": 87
},
"contentRating": "PG-13",
"datePublished": "2016-09-16",
"keywords": "no, facepalm, smh, smdh, shaking head"
},
...
]
注意:指定
/trending
时,返回的图像对象按大多数到最小趋势排序。当您指定/keywords
时,返回的图像按userInteractionCount
(最相关的第一个)按降序排序。
Update Your Associated Domains Entitlement - 更新您的关联域Entitlement
将com.apple.developer.associated-domains
的entitlement
添加到托管要搜索的图像的Web域列表中。 对于每个域,请在spotlight-image-search:yourdomain.com
等条目中指定spotlight-image-search
服务。 要了解有关关联域entitlement
的更多信息,请参阅Preparing Your App to Handle Universal Links。
Specifying a Frequency for Pulling Images - 指定拉取图像的频率
#images
应用程序会定期从您在apple-app-site-association
文件中指定的资源中提取内容。 您可以使用HTTP headers
指定适合您的内容的频率,例如:
Expiration
Last modified
ETag
后记
本篇主要讲述了帮助用户查找图像,感兴趣的给个赞或者关注~~~