Aracılığıyla paylaş


Xamarin.iOS'ta Web İşaretlemi ile arama

İçeriklerine bir web sitesi üzerinden erişim sağlayan uygulamalar için (yalnızca uygulamanın içinden değil), web içeriği Apple tarafından gezinilecek özel bağlantılarla işaretlenebilir ve kullanıcının iOS 9 cihazında uygulamanıza ayrıntılı bağlantı sağlayabilir.

iOS uygulamanız mobil derin bağlamayı zaten destekliyorsa ve web siteniz uygulamanızdaki içeriğe derin bağlantılar sunduysa, Apple'ın Applebot web gezgini bu içeriği dizine alır ve otomatik olarak Bulut Dizinine ekler:

Bulut Dizinine genel bakış

Apple bu sonuçları Spotlight Search ve Safari Search sonuçlarında ortaya çıkaracaktır. Kullanıcı bu sonuçlardan birine dokunursa (ve uygulamanız yüklüyse) uygulamanızdaki içeriğe yönlendirilir:

Arama sonuçlarında bir web sitesinden derin bağlantı

Web İçeriği Dizini Oluşturmayı Etkinleştirme

Web İşaretlemeyi kullanarak uygulamanızın içeriğinin aranabilir olmasını sağlamak için dört adım gerekir:

  1. Apple'ın uygulamanızı iTunes Bağlan'de Destek veya Pazarlama web sitesi olarak tanımlayarak uygulamanızın web sitesini keşfedip dizine ekleyebildiğinden emin olun.
  2. Uygulamanızın web sitesinde mobil derin bağlantı uygulamak için gerekli işaretlemenin bulunduğundan emin olun. Daha fazla ayrıntı için aşağıdaki bölümlere bakın.
  3. iOS uygulamanızda derin bağlantı işlemeyi etkinleştirin.
  4. Son kullanıcıya zengin ve ilgi çekici bir sonuç sağlamak için uygulamanızın web sitesi tarafından ortaya çıkan yapılandırılmış veriler için işaretleme ekleyin. Bu adım kesinlikle gerekli olmasa da, Apple tarafından kesinlikle önerilir.

Aşağıdaki bölümlerde bu adımlar ayrıntılı olarak ele alınır.

Uygulamanızın Web Sitesini Bulunabilir Hale Getirme

Apple'ın uygulamanızın web sitesini bulmasının en kolay yolu, uygulamanızı iTunes Bağlan aracılığıyla Apple'a gönderdiğinizde Destek veya Pazarlama web sitesi olarak kullanmaktır.

Akıllı Uygulama Başlıklarını Kullanma

Uygulamanıza net bir bağlantı sunmak için web sitenizde bir Akıllı Uygulama Başlığı sağlayın. Uygulama henüz yüklü değilse Safari otomatik olarak kullanıcıdan uygulamanızı yüklemesini ister. Aksi takdirde kullanım, uygulamanızı web sitesinden başlatmak için görünüm bağlantısına dokunabilir. Örneğin, akıllı uygulama başlığı oluşturmak için aşağıdaki kodu kullanabilirsiniz:

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

Daha fazla bilgi için lütfen Apple'ın Akıllı Uygulama Başlıkları ile Uygulamaları Tanıtma belgelerine bakın.

iOS 9'da yeni olan Evrensel Bağlantılar, aşağıdakileri sağlayarak Akıllı Uygulama Başlıklarına veya mevcut özel URL düzenlerine daha iyi bir alternatif sağlar:

  • Benzersiz – Aynı URL birden fazla web sitesi tarafından talep edilemez.
  • Güvenli – Web sitesi için, web sitesinin size ait olduğundan ve geçerli olarak uygulamanıza bağlı olduğundan emin olan imzalı bir sertifika gereklidir.
  • Esnek – Son kullanıcı URL'nin web sitesini mi yoksa uygulamayı mı başlatdığını denetleyebiliyor.
  • Evrensel – Aynı URL hem web sitenizin hem de uygulamanızın içeriğini tanımlamak için kullanılabilir.

Twitter Kartlarını Kullanma

Twitter Kartı kullanarak uygulamanızın içeriğine ayrıntılı bağlantılar sağlayabilirsiniz. Örneğin:

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

Daha fazla bilgi için lütfen Twitter'ın Twitter Kart Protokolü belgelerine bakın.

Facebook Uygulama Bağlantısı kullanarak uygulamanızın içeriğine ayrıntılı bağlantılar sağlayabilirsiniz. Örneğin:

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

Daha fazla bilgi için lütfen Facebook'un Uygulama Bağlantıları belgelerine bakın.

Xamarin.iOS uygulamanızda Derin Bağlantılar'ı açmak ve görüntülemek için destek eklemeniz gerekir. AppDelegate.cs dosyasını düzenleyin ve özel URL biçimini işlemek için yöntemini geçersiz kılınOpenURL. Örneğin:

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;
}

Yukarıdaki kodda, istenen içeriği kullanıcıya görüntülemek için değerini içeren /appname ve (123bu örnekte) değerini uygulamamızdaki özel bir görünüm denetleyicisine geçiren query bir URL arıyoruz.

Yapılandırılmış Verilerle Zengin Sonuçlar Sağlama

Yapılandırılmış Veri İşaretlemesi'ni ekleyerek, son kullanıcıya yalnızca başlık ve açıklamanın ötesine geçebilecek zengin arama sonuçları sağlayabilirsiniz. Yapılandırılmış Veri İşaretlemesi kullanarak görüntüler, uygulamaya özgü veriler (derecelendirmeler gibi) ve sonuçlara eylemler ekleyin.

Zengin sonuçlar daha ilgi çekicidir ve daha fazla kullanıcının bunlarla etkileşim kurmasını sağlayarak Bulut tabanlı Arama Dizini'ndeki sıralamanızı iyileştirmenize yardımcı olabilir.

Yapılandırılmış Veri İşaretlemeyi sağlamanın bir seçeneği, Open Graph kullanmaktır. Örneğin:

<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">

Daha fazla bilgi için lütfen Open Graph web sitesine bakın.

Yapılandırılmış Veri biçimlendirmesi için bir diğer yaygın biçim de schema.org'un Microdata biçimidir. Örneğin:

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

Aynı bilgiler schema.org'un JSON-LD biçiminde de gösterilebilir:

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

Aşağıda, web sitenizdeki meta verilerin son kullanıcıya zengin arama sonuçları sağlayan bir örneği gösterilmektedir:

Yapılandırılmış Veri İşaretlemeyi kullanarak zengin arama sonuçları

Apple şu anda schema.org aşağıdaki şema türlerini desteklemektedir:

  • AggregateRating
  • ImageObject
  • InteractionCount
  • Teklifler
  • Kuruluş
  • PriceRange
  • Tarifi
  • SearchAction

Bu düzen türleri hakkında daha fazla bilgi için bkz . schema.org.

Yapılandırılmış Verilerle Eylemler Sağlama

Belirli yapılandırılmış veri türleri, arama sonucunun son kullanıcı tarafından eyleme dönüştürülebilmesini sağlar. Şu anda aşağıdaki eylemler desteklenir:

  • Telefon numarası aranıyor.
  • Belirli bir adrese harita yönü alma.
  • Ses veya video dosyası yürütme.

Örneğin, telefon numarasını çevirmek için eylem tanımlamak aşağıdaki gibi görünebilir:

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

Bu arama sonucu son kullanıcıya sunulduğunda, sonuçta küçük bir telefon simgesi görüntülenir. Kullanıcı simgeye dokunursa, belirtilen numara çağrılır.

Aşağıdaki HTML, arama sonucundan bir ses dosyasını oynatmak için bir eylem ekler:

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

Son olarak, aşağıdaki HTML arama sonucundan yol tarifleri almak için bir eylem ekler:

<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**

Daha fazla bilgi için lütfen Apple'ın Uygulama Arama Geliştirici Sitesi'ne bakın.