Vylepšení vyhledávání aplikací v Xamarin.iOS
Tento článek se zabývá vylepšeními, která společnost Apple provedla pro vyhledávání aplikací v iOSu 10 a jak je implementovat v Xamarin.iOS.
V iOSu 10 společnost Apple provedla několik vylepšení vyhledávání aplikací, jako je Crowdsourced Deep-Linking, In-App Search, Pokračování hledání a vizualizace výsledků ověření. Tento článek se zabývá implementací těchto funkcí v aplikaci Xamarin.iOS.
Vylepšení vyhledávání aplikací
Core Spotlight v iOSu 10 nabízí několik vylepšení vyhledávání aplikací, například:
- Crowdsourced Deep-Link Popularity (s rozdílovým soukromím) – poskytuje způsob, jak ve výsledcích hledání propagovat obsah aplikace s hlubokým odkazem.
- Vyhledávání v aplikaci – Pomocí nové
CSSearchQuery
třídy můžete poskytovat možnost vyhledávání ve spotlightu v aplikaci podobně jako aplikace Pošta, Zprávy a Poznámky. - Pokračování hledání – Umožňuje uživateli spustit hledání ve Spotlightu nebo Safari a pak otevřít aplikaci a pokračovat v hledání.
- Vizualizace výsledků ověření – Nástroj apple App Search API Validation Tool teď při předformulování testů zobrazuje vizuální reprezentaci značek a hloubkového propojení webu.
- Sdílení obrázků aplikace Zpráv – Umožňuje, aby se oblíbené obrázky v aplikaci, které jsou k dispozici pro sdílení ve zprávách (prostřednictvím rozšíření aplikace zpráv), zobrazovaly ve vyhledávání spotlight.
V následujících částech najdete podrobnější popis těchto témat.
Popularita deep-linku crowdsourced
iOS 10 poskytuje mechanismus pro počítání četnosti, za kterou uživatel následuje oblíbené hloubkové odkazy do aplikace, a používá tyto informace ke zlepšení pořadí obsahu aplikace ve výsledcích hledání a přitom stále chrání identitu uživatele pomocí rozdílové ochrany osobních údajů.
Pro aplikace, které používají NSUserActivity
objekty k poskytování adres URL s přímý odkaz a mají vlastnost nastavenou EligibleForPublicIndexing
na true
, iOS 10 odešle podmnožinu rozdílových hodnot hash ochrany osobních údajů na servery Společnosti Apple. Tyto informace se pak použijí k propagaci oblíbeného obsahu v aplikaci ve výsledcích hledání.
Další informace o implementaci hloubkového propojení v aplikaci Xamarin.iOS najdete v naší dokumentaci k hledání pomocí NSUserActivity .
Vyhledávání v aplikaci
Implementací nové třídy CSSearchQuery může aplikace poskytovat technologii vyhledávání a shodných pravidel Spotlightu, která najde obsah uvnitř sebe, aniž by uživatel musel opustit aplikaci (podobně jako aplikace Pošta, Zprávy a Poznámky funguje).
Aplikace, které podporují CSSearchQuery
, obvykle nemusí udržovat vlastní samostatný vyhledávací index.
Pokračování hledání
V iOSu 9 společnost Apple představila rozhraní API pro vyhledávání (jako je Core Spotlight NSUserActivity
a webové značky), která uživatelům umožní vyhledávat tento obsah pomocí vyhledávacích rozhraní Spotlight i Safari. Další podrobnosti najdete v naší dokumentaci k rozhraním API pro nové vyhledávání.
V iOSu 10 Apple vychází z této funkce tím, že uživateli umožní spustit vyhledávání ve Spotlightu nebo Safari a pak pokračovat v hledání, když otevře aplikaci.
Pokud chcete tuto funkci implementovat, upravte soubor aplikace Info.plist
, přidejte CoreSpotlightContinuation
klíč typu Boolean a nastavte jeho hodnotu na YES
:
Pokud chcete odpovědět uživateli, který pokračuje ve výsledcích hledání (NSUserActivity
), upravte AppDelegate.cs
soubor a přepište metodu ContinueUserActivity
. Příklad:
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;
}
Tento kód vyhledá typ akce pokračování dotazu (userActivity.ActivityType == CSSearchQuery.ContinuationActionType
) a pak přečte aktuální dotaz uživatele ze NSUserActivity
slovníku informací o uživateli třídy (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)
). Odsud musí aplikace provést akci, aby pokračovala v hledání uživatele.
Další informace o práci s vyhledáváním v aplikaci Xamarin.iOS najdete v naší dokumentaci k hledání ve službě Core Spotlight .
Vizualizace výsledků ověření
Nástroj pro ověřování rozhraní API pro vyhledávání aplikací společnosti Apple teď při předformulování testů zobrazuje vizuální reprezentaci značek a hloubkového propojení webu (včetně revizí, jako jsou definované v Schema.org).
Vývojář může pomocí nástroje pro ověřování zobrazit informace, které web crawler Applebot indexoval pro web, jako je název, popis, adresa URL a všechny další podporované prvky.
Další informace o práci s Web Markup najdete v dokumentaci k Seachu s webovou značkou .
Sdílení obrázků aplikace zpráv
Pokud rozšíření aplikace Zprávy poskytuje obrázky pro sdílení ve zprávách, můžete toto rozšíření nakonfigurovat tak, aby uživateli umožnilo vyhledávat oblíbené obrázky z aplikace Zprávy, aniž by musel opustit aplikaci.
Pokud chcete tuto funkci povolit, postupujte takto:
- Vytvořte rozšíření aplikace zpráv.
com.apple.developer.associated-domains
Přidejte oprávnění aplikace a přidejte do ní seznam webových domén, které hostují obrázky, které rozšíření aplikace zprávy sdílí. Pro každou doménu zadejtespotlight-image-search
službu.apple-app-site-association
Přidejte soubor na web, který hostuje image. Tento soubor obsahuje slovník prospotlight-image-search
službu a obsahuje ID aplikace, což je ID týmu nebo předpona ID aplikace následovaná ID sady prostředků. Soubor může obsahovat až 500 cest a vzorů, které budou indexovány spotlightem a zahrnuty do oblíbených hledání obrázků. Další informace najdete v dokumentaci k souboru přidružení společnosti Apple, který vytváří a nahrává.- Umožňuje applebotu procházet weby. Přečtěte si prosím dokumentaci k Applebotovi společnosti Apple.
Další podrobnosti najdete v naší dokumentaci k integraci aplikace message.
Shrnutí
Tento článek se zabývá vylepšeními, která společnost Apple provedla pro vyhledávání aplikací v iOSu 10 a jak je implementovat v Xamarin.iOS.