Ios URL Scheme kullanarak Derin Linking için Özel İçerik
Derin bağlantı, mobil uygulamaları doğrudan uygulamadaki belirli içeriklere veya sayfalara açmanıza olanak sağlayan güçlü bir tekniktir. iOS cihazlar üzerinde, bu ölçeklenebilir, içerik odaklı mobil deneyim sağlar ve iOS URL programlarını kullanarak kullanıcı deneyimini bir uygulama ile geliştirir.If a headless CMS like Directus, you can dynamically manage the content that these deep links point to manage the enable a scalable, content-driven mobile experience.
iOS URL Scheme Nedir?
iOS URL programı, uygulamaları özel URL'leri kullanarak birbirleriyle iletişim kurmasını sağlayan bir protokoldür.Her uygulama bir veya daha özel URL şemalarını kayıt edebilir (örneğin, 03.03.2012:0), [[Ücretsiz:2) Dosya. Sistem bu programlardan biriyle başlayan bir bağlantı olduğunda, tam URL'yi yalnızca açıklığa kavuşturur.
Örneğin, iyi bilinen bir programdır.#design # 3 ) Kullanıcılar doğrudan bir tweet, bir kullanıcı profili veya paylaşılan yolda bağlı olarak form ekran görüntüsü alabilir. Benzer şekilde, 03.03.2012|BİLMİLDİNDÜDÜDÜŞÜNCÜŞÜNCÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜ
Teknik bir bakış açısıyla, URL programları aynı yapısal elementleri web URL'ler olarak kullanır: bir program, ev sahibi, bir seçenek yolu ve sorgu parametreleri. Anahtar fark, planın uygulama tarafından kayıtlı olmayan bir dizedir.
URL Schemes ile Derin Linking Nasıl Çalışır
iOS URL şemalarıyla bağlantı, uygulamanın tam olarak nereye gideceğine dair bir URL inşa etmeyi içerir. Tipik yapı:
- [FONT=0)Scheme:[[Dönetici:[Dönetici: · 9) Özel protokol tanımlayıcısı (örneğin, [[GÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN)
- [FONT=0)B:[[Dönem:))))))))) (örneğin, (örneğin,))))))
- [FONT:0)Path:[Dön kaynak belirtmek için bir veya daha fazla yol bileşeni (örneğin, [[D:0)
- [FONT=0) Parametreler:[[Dönem: 1 ) Ek bağlamı geçen anahtar değerli çiftler (örneğin, [[Dönemli: 16)
Bir kullanıcı bir iOS cihazı üzerinde böyle bir bağlantıya dokunduğunda, sistem herhangi bir yüklü uygulama kayıt altına alındıysa, ancak bağlantının uygulama ve sıralama yöntemine URL'yi başlatır.Uygulama daha sonra URL'yi parslar ve herhangi bir uygulama kaydedildiğinde, sistem varsayılan web tarayıcıya geri dönebilir.
Güvenilir çalışmak için derin bağlantı için, geliştiriciler URL yapısının hem bağlantılara hem de uygulamanın yönlendirme mantığına sahip olan web içerikte tutarlı olmasını sağlamalıdır.Bu, Directus gibi bir içerik yönetim sistemi, uygulama navigasyonunu sağlayan kanaldaki kanal veya kimlikleri depolamak için yardımcı olabilir.
Universal Links vs. Custom URL Schemes
Apple, iOS 9'da daha güvenli ve sorunsuz bir şekilde URL şemalarını kullanıyor. Universal Links standart HTTP/HTTPS URL'leri kullanıyor (örneğin, uygulama kurulu değilse, bağlantı normal bir web sitesi olarak açılır.
Özel URL programları, diğer yandan birkaç dezavantajı vardır: diğer uygulamalarla çatışma yapabilirler (iki uygulama aynı planı kayıt olabilirler), Evrensel Linkler desteklenmediğinde (sistem bir hata gösterir) ve kötü niyetli uygulamalarla kaçırılabilirler.
Üretim uygulamaları için Apple, Universal Links'yi birincil derin bağlantı mekanizması olarak kullanmayı ve özel URL şemalarına geri çekilmeyi önerir. Directus ile entegre olanlar dahil olmak üzere birçok modern uygulama, iOS versiyonları ve kullanıcı tercihleri arasında maksimum uyumluluk sağlamak için her ikisini de uygulayın.
Directus Content ile Derin Bağlantıları Bütünleştirmek
Directus, içeriği yönetmek için esnek bir API sağlayan bir başsız CMS'dir. Derin bağlantı kullanan bir iOS uygulaması inşa ederken, Directus'tan URL yolları ve içerik öğeleri arasında haritalamaları depolamak için doğrudan yararlanabilirsiniz. Örneğin, Directus'taki her makale veya ürün bir USBT: veya ürün, derin bağlantı URL'nin bir parçası haline gelir.
İşte tipik bir entegrasyon nasıl çalışır:
- [FONT=0) Doğrudanus'ta (örneğin, [[Döntgen: 0) içerik koleksiyonları[[Dönetici:0)
- [FONT:0)Ek alanları [DÜT:1], [[ŞUYGÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN
- [[Düzg:0)Derin bağlantı URL[Dönder: 1) Ürünün altını getirmek için Directus API'si kullanarak dinamik olarak web ön uç veya sunucuda dinamik olarak.
- [FONT=0] URL programına göre [[Dönetici:0) iOS uygulamasında (örneğin, [[GÜNÜŞÜN)[*)
- [FONT:0] Uygulamanın içinde bağlantıyı göz önünde bulundurun ve Directus API'yi verilen sürek için tam içeriği almak için arayın.
Bu model, Directus'ta bir makale güncelleyen bir içerik editörünün otomatik olarak en son sürüme işaret ettiği zaman - gerekli sert kodlanmış yollar gerektirmez.
Deep Links için Directus'tan gelen içerik
Örnek olarak, doğrudan bir alan ile bir alan [[DörtÜSÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞ
<a href="directusapp://article/how-to-deep-link">Read in App</a>
iOS uygulamasında, URL'yi aldıktan sonra, gugurgunT:25'i çıkar ve GET isteği yapar:
https://your-directus-project.example.com/items/articles?filter[slug][_eq]=how-to-deep-link
API yanıtı, daha sonra görüşünüzü populate etmek için kullandığınız tam makale verilerini içerir. Bu de zor kodlanmış içerikten uygulamayı birleştirir ve gerçekten dinamik kılar.
Directus ayrıca ilişki alanları destekler, bu yüzden belirli bir kullanıcının profiline veya ilgili bir koleksiyona derin bağlantı kurabilirsiniz. Örneğin, 03.03.2012 yılında kullanıcıyı Ödünç Vermek ve ayrıntıları görüntülemek için.
Web Content'ta Deep Link URL'leri Yapın
Web ön uçlarından derin bağlantıları oluştururken, genellikle iki seçeneğiniz vardır: URL'leri uygulamanın özel planını manuel olarak kullanarak veya Universal Links ile Universal Links, URL yalnızca genel web sitesi URL (örneğin, 03.03) hatasına sahip değildir.
Directus ile Universal Links uygulamak için, ihtiyacınız var:
- Sitenizin kökünde JSON dosyasına ev sahipliği yapın (örneğin, [[Düzg.)
- Directus API ve web ön uçunuzu aynı alanda çalıştırın veya web domain üzerinde ilişki dosyasını oluşturun.
- iOS uygulamasında, Xcode'un Cap yükümlülüklerinde “Associated Domains” etkinleştirin ve alan ekleyin (örneğin, [[Düzg., 03.03.2014).
- Gelen Universal Links in theurFLT:34) delege yöntemi.
Evrensel Linkleri kullanarak, uygulamanın dokunmadan yeni içeriğe kadar sağlam, güvenli bir derin bağlantı deneyimi elde edersiniz. Directus'un esnekliği, bu bağlantıları merkezi olarak yönetebileceğiniz anlamına gelir, ölçekleri, başlıkları güncelleyebilir veya eski bağlantıları yeni içeriğe yönlendirebilirsiniz.
iOS App'inizde Özel URL Schemes'i Uygulamayı Uygulamayın
Xcode projesinde özel URL şemaları ile başlamak için, uygulamanızın [[GÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜ
Sonraki, sizin için 0:40 yöntemi uygulayın (veya SwiftUI yaşam döngüsü eşdeğer). Bu yöntem URL'yi alır ve bileşenleri parlayabilirsin. Tipik bir uygulama gibi görünüyor:
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
let scheme = url.scheme // "directusapp"
let host = url.host // "article"
let path = url.path // "/how-to-deep-link"
let params = url.queryParameters // ["ref": "campaign"]
// Handle routing based on host and path
if host == "article" {
let slug = path.dropFirst() // remove leading "/"
navigateToArticle(withSlug: String(slug))
} else if host == "product" {
// ...
}
return true
}
Bu kod parçaları, sorgu parametrelerini bir sözlük olarak çıkarmak için bir uzatmanız olduğunu varsayıyor.Kastalı tarafından, Doğrudan API müşterinizi içerik öğesini getirmek ve uygun görüntü kontrolörü zorlamak için çağırabilirsiniz.
Fallbacks Gracely
Özel URL programları yerleşik bir geri dönüş sunmuyor, bir manuel olarak uygulamanız gerekir. Ortak bir yaklaşım, bir JavaScript yönlendirme veya sunucunun kontrolü kullanmaktır. Örneğin, web sitenizde, kullanıcının cihazını tespit edebilir ve özel bir program bağlantısını açmayı deneyebilirsiniz.If it goes installed), kullanıcıyı App Store'a veya içerik mobil bir web versiyonuna yönlendirebilirsiniz.
Bir teknik, bir zamanlayıcı ile hile yapmak içindir:
<script>
window.location = "directusapp://article/how-to-deep-link";
setTimeout(function() {
window.location = "https://apps.apple.com/your-app-id";
}, 500);
</script>
Bu birçok cihaz üzerinde çalışır, ancak doğrudan bir sistem koleksiyonunda App Store URL'yi depolayabilir veya geri dönüş için dinamik olarak getirir.
Directus-Powered Apps'te Deep Linking için en iyi uygulamalar
Directus ile bir üretim hazır derin bağlantı sistemi oluşturmak için, bu yönergeleri takip edin:
- [FONT:0) URL'leri insan hazırlanabilir tutun.[[Dönetici: 1 ) Mümkün olduğunda tıkanmış kimlikleri kullanın. Örneğin,FLT:46) daha anlamlıdır.Slugs, Directus ile kanca veya uzantılarla oluşturulabilir.
- [[Dönler:0)Always bir geri dönüş sağlar.[Dönler: Özel URL programları için, web versiyonuna geri dönüş veya App Store gerekli.For Universal Links, the fallback is otomatik (Safari).
- [[Dönetici Kullanımı:0) Ana Sayfa Derin bağlantı URL'yi girerek veya hangi bağlantıların tıklandığında özel bir koleksiyon kullanarak Doğrudanus'ta açılır.Bu, içerik takımlarının anlaşılmasına yardımcı olur.
- [[0) Gerçek cihazlarda Test.[[Dönetici:0) Simulator testleri, farklı iOS sürümlerini çalışan fiziksel cihazlar üzerinde tam olarak reaktif Link davranışını kopyalayamaz.
- [FONT:0) Programınızı ([Döneticileri) belirli bir şemayı kullanmak için mümkün olduğunda Evrensel Linkleri kullanın.Eğer özel bir program kullanmak zorundasınız, benzersiz yapın - şirketiniz ters bir alan, e.g.,ETHFLT:48
- [FONT:0]Handle kenar davaları.[[Döntgen: 1 ) Eğer Directus API bir hata döndürürse (örneğin, artık yok), bir dost hata ekranı gösterir veya uygulama içinde bir ev ekrana yönlendirilir.
Bu uygulamalara yemin ederek, derin bir bağlantıya dokunan kullanıcıların düzgün bir deneyime sahip olmasını sağlarsınız, ya da yüklü olup olmadıklarına sahip olun.
Test ve Debugging Deep Links
Derin bağlantıların kaldırılması zor olabilir çünkü sistem genellikle ortak dosyaları veya sessiz bir şekilde başarısız olur. İşte bazı ipuçları:
- [FONT:0) Konsolu logunu kullanın.[[Dönetici:0) Xcode'da, URL'lerin ne geçtiğine göre bir mola noktası ayarlar.
- [FONT:0] Safari'den gelen bağlantıları Doğrudan Safari'nin adresi barına basarak özel URL programlarını test edebilirsiniz.To Universal Links için, bir araya gelme dosya ve teste gerçek bir alandan ev sahipliği yapmanız gerekir.
- [0]Mas-app-site-association dosyasının () Apple, Apple Developer konsolunda dosyayı kontrol etmek için bir araç sunuyor.You can also use online validators like a wwwSA Validator).
- [[Dönetici:0) Sunucu loglarını kontrol edin.[Dönder:0) Direktus'u geri dönüş olarak kullanıyorsanız, API uç noktanızı içerik getirmek için erişilebilir ve beklenen verileri döndürür.Postman gibi kullanın.Use tools like Postman to sim requests.
- [[0) Cihazın önbellekini yeniden başlatın.[[Dönetici:0) iOS önbellekleri, kontraseptif olarak yeniden başlatarak bir yenilemeye zorlayabilirsiniz.
Kapsamlı bir test için, hem yüklenen hem de yükleme edilmemiş uygulama senaryoları, farklı iOS versiyonları ve çeşitli bağlantı formatları (ve parametreler olmadan) kapsayan bir kontrol listesi oluşturun.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Doğrudanus gibi bir kafasız CMS ile bağlantı kurmak için iOS URL programlarını doğrudan mobil uygulamanızda kullanıcılara sunmak için güçlü, esnek bir sistem yaratır. Doğrudanus'ta içerik yönetimine göre, yeni yollar ekleyebilir ve uygulamanızı yeniden inşa etmeden takip edebilirsiniz. Özel URL programlarını veya Universal Links – ve ideal olarak her ikisine de - sonucun içeriğinizi doğrudan bir şekilde indirmesi için gerekli olan adımları atarak.
Daha fazla okuma için Apple'ın 03.D.D.D.D.D.D.D.D.D.D.D.D.D.D.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S