Aracılığıyla paylaş


Xamarin.iOS'ta Uygulama Arama Geliştirmeleri

Bu makale, Apple'ın iOS 10'da Uygulama Arama'da yaptığı iyileştirmeleri ve bunları Xamarin.iOS'ta nasıl uygulayacaklarını kapsar.

iOS 10'da Apple, Uygulama Arama'da Crowdsourced Deep-Linking, In-App Searching, Search Continuation ve Visualization of Validation Results gibi çeşitli geliştirmeler yapmıştır. Bu makalede, bu özelliklerin bir Xamarin.iOS uygulamasında uygulanması ele alınacaktır.

Uygulama Arama Geliştirmeleri Hakkında

iOS 10'daki Temel Öne Çıkanlar, Uygulama Arama'da aşağıdakiler gibi çeşitli geliştirmeler sağlar:

  • Crowdsourced Deep-Link Popülerliği (değişiklik gizliliğiyle) - Arama sonuçlarında derin bağlantılı uygulama içeriğini tanıtmanın bir yolunu sağlar.
  • Uygulama İçi Arama - Posta, İletiler ve Notlar uygulamalarının çalışma şekline benzer uygulama içi Spotlight arama özelliği sağlamak için yeni CSSearchQuery sınıfı kullanın.
  • Arama Devamı - Kullanıcının Spotlight veya Safari'de arama başlatmasına, ardından bir uygulama açıp aramaya devam etmesine izin verir.
  • Doğrulama Sonuçlarının Görselleştirmesi - Apple'ın Uygulama Arama API'sini Doğrulama Aracı artık testleri önceden oluştururken bir web sitesinin işaretlemesinin ve derin bağlantının görsel bir gösterimini görüntüler.
  • İleti Uygulaması Görüntü Paylaşımı - İletilerde paylaşım için sağlanan popüler uygulama içi görüntülerin (İleti Uygulaması Uzantısı aracılığıyla) Spotlight aramalarında görünmesini sağlar.

Aşağıdaki bölümlerde bu konular daha ayrıntılı olarak ele alınacaktır.

iOS 10, bir uygulamadaki popüler derin bağlantıların kullanıcı tarafından takip edilen sıklığını saymak için bir mekanizma sağlar ve bu bilgileri kullanarak arama sonuçlarında uygulama içeriğinin derecelendirmesini artırırken, Değişiklik Gizliliği'ni kullanarak kullanıcının kimliğini korumaya devam eder.

Derin bağlantı URL'leri sağlamak için nesneleri kullanan NSUserActivity ve özelliği olarak trueayarlanmış olan uygulamalar için iOS 10, Apple'ın sunucularına Değişiklik Gizliliği Karmalarının bir alt kümesini EligibleForPublicIndexing gönderir. Bu bilgiler daha sonra arama sonuçlarında popüler uygulama içi içeriği yükseltmek için kullanılır.

Xamarin.iOS uygulamasında ayrıntılı bağlantı uygulama hakkında daha fazla bilgi için lütfen NSUserActivity ile arama belgelerimize bakın.

Uygulama İçi Arama

Yeni CSSearchQuery sınıfını uygulayarak bir uygulama, kullanıcının uygulamadan ayrılmasına gerek kalmadan (Posta, İletiler ve Notlar uygulamasının çalışma şekline benzer şekilde) içeriği kendi içinde bulmak için Spotlight'ın arama ve eşleştirme kuralı teknolojisini sağlayabilir.

Genellikle, destekleyen CSSearchQuery uygulamaların kendi ayrı arama dizinlerini tutması gerekmez.

Arama Devamı

iOS 9'da Apple, kullanıcıların hem Spotlight hem de Safari arama arabirimlerini kullanarak bu içeriği aramasına olanak sağlamak üzere bir uygulama içindeki içeriği derinlemesine beğenmek için Arama API'lerini (Çekirdek Öne Çıkanlar NSUserActivity ve web işaretlemesi gibi) kullanıma sundu. Daha fazla ayrıntı için Yeni Arama API'leri belgelerimize bakın.

iOS 10'da Apple, kullanıcının Spotlight veya Safari'de arama başlatmasına ve ardından uygulamayı açtığında aramaya devam etmesine izin vererek bu özelliğin üzerine inşa eder.

Bu özelliği uygulamak için uygulamanın Info.plist dosyasını düzenleyin, Boole türünde bir anahtar ekleyin CoreSpotlightContinuation ve değerini olarak YESayarlayın:

Bir arama sonucuna ()NSUserActivity devam eden kullanıcıya yanıt vermek için dosyayı düzenleyin AppDelegate.cs ve yöntemini geçersiz kılın ContinueUserActivity . Örneğin:

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

Bu kod sorgu devamlılığı eylem türünü ()userActivity.ActivityType == CSSearchQuery.ContinuationActionType arar ve ardından sınıfın kullanıcı bilgileri sözlüğünden (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString) ) kullanıcının geçerli sorgusunu NSUserActivity okur. Buradan, kullanıcının aramasına devam etmek için uygulamanın işlem yapması gerekir.

Xamarin.iOS uygulamasında aramalarla çalışma hakkında daha fazla bilgi için lütfen Çekirdek Spotu ile Arama belgelerimize bakın.

Doğrulama Sonuçlarının Görselleştirmesi

Apple'ın Uygulama Arama API'si Doğrulama Aracı artık testleri önceden oluştururken bir web sitesinin işaretlemesinin ve derin bağlantının (Schema.org'de tanımlanan işaretlemeler dahil) görsel bir gösterimini görüntüler.

Bir geliştirici, Doğrulama Aracı'nı kullanarak Applebot Web Gezgini'nin site için başlık, açıklama, URL ve desteklenen diğer öğeler gibi dizine eklediği bilgileri görebilir.

Web İşaretleme ile çalışma hakkında daha fazla bilgi için lütfen Web İşaretleme ile Bağlantı belgelerimize bakın.

İleti Uygulaması Görüntü Paylaşımı

İleti Uygulaması Uzantısı İletiler'de paylaşılacak görüntüler sağlıyorsa, uzantı kullanıcının uygulamadan çıkmak zorunda kalmadan mesajlar içinden popüler görüntüler için Spotlight aramaları gerçekleştirmesine izin verecek şekilde yapılandırılabilir.

Bu özelliği etkinleştirmek için aşağıdakileri yapın:

  1. İleti Uygulaması Uzantısı oluşturun.
  2. com.apple.developer.associated-domains öğesini uygulamanın yetkilendirmelerine ekleyin ve İleti Uygulaması Uzantısı'nın paylaştığı görüntüleri barındıran web etki alanlarının listesini ekleyin. Her etki alanı için hizmeti belirtin spotlight-image-search .
  3. Görüntüleri barındıran web sitesine bir apple-app-site-association dosya ekleyin. Bu dosya hizmet için spotlight-image-search bir sözlük içerir ve uygulama kimliğini içerir; bu, Ekip Kimliği veya Uygulama Kimliği ön eki ve ardından Paket Kimliği'dir. Dosya, Spotlight tarafından dizine eklenecek ve popüler görüntü aramalarına dahil edilecek en fazla 500 yol ve desen içerebilir. Daha fazla bilgi için lütfen Apple'ın İlişkilendirme Dosyası Oluşturma ve Karşıya Yükleme belgelerine bakın.
  4. Applebot'un web sitelerinde gezinmesine izin verin. Lütfen Apple'ın Applebot Hakkında belgelerine bakın.

Daha fazla ayrıntı için İleti Uygulaması Tümleştirme belgelerimize bakın.

Özet

Bu makale, Apple'ın iOS 10'da Uygulama Arama'da yaptığı geliştirmeleri ve bunları Xamarin.iOS'ta nasıl uygulayacaklarını ele almıştır.