Xamarin.iOS의 앱 검색 향상된 기능

이 문서에서는 Apple이 iOS 10에서 App Search에 적용한 향상된 기능과 Xamarin.iOS에서 구현하는 방법을 설명합니다.

iOS 10에서 Apple은 크라우드소싱된 딥 링크, 앱 내 검색, 검색 연속 및 유효성 검사 결과의 시각화와 같은 앱 검색을 몇 가지 개선했습니다. 이 문서에서는 Xamarin.iOS 앱에서 이러한 기능을 구현하는 것에 대해 설명합니다.

앱 검색 기능 정보

iOS 10의 핵심 스포트라이트는 다음과 같은 앱 검색에 몇 가지 향상된 기능을 제공합니다.

  • 크라우드소싱된 딥 링크 인기도(차등 개인 정보 보호 포함) - 검색 결과에서 딥 링크 앱 콘텐츠를 승격하는 방법을 제공합니다.
  • 앱 내 검색 - 새 CSSearchQuery 클래스를 사용하여 메일, 메시지 및 노트 앱의 작동 방식과 유사한 앱 내 추천 검색 기능을 제공합니다.
  • 연속 검색 - 사용자가 Spotlight 또는 Safari에서 검색을 시작한 다음, 앱을 열고 해당 검색을 계속할 수 있습니다.
  • 유효성 검사 결과 시각화 - Apple의 App Search API 유효성 검사 도구 는 이제 테스트를 미리 포맷할 때 웹 사이트의 태그 및 딥 링크의 시각적 표현을 표시합니다.
  • 메시지 앱 이미지 공유 - 메시지 앱 확장을 통해 메시지에서 공유하기 위해 제공되는 인기 있는 앱 내 이미지가 추천 검색에 표시되도록 허용합니다.

다음 섹션에서는 이러한 항목을 자세히 설명합니다.

iOS 10은 앱에 대한 인기 있는 딥 링크가 다음에 오는 빈도를 계산하는 메커니즘을 제공하며, 이 정보를 사용하여 검색 결과에서 앱 콘텐츠의 순위를 개선하는 동시에 차등 개인 정보를 사용하여 사용자의 ID를 보호합니다.

개체를 사용하여 NSUserActivity 딥 링크 URL을 EligibleForPublicIndexing 제공하고 속성을 설정하는 true앱의 경우 iOS 10은 차등 개인 정보 해시하위 집합을 Apple 서버에 제출합니다. 이 정보는 검색 결과에서 인기 있는 앱 내 콘텐츠를 승격하는 데 사용됩니다.

Xamarin.iOS 앱에서 딥 링크 구현에 대한 자세한 내용은 NSUserActivity를 사용한 검색 설명서를 참조하세요.

앱 내 검색

CSSearchQuery 클래스를 구현하여 앱은 사용자가 앱을 떠날 필요 없이(메일, 메시지 및 메모 앱 작동 방식과 유사) 스포트라이트의 검색 및 일치 규칙 기술을 제공하여 자체적으로 콘텐츠를 찾을 수 있습니다.

일반적으로 지원하는 CSSearchQuery 앱은 고유한 별도의 검색 인덱스 기본 수 없습니다.

연속 검색

iOS 9에서 Apple은 사용자가 추천 및 Safari 검색 인터페이스를 모두 사용하여 해당 콘텐츠를 검색할 수 있도록 앱 내에서 콘텐츠의 심층적인 취향을 제공하기 위해 검색 API(예: 핵심 추천 NSUserActivity 및 웹 태그)를 도입했습니다. 자세한 내용은 새 검색 API 설명서를 참조하세요.

iOS 10에서 Apple은 사용자가 Spotlight 또는 Safari에서 검색을 시작한 다음 앱을 열 때 검색을 계속할 수 있도록 하여 이 기능을 기반으로 합니다.

이 기능을 구현하려면 앱의 Info.plist 파일을 편집하고 부울 형식의 키를 추가하고 CoreSpotlightContinuation 해당 값을 다음으로 YES설정합니다.

검색 결과()NSUserActivity를 계속하는 사용자에게 응답하려면 파일을 편집 AppDelegate.cs 하고 메서드를 재정의합니다 ContinueUserActivity . 예시:

public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{

    // Take action based on the activity type
    switch (userActivity.ActivityType) {
    case "com.xamarin.platform":
        // Restore the state of the app here...
        break;
    default:
        if (userActivity.ActivityType == CSSearchQuery.ContinuationActionType) {
            var search = userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString);
            // Continue user's search here...
        }
        break;
    }

    return true;
}

이 코드는 쿼리 연속 작업 유형()userActivity.ActivityType == CSSearchQuery.ContinuationActionType을 찾은 다음, 클래스의 사용자 정보 사전(userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString))에서 NSUserActivity 사용자의 현재 쿼리를 읽습니다. 여기에서 앱은 사용자의 검색을 계속하기 위한 조치를 취해야 합니다.

Xamarin.iOS 앱에서 검색 작업에 대한 자세한 내용은 Core Spotlight를 사용한 검색 설명서를 참조하세요.

유효성 검사 결과 시각화

Apple의 앱 검색 API 유효성 검사 도구는 이제 테스트를 미리 포맷할 때 웹 사이트의 태그 및 딥 링크(Schema.org 정의된 태그 포함)의 시각적 표현을 표시합니다.

개발자는 유효성 검사 도구를 사용하여 Applebot 웹 크롤러가 제목, 설명, URL 및 기타 지원되는 요소와 같은 사이트에 대해 인덱싱한 정보를 볼 수 있습니다.

웹 태그 작업에 대한 자세한 내용은 웹 태그 설명서와 함께 Seach를 참조하세요.

메시지 앱 이미지 공유

메시지 앱 확장에서 메시지 공유를 위한 이미지를 제공하는 경우 사용자가 앱을 나가지 않고도 메시지 내에서 인기 있는 이미지에 대한 추천 검색을 수행할 수 있도록 확장을 구성할 수 있습니다.

이 기능을 사용하도록 설정하려면 다음을 수행합니다.

  1. 메시지 앱 확장을 만듭니다.
  2. com.apple.developer.associated-domains 앱의 자격에 추가하고 메시지 앱 확장이 공유하는 이미지를 호스트하는 웹 작업기본 목록을 포함합니다. 각 do기본 대해 서비스를 지정합니다spotlight-image-search.
  3. apple-app-site-association 이미지를 호스팅하는 웹 사이트에 파일을 추가합니다. 이 파일에는 서비스에 대한 사전이 spotlight-image-search 포함되어 있으며 앱의 ID(팀 ID 또는 앱 ID 접두사 뒤에 번들 ID)가 포함됩니다. 이 파일에는 Spotlight에 의해 인덱싱되고 인기 있는 이미지 검색에 포함되는 최대 500개의 경로 및 패턴이 포함될 수 있습니다. 자세한 내용은 Apple의 연결 파일 만들기 및 업로드 설명서를 참조하세요.
  4. Applebot이 웹 사이트를 크롤링하도록 허용합니다. Apple의 Applebot 정보 설명서를 참조하세요.

자세한 내용은 메시지 앱 통합 설명서를 참조하세요.

요약

이 문서에서는 Apple이 iOS 10의 App Search에 적용한 향상된 기능과 Xamarin.iOS에서 구현하는 방법을 설명했습니다.