App搜索编程指南(七) —— 吸引网络用户之帮助用户查找图像(一)

版本记录

版本号 时间
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-domainsentitlement,以包含托管公开可用图像的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 IDteam IDapp ID前缀,后跟bundle ID)以及包含图像根路径的search键。 您最多可以指定500个路径和模式,这些路径和模式可以包含在#images中进行索引。

spotlight-image-search字典还可以包括trendingkeywords键,每个键指向服务器的一个区域,其中包含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-domainsentitlement添加到托管要搜索的图像的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

后记

本篇主要讲述了帮助用户查找图像,感兴趣的给个赞或者关注~~~

App搜索编程指南(七) —— 吸引网络用户之帮助用户查找图像(一)_第1张图片

你可能感兴趣的:(App搜索编程指南(七) —— 吸引网络用户之帮助用户查找图像(一))