Huawei Konum Servisi Entegrasyonu

Güncelleme tarihi: 2 May 2021


Huawei, bir süre önce kendi servislerini geliştireceğini duyurmuştu. Bu sürecin sonunda 2020'den itibaren üretilen cihazlar Huawei Mobil Servisleri ile kullanıma sunuldu. Uygulama geliştiricilerin bu mobi'de Huawei Location Kit'i uygulamalarına nasıl entegre edeceğinden bahsedeceğiz.


Öncelikle project build.gradle > allprojects içerisinde maven repository adresini tanımlıyoruz.


Bu işlemi buildscript > repositories içinde de uyguluyoruz.


Son bağımlılık olarak app build.gradle'da 'com.huawei.hms:location:version' sdk'sını implemente ediyoruz.


HMS sdk'sı çalışırken meydana gelebilecek olumsuzlukları engellemek adına proguard kurallarını da eklemeyi unutmayalım.


Kullanıcının konumuna erişebilmemiz için öncelikle manifest dosyasında gerekli izinleri tanımlamamız gerekiyor.


FusedLocationProviderClient sınıfı ile kullanıcının anlık konumuna kolaylıkla erişebiliriz. Öncelikle bu sınıfı kullanarak bir nesne üretiyoruz. HMS'in LocationService sınıfındaki getFusedLocationProviderClient methoduna oluşturduğumuz nesneyi set ediyoruz ve providerClient'ı elde ediyoruz.


Artık provider client üzerinden lastLocation bilgisini alabiliriz. Bunun için lastLocation objesine safeAct üzerinden listener ekleyebiliriz. Böylece lastLocation değişimlerini öğrenebileceğiz. Bunun için addOnSuccessListener metodu ile aşağıdaki şekilde listener'ımızı tanımladık.


Artık listener içerisindeki location objesi üzerinden konum bilgisine (enleme ve boylama) erişebiliriz



Manifest'e eklediğimiz izinleri handle edip konum için oluşturduğumuz methodu çağırıyoruz. Böylece HMS ile kullanıcıdan konum bilgilerini almış olduk.


Uygulamamızı çalıştırıp, izinleri onayladığımızda Logcat'ten Info'yu seçip arama çubuğuna Last Location yazdığımızda konumu görmemiz mümkün olacaktır.




Github: https://github.com/busrabozdemirr/HuaweiLocationKit