3. Разработчики сами выбирают какой контент
индексировать
Результаты поиска появляются в Spotlight и Safari
Результаты поиска видны даже когда приложение не
установлено
4. Поиск в приложении
Три доступных API
NSUserActivity CoreSpotlight Web Markup
Просмотренный
контент приложения
Любой контент
приложения
Контент приложения
в вебе
5. NSUserActivity CoreSpotlight Web Markup
Просмотренный
контент приложения
Любой контент
приложения
Контент приложения
в вебе
NSUserActivity + Search
15. Сами добавляем и удаляем CSSearchableItem
Core Spotlight vs NSUserActivity index
CSSearchableItem не имеет срока жизни
Индексация большого объема данных
Методы делегата и дополнения
16. Core Spotlight vs NSUserActivity index
NSUserActivity
Core Spotlight
18. Web markup
Позволить Apple находить ваш сайт
Сайт имеет необходимую разметку для deep link
Приложение поддерживает обработку deep link
Контент структурирован по специальной форме
20. Web markup
Сайт имеет необходимую разметку для deep link
<meta name="myApp" content="app-id=123,
app-argument=http://example.com/about”>
Delivery Club
View
GET — On the App Store
https://www.delivery-club.ru/pizza
21. Web markup
Приложение поддерживает обработку deep link
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:YES];
NSString *path = components.path;
NSString *query = components.query;
if ([path isEqualToString:@"/pizza"]) {
//go to pizza controller passing query
}
}
22. Web markup
Контент структурирован по специальной форме
<meta property="og:image" content="http://example.com/hello.jpg">
<meta property="og:audio" content="http://example.com/music.m4a">
<meta property="og:video" content="http://example.com/cats.mp4">
Open Graph
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/
AggregateRating">
<span itemprop="ratingValue">4</span> stars -
<span itemprop="reviewCount">250</span> reviews
</div>
schema.org