首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSUserActivity或核心聚光灯

使用NSUserActivity或核心聚光灯
EN

Stack Overflow用户
提问于 2016-01-07 04:14:05
回答 1查看 1.3K关注 0票数 1

我读了一些教程,发现当用户进行活动时,NSUserActivity用于索引信息,Core Spotlight用于在app中索引一组内容数据。

使用NSUserActivity

代码语言:javascript
复制
var activity = NSUserActivity(activityType: "com.example.demo.searchapi")
activity.title = contactEntity.name
activity.userInfo = ["id": contactEntity.uid]
activity.eligibleForSearch = true
activity.keywords = NSSet(array: [contactEntity.name,contactEntity.phoneNumber, contactEntity.email]) as! Set

activity.becomeCurrent()

使用核心聚光灯

代码语言:javascript
复制
let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeContact as String)
attributeSet.title = contactEntity.name
attributeSet.relatedUniqueIdentifier = contactEntity.uid

let searchableItem = CSSearchableItem(uniqueIdentifier: contactEntity.uid, domainIdentifier: "com.example.demo.searchapi", attributeSet: attributeSet)

CSSearchableIndex.defaultSearchableIndex().indexSearchableItems(searchableItems) { error in  
if let error = error { 
    print("Error indexing: \(error)")
} else {
    print("Indexed.")
}

但我不认为两种解决方案的结果是不同的。如果用户进行活动,我可以使用Core Spotlight,而不是NSUserActivity。给我同样的结果。

那么,为什么苹果必须提供两个结果相同的不同解决方案呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-13 21:09:49

我现在把核心聚光灯和NSUserActivity包括在我的应用程序中,我开始学习一些不同之处。

正如@PGDev在您的评论中所指出的,NSUserActivity可以被设置为公开索引(在Apples服务器上),这将有助于在其他用户的搜索结果上显示。而核心聚光灯只是每台设备。

应用于我的应用程序的NSUserActivity最大的好处在于,用户越多地使用相同的activity,比如阅读同样的新闻故事,这个索引就越受欢迎,并且能够产生有益的结果。苹果-提高你的搜索结果

  • 用户查看内容的频率(在使用NSUserActivity时被捕获)
  • 用户对内容的参与度(这取决于用户点击与应用程序相关的项目的次数以及搜索结果中显示的与应用程序相关的项目的数量)。
  • URL在您的网站中的受欢迎程度和可用结构化数据的数量
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34647255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档