[swift] Firebase App Indexing을 활용한 앱 검색 최적화하기

Firebase App Indexing은 앱의 콘텐츠를 구글 검색 결과에 노출시키는 기능입니다. 이를 활용하면 사용자들이 앱을 검색하여 특정 기능이나 콘텐츠를 빠르게 찾을 수 있습니다. 이번 포스팅에서는 Firebase App Indexing을 활용하여 앱 검색 최적화를 어떻게 수행할 수 있는지 알아보겠습니다.

Firebase App Indexing 설정하기

  1. Firebase 콘솔에 로그인하고 프로젝트를 선택합니다.
  2. ‘기능’ 탭을 클릭한 후, ‘App Indexing’을 선택합니다.
  3. 앱을 Firebase 프로젝트와 연결하기 위해 Google Play Console에서 앱이 등록되어 있는지 확인합니다. 등록되어 있지 않다면 앱을 등록한 후, 구성 파일을 다운로드받습니다.
  4. Firebase 콘솔에서 ‘앱을 추가하세요’ 버튼을 클릭하여 Android 또는 iOS 앱을 추가합니다.
  5. 앱을 추가한 후, 구성 파일을 업로드합니다.

앱 콘텐츠 인덱싱하기

Firebase App Indexing을 사용하여 앱 콘텐츠를 구글에 인덱싱하려면 앱에서 다음 작업을 수행해야 합니다.

앱 콘텐츠 설명 추가하기

  1. 앱의 매니페스트 파일에 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을 활용하면 앱의 콘텐츠를 구글 검색 결과에 노출시킬 수 있으며, 사용자들은 더욱 쉽게 원하는 콘텐츠를 찾을 수 있습니다. 위의 가이드를 따라 앱 검색 최적화에 도전해보세요.


참고문헌: