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.

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:

  1. Vytvořte rozšíření aplikace zpráv.
  2. 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 zadejte spotlight-image-search službu.
  3. apple-app-site-association Přidejte soubor na web, který hostuje image. Tento soubor obsahuje slovník pro spotlight-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á.
  4. 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.