Wyszukiwanie przy użyciu znaczników internetowych na platformie Xamarin.iOS

W przypadku aplikacji, które zapewniają dostęp do zawartości za pośrednictwem witryny internetowej (nie tylko z poziomu aplikacji), zawartość internetowa może być oznaczona specjalnymi linkami, które będą przeszukiwane przez firmę Apple i zapewniają głębokie łączenie z aplikacją na urządzeniu z systemem iOS 9 użytkownika.

Jeśli aplikacja systemu iOS obsługuje już łączenie głębokie dla urządzeń przenośnych, a witryna internetowa zawiera linki głębokie do zawartości w aplikacji, przeszukiwarka internetowa applebota firmy Apple zindeksuje tę zawartość i automatycznie doda ją do indeksu chmury:

Cloud Index overview

Firma Apple wyświetli te wyniki w wynikach wyszukiwania W centrum uwagi i wyszukiwania w przeglądarce Safari. Jeśli użytkownik naciągnie jeden z tych wyników (i ma zainstalowaną aplikację), nastąpi przekierowanie do zawartości w aplikacji:

Deep linking from a website in search results

Włączanie indeksowania zawartości internetowej

Istnieją cztery kroki wymagane, aby umożliwić przeszukiwanie zawartości aplikacji przy użyciu znaczników internetowych:

  1. Upewnij się, że firma Apple może odnajdywać i indeksować witrynę internetową aplikacji, definiując ją jako witrynę internetową pomoc techniczną lub marketingową w witrynie iTunes Połączenie.
  2. Upewnij się, że witryna internetowa aplikacji zawiera wymagany znacznik w celu zaimplementowania linków głębokich dla urządzeń przenośnych. Więcej szczegółów można znaleźć w poniższych sekcjach.
  3. Włącz obsługę linków głębokich w aplikacji systemu iOS.
  4. Dodaj znaczniki dla danych strukturalnych, które są udostępniane przez witrynę internetową aplikacji, aby zapewnić użytkownikowi końcowemu bogaty i atrakcyjny wynik. Chociaż ten krok nie jest ściśle wymagany, jest zdecydowanie zalecany przez firmę Apple.

Poniższe sekcje szczegółowo przejdą do tych kroków.

Umożliwia odnajdywanie witryny internetowej aplikacji

Najprostszym sposobem znalezienia witryny internetowej aplikacji przez firmę Apple jest użycie jej jako witryny internetowej pomocy technicznej lub marketingowej podczas przesyłania aplikacji do firmy Apple za pośrednictwem programu iTunes Połączenie.

Korzystanie z transparentów aplikacji inteligentnych

Podaj transparent aplikacji inteligentnej w witrynie internetowej, aby przedstawić jasny link do aplikacji. Jeśli aplikacja nie została jeszcze zainstalowana, przeglądarka Safari automatycznie wyświetli monit o zainstalowanie aplikacji przez użytkownika. W przeciwnym razie użycie może nacisnąć link widoku, aby uruchomić aplikację z witryny internetowej. Aby na przykład utworzyć transparent aplikacji inteligentnej, możesz użyć następującego kodu:

<meta name="AppName" content="app-id=123456, app-argument=http://company.com/AppName">

Aby uzyskać więcej informacji, zobacz dokumentację Promuj aplikacje firmy Apple za pomocą transparentów aplikacji inteligentnych .

Nowe w systemie iOS 9 linki uniwersalne zapewniają lepszą alternatywę dla transparentów aplikacji inteligentnych lub istniejących niestandardowych schematów adresów URL, zapewniając następujące elementy:

  • Unique — ten sam adres URL nie może być zgłaszany przez więcej niż jedną witrynę internetową.
  • Bezpieczny — podpisany certyfikat jest wymagany dla witryny internetowej, która gwarantuje, że witryna internetowa jest własnością Ciebie i jest ważną połączoną z twoją aplikacją.
  • Elastyczne — użytkownik końcowy może kontrolować, czy adres URL uruchamia witrynę internetową, czy aplikację.
  • Universal — ten sam adres URL może służyć do definiowania zawartości witryny internetowej i aplikacji.

Korzystanie z kart usługi Twitter

Możesz podać szczegółowe linki do zawartości aplikacji przy użyciu karty Twitter. Na przykład:

<meta name="twitter:app:name:iphone" content="AppName">
<meta name="twitter:app:id:iphone" content="AppNameID">
<meta name="twitter:app:url:iphone" content="AppNameURL">

Aby uzyskać więcej informacji, zobacz dokumentację protokołu Twitter Card Protocol .

Linki szczegółowe do zawartości aplikacji można podać przy użyciu linku aplikacji facebook. Na przykład:

<meta property="al:ios:app_name" content="AppName">
<meta property="al:ios:app_store_id" content="AppNameID">
<meta property="al:ios:url" content="AppNameURL">

Aby uzyskać więcej informacji, zobacz dokumentację linków aplikacji serwisu Facebook.

Musisz dodać obsługę otwierania i wyświetlania linków bezpośrednich w aplikacji platformy Xamarin.iOS. Zmodyfikuj plik AppDelegate.cs i zastąpij metodę OpenURL w celu obsługi niestandardowego formatu adresu URL. Na przykład:

public override bool OpenUrl (UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
{

  // Handling a URL in the form http://company.com/appname/?123
  try {
    var components = new NSUrlComponents(url,true);
    var path = components.Path;
    var query = components.Query;

    // Is this a known format?
    if (path == "/appname") {
      // Display the view controller for the content
      // specified in query (123)
      return ContentViewController.LoadContent(query);
    }
  } catch {
    // Ignore issue for now
  }

  return false;
}

W powyższym kodzie szukamy adresu URL zawierającego /appname i przekazującego wartość query (123 w tym przykładzie) do niestandardowego kontrolera widoku w aplikacji w celu wyświetlenia żądanej zawartości użytkownikowi.

Dostarczanie rozbudowanych wyników za pomocą danych strukturalnych

Dzięki włączeniu znaczników danych strukturalnych możesz udostępnić użytkownikowi końcowemu zaawansowane wyniki wyszukiwania, które wykraczają poza tytuł i opis. Dołączanie obrazów, danych specyficznych dla aplikacji (takich jak klasyfikacje) i akcji do wyników przy użyciu znaczników danych ustrukturyzowanych.

Zaawansowane wyniki są bardziej angażujące i mogą pomóc ulepszyć ranking w indeksie wyszukiwania opartego na chmurze, zachęcając większej liczby użytkowników do interakcji z nimi.

Jedną z opcji udostępniania znaczników danych strukturalnych jest użycie funkcji Open Graph. Na przykład:

<meta property="og:image" content="http://company.com/appname/icon.jpg">
<meta property="og:audio" content="http://company.com/appname/theme.m4a">
<meta property="og:video" content="http://company.com/appname/tutorial.mp4">

Aby uzyskać więcej informacji, zobacz witrynę internetową Open Graph .

Innym typowym formatem znaczników danych strukturalnych jest format Microdata w schema.org. Na przykład:

<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
  <span itemprop="ratingValue">4** stars -
  <span itemprop="reviewCount">255** reviews

Te same informacje mogą być reprezentowane w formacie JSON-LD w schema.org:

<script type="application/ld+json">
  "@content":"http://schema.org",
  "@type":"AggregateRating",
  "ratingValue":"4",
  "reviewCount":"255"
</script>

Poniżej przedstawiono przykład metadanych z witryny internetowej, które udostępniają użytkownikowi końcowemu zaawansowane wyniki wyszukiwania:

Rich search results via Structured Data Markup

Firma Apple obsługuje obecnie następujące typy schematów z schema.org:

  • Agregowanie
  • ImageObject
  • InteractionCount
  • Oferty
  • Organizacja
  • PriceRange
  • Przepis
  • SearchAction

Aby uzyskać więcej informacji na temat tych typów schematów, zobacz schema.org.

Zapewnianie akcji za pomocą danych strukturalnych

Określone typy danych ustrukturyzowanych umożliwią użytkownikowi końcowemu działanie wyniku wyszukiwania. Obecnie obsługiwane są następujące akcje:

  • Wybieranie numeru telefonu.
  • Pobieranie kierunku mapy do danego adresu.
  • Odtwarzanie pliku audio lub wideo.

Na przykład zdefiniowanie akcji w celu wybrania numeru telefonu może wyglądać następująco:

<div itemscope itemtype="http://schema.org/Organization">
  <span itemprop="telephone">(408) 555-1212**

Po wyświetleniu tego wyniku wyszukiwania użytkownikowi końcowemu w wyniku zostanie wyświetlona mała ikona telefonu. Jeśli użytkownik naciągnie ikonę, zostanie wywołana określona liczba.

Poniższy kod HTML doda akcję w celu odtworzenia pliku audio z wyniku wyszukiwania:

<div itemscope itemtype="http://schema.org/AudioObject">
  <span itemprop="contentUrl">http://company.com/appname/greeting.m4a**

Na koniec następujący kod HTML doda akcję w celu pobrania wskazówek z wyniku wyszukiwania:

<div itemscope itemtype="http://schema.org/PostalAddress">
  <span itemprop="streetAddress">1 Infinite Loop**
  <span itemprop="addressLocality">Cupertino**
  <span itemprop="addressRegion">CA**
  <span itemprop="postalCode">95014**

Aby uzyskać więcej informacji, zobacz witrynę dla deweloperów funkcji wyszukiwania aplikacji firmy Apple.