[swift] Firebase App Indexing을 활용한 앱 검색 최적화하기
Firebase App Indexing은 앱의 콘텐츠를 구글 검색 결과에 노출시키는 기능입니다. 이를 활용하면 사용자들이 앱을 검색하여 특정 기능이나 콘텐츠를 빠르게 찾을 수 있습니다. 이번 포스팅에서는 Firebase App Indexing을 활용하여 앱 검색 최적화를 어떻게 수행할 수 있는지 알아보겠습니다.
Firebase App Indexing 설정하기
- Firebase 콘솔에 로그인하고 프로젝트를 선택합니다.
- ‘기능’ 탭을 클릭한 후, ‘App Indexing’을 선택합니다.
- 앱을 Firebase 프로젝트와 연결하기 위해 Google Play Console에서 앱이 등록되어 있는지 확인합니다. 등록되어 있지 않다면 앱을 등록한 후, 구성 파일을 다운로드받습니다.
- Firebase 콘솔에서 ‘앱을 추가하세요’ 버튼을 클릭하여 Android 또는 iOS 앱을 추가합니다.
- 앱을 추가한 후, 구성 파일을 업로드합니다.
앱 콘텐츠 인덱싱하기
Firebase App Indexing을 사용하여 앱 콘텐츠를 구글에 인덱싱하려면 앱에서 다음 작업을 수행해야 합니다.
앱 콘텐츠 설명 추가하기
- 앱의 매니페스트 파일에 intent-filter를 추가합니다. 이를 통해 앱의 Activity가 검색 결과에 표시될 수 있습니다. ```swift
2. Firebase 콘솔에서 인덱싱하려는 콘텐츠 유형을 정의합니다. 예를 들어, 앱의 게시물을 인덱싱하려면 다음과 같이 콘텐츠 유형을 정의할 수 있습니다.
```swift
let searchAction = CSSearchableItemAttributeSet(itemContentType: kUTTypeText as String)
searchAction.title = "게시물 제목"
searchAction.contentDescription = "게시물 내용"
앱 콘텐츠 인덱싱 및 업데이트
Firebase App Indexing을 사용하여 앱 콘텐츠를 인덱싱하려면 다음 코드를 사용합니다.
let item = CSSearchableItem(uniqueIdentifier: "unique_id", domainIdentifier: "domain_id", attributeSet: searchAction)
CSSearchableIndex.default().indexSearchableItems([item]) { error in
if let error = error {
print("Indexing failed: \(error.localizedDescription)")
} else {
print("Indexing succeeded")
}
}
Firebase App Indexing은 콘텐츠가 업데이트될 때마다 해당 정보를 최신 상태로 유지할 수 있도록 지원합니다. 따라서 콘텐츠가 변경될 때마다 위의 코드를 호출하여 인덱싱 정보를 업데이트하면 됩니다.
앱 콘텐츠 검색하기
Firebase App Indexing을 통해 인덱싱한 앱 콘텐츠를 검색하려면 Firebase 라이브러리를 활용할 수 있습니다.
let query = "검색어"
let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.delegate = self
let searcher = Searcher(appID: "YOUR_APP_ID", apiKey: "YOUR_API_KEY", indexName: "YOUR_INDEX_NAME")
searcher.search(Query(query: query)) { (result, error) in
if let error = error {
print("Search failed: \(error.localizedDescription)")
} else {
if let hits = result?["hits"] as? [String: Any] {
// 검색 결과 처리
}
}
}
위의 코드는 앱에서 검색어를 사용하여 Firebase App Indexing에 인덱싱된 콘텐츠를 검색하는 방법을 보여줍니다. 검색 결과에 대한 처리는 개발자의 필요에 따라 다양하게 구현할 수 있습니다.
결론
Firebase App Indexing을 활용하면 앱의 콘텐츠를 구글 검색 결과에 노출시킬 수 있으며, 사용자들은 더욱 쉽게 원하는 콘텐츠를 찾을 수 있습니다. 위의 가이드를 따라 앱 검색 최적화에 도전해보세요.
참고문헌: