[ios] CoreSpotlight를 이용한 앱 내부 데이터 구조화와 검색 키워드 매칭

CoreSpotlight는 iOS 앱 내부의 콘텐츠를 iOS 검색 엔진에 추가함으로써 사용자가 iOS의 내장 검색에서 해당 내용을 검색할 수 있도록 도와주는 프레임워크입니다. 이 기능은 사용자가 앱 내부 데이터에 더 쉽고 빠르게 접근할 수 있도록 도와줍니다. 이번 글에서는 CoreSpotlight를 사용하여 앱 내부 데이터를 구조화하고, 검색 키워드와의 매칭을 통해 사용자가 앱 내부에서 원하는 콘텐츠를 빠르게 찾을 수 있도록 하는 방법에 대해 알아보겠습니다.

CoreSpotlight란?

CoreSpotlight는 iOS 9부터 지원되는 프레임워크로, iOS 디바이스의 내장 검색을 통해 앱 내부의 콘텐츠를 색인화하고 검색할 수 있도록 도와줍니다. 이를 통해 사용자는 앱을 실행하지 않고도 iOS 검색에서 해당 앱 내부의 콘텐츠를 검색할 수 있습니다. CoreSpotlight를 통해 사용자가 앱 내의 특정 콘텐츠를 빠르게 찾을 수 있으며, 검색 결과를 통해 해당 콘텐츠로 바로 이동할 수 있습니다.

앱 내부 데이터 구조화하기

CoreSpotlight를 이용하여 앱 내부 데이터를 iOS 검색에 추가하려면, NSUserActivity를 활용하여 콘텐츠를 추가해야 합니다. NSUserActivity는 사용자의 현재 작업이나 앱 내에서 수행하는 행동 등을 추적하고 사용자에게 관련 정보를 제공하기 위해 사용됩니다. 앱 내부에서 특정 화면이나 콘텐츠를 보고 있는 경우에 해당 정보를 NSUserActivity에 추가하여 iOS 검색에서 해당 정보를 노출할 수 있습니다.

다음은 NSUserActivity를 사용하여 콘텐츠를 CoreSpotlight에 추가하는 예시입니다.

let userActivity = NSUserActivity(activityType: "com.example.app.item")
userActivity.title = "아이템 제목"
userActivity.userInfo = ["itemID": itemID]
userActivity.keywords = ["아이템", "제목", "앱"]
userActivity.contentAttributeSet = attributeSet
userActivity.becomeCurrent()

검색 키워드와의 매칭

CoreSpotlight에 추가된 콘텐츠를 iOS 검색에서 검색할 때, 검색 키워드와의 매칭을 통해 해당 콘텐츠를 찾을 수 있습니다. 사용자가 iOS 검색에서 특정 키워드를 입력하면, 해당 키워드가 NSUserActivity의 keywords와 매칭되는 경우 해당 콘텐츠가 검색 결과로 나타납니다. 따라서 CoreSpotlight를 효과적으로 사용하기 위해서는 NSUserActivity에 적절한 키워드를 추가하여 검색 키워드와의 매칭을 잘 이끌어내는 것이 중요합니다.

마치며

CoreSpotlight를 이용하여 앱 내부 데이터를 구조화하고 검색 키워드와의 매칭을 통해 사용자가 빠르고 효과적으로 원하는 콘텐츠를 찾을 수 있도록 할 수 있습니다. iOS 사용자들에게 높은 사용성과 편리함을 제공하기 위해 CoreSpotlight를 적극적으로 활용하는 것은 매우 중요합니다. CoreSpotlight를 통해 앱의 가치를 높이고 사용자 경험을 향상시키는데 큰 도움을 줄 수 있습니다.

참고 문헌: