Blog Mobil uygulama deeplink'lerine derin bir bakış

Mobil uygulama deeplink'lerine derin bir bakış

Mobil uygulamalardaki deeplinking teknolojisi, kullanıcılar uygulama dışındaki web sayfası gibi bir ortamda ya da başka bir uygulamadaki bir URL'e tıkladığında uygulama içinde spesifik bir sayfanın açılmasını sağlar. Deeplink'ler ile kullanıcı deneyimini kolayca optimize edebilir ve dönüşüm oranlarınızı artırabilirsiniz. Bu blog yazımızda size deeplink'leri nasıl oluşturabileceğiniz hakkında bilgilendirmek ve bu konuyla ilgili detayları vermek istedik.

Deeplink'lere neden ihtiyacınız var?

Bir müzik uygulaması yayınladığınızı düşünelim. Yeni bir şarkının çıkışını kutluyorsunuz ve popüler bir web sitesinde bir kampanya yürütmek için yüksek miktarda para ödediniz. Kampanyanızda şarkının kısa bir önizlemesini gösteriyorsunuz ve büyük olasılıkla kullanıcının sadece albüm kapağını göreceği web siteniz yerine uygulamanızın içindeki önizlemeyi dinlemesini istiyorsunuz.

Bir örnek daha verelim. Diyelim ki bir satış kampanyası ile inaktif kullanıcıları yeniden kazanmak istiyorsunuz. Bu kampanyadan gelen kullanıcıları arama yapmaktan veya manuel olarak bir kupon kodu girmekten kurtararak uygulamanızdaki indirimli ürünler sayfasına tek bir tıkla yönlendirebilirsiniz. Bu iki örnekte de deeplink'ler kullanılır ve bu kampanyaları mümkün kılar.

Deeplink'ler, mobil uygulamalara sorunsuz bir kullanıcı deneyimi sağlamakla birlikte dönüşüm oranlarını ve kullanıcı tutma oranını önemli ölçüde artırır. Bu yararlar hakkında daha fazla bilgi için, deeplink'lerin kampanyalardaki etkilerini masaya yatırdığımız blog yazımıza göz atabilirsiniz.

Deeplink'lerin varoluş amacı

Daha önce de değindiğimiz gibi deeplink'ler, web ve uygulamalar arasındaki yolculuğu kullanıcılar için çok daha kolay hale getiriyor. Ayrıca, reklamverenlere bu kullanıcıları dönüştürme konusunda çok daha iyi bir şans veriyor.

Örneğin, müşterileri e-ticaret uygulamanıza çekmek için yılbaşı hediyelerini tanıtan bir kampanya yürütmek istediğimizi varsayalım. Kampanyanızda "Yılbaşı hediyeleri" gibi bir kategoriyi öne çıkarabilirsiniz ve sunduğunuz ürünlerin bir önizlemesini gösterebilirsiniz, ancak asıl amacınız alışveriş yapanların ürünleri web siteniz yerine uygulamanızda görüntülemesidir. Deeplink'ler tam da bu noktada devreye giriyor. Kullanıcı, kampanyanızdaki link'e tıkladığında uygulama halihazırda telefonunda yüklü ise uygulama açılır ve (bazı durumlarda) ürünü hemen gösterir.

Deeplink'lerin odaklandığı önemli bir nokta da kullanıcıları elde tutmaktır. Deeplink'ler, kullanıcılarınızı uygulamanızın içinde tutar. Ayrıca kullanıcılar ile yeniden etkileşime girmek için ideal bir yoldur ve çoğu zaman retargeting kampanyalarının önemli bir parçası haline gelir. Sonuç olarak deeplink'ler, size kullanıcılarınızı ekosisteminiz içinde yönlendirmenizi, daha iyi bir kullanıcı deneyimi yaratabilmenizi ve satışlarınızla birlikte dönüşü ve kullanıcı tutma oranlarınızı artırabileceğiniz çok yönlü bir yöntem sağlar.

Deeplink'lerin iki türü

İki tür deeplink vardır: varsayılan ve ertelenen deeplinkler.

Varsayılan

Bu tür deeplinkler, kullanıcıları sadece uygulama cihazda kuruluysa yönlendirebilir. Eğer uygulama cihazda kurulu değilse, link hedef noktasına ulaşamaz ve bir hata mesajı gösterilir.

Varsayılan deeplink'ler, pazarlamacılar sadece uygulamayı cihazlarında kurulu tutan kullanıcıları hedefliyorsa ve onları geri kazanmak istiyorsa kullanışlıdır.

Ertelenen (deferred)

Ertelenen deeplinkler, varsayılan deeplinklerden daha komplikedir. Eğer kullanıcı uygulamayı kurmamışsa onu App ya da Play Store'a (ya da daha fazla bilgi için uygulamanın web sitesi gibi başka bir yere) yönlendirebilir ve kurulumdan sonra uygulama içinde istenen sayfaya götürebilir.

Bir örnek vermek gerekirse, bir kullanıcı bir ayakkabı reklamına tıkladıktan sonra e-ticaret uygulamanızı indirmesi için App ya da Play Store'a yönlendirilir. Uygulama cihaza kurulduktan sonra kullanıcıya tıkladığı ayakkabının sayfası gösterilir.

Ertelenen deeplink'ler sadece Adjust gibi bir deeplink çözümü ile mümkün olabilir. Bu deeplink'ler SDK entegrasyonu ile oluşturulurlar. Bunun hakkında daha fazla bilgiyi Android için burada ve iOS için burada bulabilirsiniz.

Bağlamsal deeplinkler mi?

Bağlamsal deeplink terimini daha önce duymuş olabilirsiniz. Bu deeplink'ler, pazarlamacılara içeriklerden daha iyi yararlanmalarına olanak veren ve daha fazla bilgi sağlayan deeplink'lere verilen isimdir.

Bağlamsal deeplink'ler, pazarlamacıların kendi belirledikleri parametreler ekleyebildiği varsayılan veya ertelenen deeplink'lerdir. Bu tür linkler kendi başlarına var olamazlar.

Deeplink'ler nasıl oluşturulur?

İsterseniz işin temelleri ile başlayalım: bir deeplink oluşturmak. Normalde bu oldukça zorlayıcı bir süreçtir, çünkü kullanıcıları istenen noktalara götürecek linklerin uygulamanın içinde oluşturulması gerektiğinden, geliştiriciler ve pazarlamacılar arasında uzun süren yazışmalar meydana gelir.

Buna ek olarak, deeplink'lerin manuel olarak oluşturulması zaman alan bir süreçtir. Ayrıca insan kaynaklı hataların da kapısını açar. Tüm URL'ler gibi, deeplink'ler de yazım hataları içerirse çalışmaz ve en iyi mühendis bile yazım hataları yapabilir. Deeplink'leri otomatik olarak oluşturan bir çözüme sahip olmak, değerli zamanınızı ve kaynaklarınızı kampanya optimizasyonuna ve stratejilerine ayırmanızı sağlayabilir.

Sonuç olarak, deeplink'leri tutarlı bir şekilde oluşturmak ve insan kaynaklı hataları en aza indirmek için kullanımı kolay ve linkleri otomatik olarak oluşturabilen bir araca ihtiyacınız var. Pazarlamacılara hem App Link'lerini (Android) hem de Universal Link'leri (iOS) destekleyen ve eksiksiz deeplink URL'leri oluşturmalarını sağlayarak deeplink emplementasyonunu kolaylaştıran Adjust Deeplink Generator hakkında daha fazla bilgi edinin.

Şema bazlı deeplink'ler (Android ve iOS) ve iOS 9+ Universal Linkler eksiksiz bir dokümantasyon ile desteklenirler ve temel prensipleri birbirlerine oldukça benzerdir: uygulamanıza bir URL (şema bazlı için youapp://; universal linkler için https: //domain.com/) atamanız yeterlidir. URL tıklandığında, uygulama cihazda kurulu ise sistem otomatik olarak uygulamayı açar.

Buraya kadar her şey iyi gidiyor. Bir kullanıcı URL'e tıklarsa ve uygulamam cihazında kurulu değilse ne olacağını merak ediyor olabilirsiniz. Ne yazık ki bir hata mesajı ile karşılaşırlar ya da hiçbir şey olmaz. Bir uygulamanın cihazda kurulu olup olmadığını kontrol etmek web ortamından doğrudan yapılamasa da, uygulamanız cihazda ise onu "poll'lamanın" ya da cihazda değilse kullanıcıyı App Store'a, web sitenize ya da başka bir yere göndermenin birkaç yolu vardır.

Daha önce de değindiğimiz gibi, Android ve iOS için şema bazlı mobil uygulama deeplink'leri ve iOS 9+ Universal Link'ler eksiksiz bir dokümantasyona sahiptir. Şimdi bu linklerin nasıl çalıştıklarına dair örneklere bir göz atalım.

Android için deeplink emplementasyonu

Bir Android deeplink örneği olarak, deeplink URL'inizin yourapp://path/ ve uygulamanızın bundle ID'sinin com.yourapp.example olduğunu varsayalım.

JavaScript çözümü

Bu sorunu çözmek için eskiden beri kullanılan yaygın bir teknik, deeplink URL'ini yüklemek için iframe kullanmak ve gecikmeli bir JavaScript kullanarak store'a yönlendirmektir:

Bu şekilde, tarayıcı önce yourapp://path/ URL'ini yüklemeye çalışacaktır.

  • Uygulamanız cihazda kurulu ise açılacaktır ve bu JavaScript çalışmayacaktır.
  • Uygulamanız cihazda kurulu değilse, yourapp://path/ yüklenirken hiçbir şey olmayacaktır. 2 saniye sonra sayfa JavaScript tarafından Play Store'a yönlendirilecektir ve kullanıcı uygulamayı buradan kurabilecektir.

Ancak bu kodda küçük bir sorun var: uygulama açıldıktan ve kullanıcı tarayıcıya geri döndükten sonra JavaScript çalışmaya devam edebilir ve onları Play Store'a tekrar yönlendirebilir. Bu nedenle, kullanıcının store'a yönlendirilmesinin gerekip gerekmediğini belirlemek için kullanıcının tarayıcıya geri döndüğü zamanı kontrol ederek bazı optimizasyonlar yapabiliriz:

Intent çözümü

Yukarıdaki kod, Android için Chrome 25 ve sonraki versiyonlarından sonra Chrome dokümantasyonun da belirttiği üzere çalışmıyor. Ancak Google, daha iyi bir çözüm olarak Intent URL'ini sağlıyor. Bir kullanıcı bu URL'e tıkladığında intent://path/#Intent;scheme=yourapp;package=com.yourapp.example;end, iki durumdan biri meydana gelir:

  • uygulama kurulu ise Chrome tarafından açılır.
  • uygulama kurulu değil ise Chrome, Play Store'u açar.

Hangi deeplink çözümünü kullanmalıyım?

Intent çözümünün emplementasyonu çok daha basittir ve kullanıcı deneyimi açısından daha sorunsuz olduğundan tavsiye edilen bir çözümdür. Ancak tarayıcı tarafından desteklenmesi gerekir ve Android sistemi çok dağınık olduğundan, kullanıcıların hala vazgeçmediği çok sayıda eski OS ve tarayıcı bulunuyor. Ayrıca, birçok uygulama tarafından kullanılan Android WebView, varsayılan olarak Intent URL'lerini desteklemiyor. En çok kullanılan Android tarayıcıları için hangi çözümü kullanmanız gerektiğini aşağıdaki tabloyu kullanarak bulabilirsiniz:

Browser JavaScript Intent
Chrome 24 ya da altı
Chrome 25 ya da üstü
Firefox
Android Browser
Facebook uygulama-içi Tarayıcısı
Twitter uygulama-içi Tarayıcısı
Diğer Tarayıcılar

iOS için deeplink emplementasyonu

Deeplink URL'inizin yourapp://path/ ve App Store'daki app ID'nizin 12345678 olduğunu varsayalım.

JavaScript çözümü

Android'e benzer bir şekilde, JavaScript'i iOS'te de kullanabilirsiniz:

html <script>

window.location.replace("yourapp://path/"); setTimeout(function () {

window.location.replace("https://itunes.apple.com/app/id12345678"); }, 2000);

</script>‎

  • uygulama cihazda kuruluysa, ilk relocation kodu uygulamayı açar ve aşağıdaki script çalışmaz.
  • uygulama cihazda kurulu değilse, ilk relocation kodu hiçbir şey yapmaz ve zaman aşımı fonksiyonu App Store'a yönlendirir.

Ancak daha önce belirttiğimiz gibi, bu script iOS 8 veya daha eski versiyonlarda Safari ile iyi bir şekilde çalışır ama her zaman diğer sürümlerle çalışmayabilir. İlgili tablo:

Browser JavaScript
iOS 8 ya da altı Safari
iOS Chrome
iOS 8 Facebook uygulama-içi Tarayıcısı √*
iOS 8 uygulama-içi Tarayıcısı
iOS 9 ya da üstü

* Facebook uygulamasının versiyonuna bağlı olarak kısmen çalışır

Universal link çözümü

iOS 9'dan itibaren Apple, Android'deki Intent'e benzer şekilde çalışan ancak daha fazla kurulum gerektiren universal link'leri kullanıma sundu. Ayrıca Apple, istem penceresini iOS 9.2'den sonra non-modal hale getirdiğinden JavaScript çözümü çalışmıyor.

Universal linkleri etkinleştirmek için uygulamanız ile ilişkili, SSL sertifikasına sahip bir domain'e sahip olmanız gerekir (örneğin https://yourdomain.com gibi) ve https://yourdomain.com/apple-app-site-association altında özel bir JSON dosyası servis etmeniz gerekir:

Bu dosya, hangi path'in hangi uygulama için deeplink görevi gördüğünü cihazınıza belirtir.

Sonrasında, XCode'da com.apple.developer.associated-domains entitlement'ınızın altına applinks:yourdomain.com girmeniz gerekir:

Bir domain birden fazla uygulama ile ilişkili olabilir, ve ayrıca bir uygulama birden fazla domain ile ilişkili de olabilir.

Ardından, uygulamanızın bir link alabilmesi ve olması gerektiği gibi işleyebilmesi adına Handoff için UIApplicationDelegate metodlarını (özellikle application:continueUserActivity:restorationHandler:) uygulamanız gerekir.

JSON dosyasında "paths":[ "/dress/"] ayarını yaparak uygulamanız ile https://yourdomain.com/dress/ linkini ilişkilendirdiğinizi varsayalım. Kullanıcılar https://yourdomain.com/dress/1 linkine Safari'de tıkladığında bu durumlardan biri gerçekleşir:

  • uygulama cihazda kurulu ise açılacak ve https://yourdomain.com/dress/1 UIApplicationDelegate'e gönderilecektir. Hangi görünümün açılacağına uygulamada karar verebilirsiniz.
  • uygulama cihazda kurulu değilse, https://yourdomain.com/dress/1 Safari ile açılır. Ürünü burada görüntüleyebilir ya da kullanıcıyı App Store'a yönlendirebilirsiniz.

Universal linkler iOS için biçilmiş kaftan gibi görünüyor. Ancak ne yazık ki bazı sınırlamalara sahiptir.

  • Universal linkler sadece Safari ve Chrome ile çalışır.
  • Başka bir site universal link ile yönlendirme yaparsa, sadece Safari ya da Chrome'da yapılan tıklamalar ile çalışır. Örneğin e-posta uygulamanızda https://anotherDomain.com/ universal link'i https://yourDomain.com/dress/1 adresine yönlendiriyorsa, deeplink uygulamanıza gitmez. Ancak https://anotherDomain.com linki Safari'de tıklanırsa çalışır.
  • Universal linkler, doğrudan adres çubuğuna yapıştırıldıklarında çalışmazlar.
  • Universal linklerin yönlendirmesi JavaScript tarafından tetiklendiğinde çalışmaz.
  • Universal linkler uygulamanızın içinde (örneğin openUrl ile) programatik olarak açılırsa çalışmazlar.

Deeplink dünyasına hoşgeldiniz!

Mobil uygulama deeplink'leri karmaşık bir yapıya sahiptir ve tüm senaryolarda çalışan tek bir çözüm yoktur. Ancak Adjust, en önemli senaryoları belirleyecek ve deeplink'lerin çalışması için en iyi stratejileri kullanacaktır.

Sizin için hazırladığımız deeplink içeriklerine göz atmayı unutmayın. En başta deeplink rehberimize göz atabilirsiniz. Bu rehberde deeplink'lerin nasıl çalıştığını derinlemesine inceliyoruz ve Adjust'ın deeplink'lerinin farklarını analiz ediyoruz. Ayrıca Universal Linklerin sahip olduğu farklılıkları ele aldığımız rehbere ve genel bir bakış sağlayarak yararlarını masaya yatırdığımız blog yazılarımızı da okuyabilirsiniz. Dokümantasyonumuzu buradan okuyabilirsiniz ve Adjust ile universal linklerin kullanımının ne kadar kolay olduğu hakkında daha fazla bilgi alabilirsiniz.

Ayrıca sorularınızı ve düşüncelerinizi destek sayfamızdan bizimle paylaşmaktan lütfen çekinmeyin.

Adjust'taki en son haberleri almak ister misiniz?