Huawei App Linking ile Uygulama Trafiğinizi Artırmak
Merhaba arkadaşlar, Yeni yazı serimde özellikle e-ticaret uygulamaları için oldukça önemli bir servis olan ve deep linkleri etkili bir şekilde yönetmemizi sağlayan Huawei App Linking servisinden bahsedeceğim.
App Linking sahip olduğumuz var olan deep linkleri daha akıllı ve kullanılabilir hale getirmek için oldukça önemli bir özelliktir. Bu linkler istediğiniz şekilde, birden çok platformda çalışan ve uygulamanın önceden yüklü olup olmadığını denetleyen bağlantılardır. Çoklu platformlarda çalışmak üzere tasarlanmış bir dinamik link yapısı servisidir.
Bu bağlantılarla kullanıcılarınız, bağlantınızı açtıkları platform için en iyi deneyimi yaşar. Kullanıcı iOS veya Android işletim sistemlerinde bir bağlantı açarsa, doğrudan yerel uygulamanızdaki bağlantılı içeriğe iletilebilir. Kullanıcı aynı bağlantıyı bir masaüstü tarayıcısında açarsa, bunlar web sitenizdeki eşdeğer içeriğe alınabilir. Kısaca App Linking sayesinde deep linklerinizi daha akıllı hale getirerek, son kullanıcı tarafında oluşabilecek olumsuz deneyimi ortadan kaldırabilirsiniz. Örnek vermem gerekirse; başka bir kullanıcı ile link paylaştığınızda, kullanıcı bu linke tıkladıktan sonra App Linking öncelikle paylaşılan linkin içeriğini kontrol eder ve eğer uygulama cihazda yüklü ise direkt uygulama içerisindeki bağlantılı sayfaya yönlendirme yapılır. Eğer uygulama yüklü değilse, karşı taraftaki kullanıcıyı uygulamayı yüklemesi için uygulama markete veya sizin belirleyeceğiniz custom url e göndererek uygulamayı yüklemesini ister. Kullanıcı uygulamayı yükledikten sonra tekrar linke tıkladığında ilgili sayfaya otomatik olarak yönlendirilir.
App Linking senaryosunun olmadığı durumu düşünelim. Böyle bir durumda kullanıcı öncelikle uygulama marketine giderek uygulamayı bularak yükleyecek. Yükleme işleminden sonra karşı tarafın gönderdiği linki içeren sayfayı bulabilmesi için uygulama içerisinde vakit kaybedecek ve belki de ilgili linkin sayfasına gitmekten vazgeçecek. Böyle bir durumda uygulama son kullanıcı tarafında olumsuz bir etki yaratacaktır. Bu gibi olumsuz durumları ortadan kaldırmak için App Linking servisi oldukça önemlidir.
App Linking servisini kullanmaya başlayabilmek için öncelikle bir developer hesabı açmanız gerekmektedir. Developer hesabınızı oluşturduktan sonra HMS entegrasyonunu başarılı bir şekilde tamamlamalısınız. HMS entegrasyon dokümanına buradan ulaşabilirsiniz. Tüm bu işlemlerden sonra aşağıda paylaştığım App Linking Codelab dokümanı sayesinde App Linking servisini hızlı bir şekilde aktif hale getirebilirsiniz.
Gerekli repoları ekledikten sonra gradle dosyamıza App Linking ve Analytics servislerinin dependencies eklememiz gerekmektedir. Daha sonrasında yukarıdaki Codelab dokümanında göreceğiniz gibi Console tarafından App Linking servisini aktif hale getirmeniz gerekmektedir.
Bu işlemlerden sonra artık App Linking servisimizi kullanmaya hazırız.
App Linking servisi nasıl çalışır ?
App Linking oluşturmanın birden fazla yöntemi bulunmaktadır. Bunlardan birincisi; AppGallery Console tarafında App Linking sayfasından oluşturmak. İkincisi uygulama içerisinden ve son olarak linke çeşitli parametreler ekleyerek manuel yöntemler ile App Link’lerinizi oluşturabilirsiniz.
Bu linkler vasıtasıyla kullanıcılar linke tıkladığında eğer uygulama cihazda yüklü ise direkt ilgili sayfa yönlendirilmesi yapılacak, eğer yüklü değil ise uygulamayı yüklemesi için AppGallery’e yönlendirme yapılarak uygulamanın yüklenmesi sağlandıktan sonra ilgili sayfaya yönlendirme yapılacaktır.
Link Oluşturma
Linkleri oluşturmadan önce App Linking servisini AppGallery Connect tarafında aktif hale getirmeliyiz.
App Linking servisini aktifleştirme
My Projects > Project settings > Grow > App Linking adımlarını takip ederek Console tarafındaki App Linking servisine ulaşabilirsiniz. Daha sonra açılan sayfada Enable now butonuna tıklayarak App Linking servisini aktif hale getirebilirsiniz.
Linkimizi oluşturmadan önce URL Prefix eklememiz gerekmektedir. URL Prefix’i eğer custom domain adresiniz yok ise AppGallery Connect tarafından sağlanan ücretsiz domainlerdir. En fazla 5 adet URL prefix oluşturabiliriz.
URL prefix tabını seçtikten sonra Add URL prefix butonuna tıklayarak URL prefix oluşturabilirsiniz.
Ücretsiz domain isminizi girdikten sonra Next butonuna tıklayarak alan adınızı oluşturabilirsiniz.
Domain adımızı başarılı bir şekilde oluşturduktan sonra sıra linklerimizi oluşturmaya geldi. Daha önce bahsettiğim gibi link oluşturma adımlarını 3 başlıkta toplayabiliriz.(AG Connect, Programatically, Manuel)
1) AppGallery Connect
URL Prefix oluşturduktan sonra App Link oluşturabilmeniz için App Linking Sekmesi > Create App Linking adımlarını izledikten sonra gerekli bilgileri doldurmanız durumunda linklerinizi oluşturabilirsiniz.
İlk olarak oluşturduğumuz URL prefix’e bir short link değeri vermemiz gerekiyor. Short link değeri Console tarafından otomatik olarak oluşturuluyor. Ancak dilersek bu alanı kendi isteğimize göre düzenleyebiliriz.
Short link değerini verdikten sonra yukarıdaki resimde göreceğiniz gibi URL prefix değerimiz tanımlanmış oldu. (https://omerakks.dre.agconnect.link/OYLj)
Next butonuna tıkladıktan sonra sonraki adım olan deep linklerimizi tanımlamamız gerekmektedir. Deep linkler kullanıcıya göstermek istediğimiz içeriğe sahip olan linklerdir. Bu adımda deep linklerinizi isimlendirdikten sonra deep link değerini vermeniz gerekmektedir.
Sonraki adımda ise; deep linklerimizin nasıl davranacağını belirleyebileceğimiz deep linkimizin davranış biçimini tanımlayacağız. Bu adımda kullanıcı linke tıkladığında nasıl davranacağını belirleyeceğiz. Örnek vermek gerekirse; kullanıcı linke tıkladığında uygulama yüklü değil ise veya kullanıcının uygulama sürümü versiyon numarasından düşük ise uygulama marketine veya custom url yönlendirmesi yapabilirsiniz. Aşağıdaki resimde göreceğiniz gibi link davranışını bağlantıyı uygulama içerisinde açmak şeklinde tanımladım. Daha sonra bu deep link içeriğini barındıracak olan uygulamanın package name seçerek uygulamayı eklemelisiniz. Eğer uygulama yüklü değil ise AppGallery markete mi yönlendirilecek, custom url e mi yönlendirilecek bunu seçtikten sonra Next butonuna tıklayarak sonraki adıma geçebilirsiniz.
Sonraki adımda ise paylaştığımız linklerin çeşitli platformlarda linkimize ait başlık,içerik ve resim gibi bilgileri önizleme şeklinde görebileceğimiz bilgileri gireceğiz. Bu bilgilerin girilmesi zorunlu değildir. Bu bilgileri girmediğiniz durumda default değerler gözükecektir.
Yukarıdaki resimde girmiş olduğumuz bilgilere göre linkimizi çeşitli platformlarda paylaştığımızda aşağıdaki gibi gözükecektir. Daha sonra Release butonuna tıklayarak linkinizi başarılı şekilde oluşturabilirsiniz.
Console tarafında linkimizi oluşturduktan sonra linke ait detayları View details butonuna tıklayarak öğrenebilirsiniz.
2) Uygulama içerisinden link oluşturma
AppGallery Connect üzerinden link oluşturabildiğimiz gibi uygulama içerisinden de kod yazarak link oluşturabilirsiniz. Aynı linki uygulama içerisinden oluşturalım.
Yukarıdaki kod sayesinde app linklerimizi oluşturduk. Oluşan linklerimizi short ve long url olarak log a bastırdığımızda aşağıdaki gibi sonuç oluşacaktır.
Long URL: https://omerakks.dre.agconnect.link?deeplink=https%3A%2F%2Fdeveloper.huawei.com%2Fconsumer%2Fen%2Fagconnect%2FApp-linking%2F&android_fallback_url=&android_package_name=com.huawei.demodynamic&social_desc=HMS%20App%20Linking%20Description&social_image=https%3A%2F%2Fdeveloper.huawei.com%2FEnexport%2Fsites%2Fdefault%2Fimages%2Fhms-core%2FHTTP-Turbo-Kit%2Fapp-linking.jpg&social_title=HMS%20App%20Linking%20Title®ion_id=1
Short URL: https://omerakks.dre.agconnect.link/HGa3
3) Manuel olarak link oluşturma
Manuel link oluştururken aşağıdaki formata göre linkinizi oluşturabilirsiniz.
https://yourapp.drcn.agconnect.link/?deeplink=your_deep_link[&android_deeplink=android_deeplink][&android_fallback_url=fallback_url][&android_open_type=open_type][&android_package_name=package_name][&campaign_channel=campaign_channel][& campaign_medium=campaign_medium][&campaign_name=campaign_name][&preview_type=preview_type][&social_desc=social_description][&social_image=social_image_link][&social_title=social_title]®ion_id=0
Manuel link oluşturma ile ilgili detaylı bilgiyi bulabileceğiniz dokümana buradan ulaşabilirsiniz.
Manuel linke çeşitli parametreler ekleyebilirsiniz. Bunlardan bazıları Android Parameters değerleridir. Android Parameters değerlerinden fallback_url değerini açıklamak gerekirse; eğer uygulama kullanıcının cihazında yüklü değilse yönlendirme yapılacak olan linkin değeridir. Bu değer Console tarafında seçilen uygulama yüklü değilse App Gallery’e veya custom url’e yönlendirme işlemi ile aynıdır. Android parametre metotlarından diğeri ise open_type değerini açıklamak gerekirse; kullanıcı, uygulamanızın AppGallery’deki ayrıntılar sayfasına veya kullanıcının cihazındaki yerel uygulama mağazasına veya özel bir URL’ye yönlendirilebilir. Open type değeri 1 olarak verilirse App Gallery marketindeki uygulama detay sayfasına, 2 değeri verilirse, yerel uygulama mağazasının uygulama detay sayfasına, 3 olarak verilirse custom url’e yönlendirme yapmanızı sağlamaktadır.
Yukarıdaki koda göre oluşacak olan manuel link örneğimizin çıktısı aşağıdaki gibi olacaktır.
Manuel Link Örneği: PREFIX_URL: https://omerakks.dre.agconnect.link DEEP_LINK: https://developer.huawei.com/consumer/en/agconnect/App-linking/ FALLBACK_URL: https://developer.huawei.com/ OPEN_TYPE: 1 APP_PACKAGE_NAME: com.huawei.demodynamic
SOCIAL_DESCRIPTION: HMS App Link Description
SOCIAL_IMAGE_LINK: https://developer.huawei.com/Enexport/sites/default/images/hms-core/HTTP-Turbo-Kit/app-linking.jpg SOCIAL_TITLE: HMS App Link Title
REGION_ID: 1https://omerakks.dre.agconnect.link?deeplink=https%3A%2F%2Fdeveloper.huawei.com%2Fconsumer%2Fen%2Fagconnect%2FApp-linking%2F&android_fallback_url=https%3A%2F%2Fdeveloper.huawei.com%2F&android_open_type=1&android_package_name=com.huawei.demodynamic&social_desc=HMS%20App%20Linking%20Description&social_image=https%3A%2F%2Fdeveloper.huawei.com%2FEnexport%2Fsites%2Fdefault%2Fimages%2Fhms-core%2FHTTP-Turbo-Kit%2Fapp-linking.jpg&social_title=HMS%20App%20Linking%20Title®ion_id=1
Linklere uygulama içerisinden erişim
AppGallery Connect tarafında veya uygulama içerisinden oluşturduğumuz linklere ulaşmamız için izlememiz gereken bazı adımlar bulunmaktadır. Kullanıcılar linke tıkladığında App Linking servisi linkin içeriğini okuyarak linkin davranma şekline göre davranır. Uygulama yüklü ise ilgili activity e yönlendirme, yüklü değil ise belirlenen custom url’e yönlendirme işlemleri gerçekleşir.
Öncelikle AndroidManifest.xml dosyasına intent-filter tagini eklememiz gerekmektedir. Intent-filter tag’i içerisinde yer alan host bilgisi bizim deep link olarak tanımladığımız url değeridir.
android:host =” YOUR_DEEP_LINK_URL”
AndroidManifest.xml dosyamıza intent-filter tag’ine gerekli bilgileri girdikten sonra kullanıcı linke tıkladığında, uygulama yüklü ise Manifest dosyasında belirlediğimiz MainActivity sayfamız açılacak ve oluşturulan linkin detayı uygulama içerisinde açılacak. Uygulama bağlantısındaki deep link developer.huawei.com ile başlamalıdır. Aksi taktirde MainActivity sayfası açılmayacak ve linkin davranışında belirlediğimiz senaryo uygulanarak kullanıcı App Gallery’e veya custom url’e gönderilecek. Kullanıcı linke tıkladığında link hakkında bilgileri MainActivity sayfası içerisinden ulaşabiliriz.
Kullanıcının uygulama yüklü olduğunda linke tıklaması sonucu oluşacak çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz. Uygulama yüklü olduğu için MainActivity sayfamızda activity’e ulaşan deep link bilgisine ulaşabiliyoruz.
Uygulama kullanıcının cihazında yüklü olmadığı durumlarda oluşacak senaryo aşağıdaki gibi olacaktır.
Linkinize ait verileri takip edin
AppGallery Connect üzerinden oluşturduğunuz linklere ait bir çok istatiksel verilerin takibini yapabilirsiniz. Linkinize tıklanma sayısı, ilk defa açılma ve tekrar açılma gibi analitik verilerine ulaşabilirsiniz. İstatistikleri görüntüleyebilmek için App Linking > Statistics yolunu izleyebilirsiniz.
Debug View
AppGallery Connect console üzerinden oluşturduğunuz linklerin doğru oluşturulup oluşturulmadığını Debug View özelliği sayesinde kontrol edebilirsiniz. Bu sayede oluşturduğunuz linkler için hatalar veya uyarılar hakkında bilgi alabilirsiniz.
Bu yazımda Huawei App Linking servisinin tüm özelliklerini detaylı bir şekilde örneklerle anlatmaya çalıştım. Umarım herkes için faydalı bir yazı olmuştur. Vakit ayırıp okuduğunuz için teşekkür ederim.