Google, Rekabet Kurulu anlaşmazlığı ve Android uygulamaların geleceği II

Hadi Tok
4 min readDec 20, 2019

İlk yazıda Google’ın Türkiye’de satılacak telefonlara uygulama lisansı vermemesinin Türkiye’deki yazılım geliştiricileri neden ve nasıl etkileyeceğinden bahsetmiştim. Bu yazıda Android projelerde neler yapmanız gerektiğinden bahsedeceğim. Tabi Türkiye pazarını hedeflemiyorsanız bunlar gerekli değil. İlk yazıya aşağıdaki linkten erişebilirsiniz.

Google Play Services ve Firebase Kullanımı

İlk başta yapmanız gereken, en kısa sürede hangi Google Play Services ve Firebase Servislerini kullandığınızı belirlemeniz. Google Play Services kütüphanelerinin listesine buradan Firebase kütüphanelerinin listesine buradan erişebilirsiniz. Cihazda Google Play Services’in olup olmadığını ve versiyonunu kontrol ettiğimiz isGooglePlayServicesAvailable (Context context) fonksiyonunun sonucunda ne yaptığınızı incelemek iyi bir fikir olabilir. Eğer Google Play Services cihazda yüklü değil ise uygulamayı kapatıyorsanız bu kodu gözden geçirmek zorunda kalabilirsiniz. Google Play Services’i kullanmıyorsanız o zaman şanslısınız demektir. Geriye sadece(!) uygulamanızı Google Play olmadan nasıl dağıtacağınızı düşünmek kalır.

Şunu belirteyim bir günde uygulamanız kullanılmaz hale gelmeyecek. Bu yüzden sakin davranmakta fayda var. Fakat olabileceklere karşı gerekli planlamaları yapmak önemli. Kararın değişmemesi sonucunda yeni telefonlarda Google Play olmayacak. 2020'den sonra çıkan telefonların kullanımı arttıkça uygulamanızı kullanabilenlerin sayısı azalacak.

Bence bu kararın değişmeyeceğini gösterebilecek iki şey var. İlki Google uygulamalarının olmadığı telefonların piyasaya çıkması, ikincisi ise telefon üreticilerinin Türkiye pazarından çekilmesi. Hiç bir üreticinin Google uygulamaları (özellikle Google Play) olmadan telefon çıkarmaya ya da bir ülkeden çekilmeye istekli olacağını zannetmiyorum. Eğer bunlar oluyorsa artık Google ve Rekabet Kurumunun anlaşma ihtimali kalmamış demektir. Bu noktadan sonra uygulamanızın Google Play’e (Push notifications, Google Ads vs) ne kadar bağımlı olduğunu inceleyip Türkiye pazarı artık size uygun mu bunu değerlendirmeniz.

Türkiye pazarı sizin için önemli ise şimdiden kullandığınız servislerinin alternatiflerini araştırmak ve hangilerinin sizin için uygun olduğuna karar vermek faydalı olacaktır. Bu değişikliklerin uygulamalarınızı ve uygulamanızdaki akışları ne kadar değiştireceğini belirleyin. Ne kadar bir iş yükü sizi bekliyor bunu çıkarın. Böylelikle teknik tarafta ne kadar etkilendiğinizi görmüş olursunuz.

Değiştirmeyi planladığınız kütüphaneleri bir interface’in arkasına abstract etmek güzel olabilir. Bundan kasıt Google Play Services ve Firebase kütüphanelerine direk erişmektense oluşturduğunuz başka bir interface’in objesi üzerinden erişmek bu kütüphanelerin daha kolay değiştirilebilmesini sağlar. API Abstraction genel olarak iyi bir yazılım geliştirme uygulaması olmasına karşın genelde ihmal edilir. O yüzden bunu her türlü yapmanız zararınıza olmaz. Bu geliştirmeleri iş yoğunluğunuza göre planlayabilirsiniz.

Bildirimler

Bildirimler için özel bir başlık açmak istedim. Diğer kütüphanelerin alternatiflerini bulmanız bir şekilde mümkün. İlk yazıda belirttiğim gibi Firebase Cloud Messaging’in çalışması için sistem seviyesinde yetkiye sahip, arka planda çalışan bir uygulamanın gelen bildirimleri dinleyip gitmesi gereken uygulamalara iletmesi gerekiyor. Sistem seviyesinde yetkiye sahip olması demek kolayca bu uygulamanın yüklenemeyeceği anlamına geliyor. Bunu yüklemesi en mantıklı olan taraf cihaz üreticileri. Cihaz üreticileri kendi aralarında anlaşıp tek bir bildirim servisi üzerinde anlaşmadıkları sürece her üretici kendi bildirim servisini cihazlarına koyabilecek. Bu da bildirimlerin tek noktadan şimdiki gibi gönderilmesini zorlaştıracak. Tüm servisleri tek bir noktadan yönetebileceğimiz servisler çıkacaktır bu süreçte. Bu yüzden bildirimlere çok fazla güvenmeden uygulamanızın nasıl çalışacağını kurgulamanız önemli.

Google Play

Muhtemelen Google Play olmadığı durumda birden çok uygulama marketi kullanmak zorunda olacağız. Her cihaz üreticisinin ve her GSM operatorunun bir uygulama marketi var diye biliyorum. Uygulamanızın otomatik güncellenmesi için yine sistem seviyesinde yetkiye ihtiyaç olduğu cihazlarda yüklü marketlere mecbur kalacağız. Tek bir sayfadan tüm marketlere uygulamamızı yükleyebildiğimiz servisler çıkacaktır muhtemelen. Bu konuda biraz daha rahat olacağız muhtemelen.

Ücretli uygulama ve Uygulama içi satın alma

Ücretli uygulamalar biraz daha ücretsiz uygulamalara zorlanacaklar. Apk yönetimi dışında bir de bütün marketler üzerinden satışlarını arttırmaya çalışacaklar ve tüm marketlerden ayrı ayrı alacakları ödemeler için uğraşmaları gerekecek. Uygulama içi satın alma konusunda ise ilk aşamada muhtemelen ödemeleri kredi kartı ile alacaklar, daha sonrasında bu işleri farklı marketler için yapabilen harici uygulama içi ödeme uygulamaları ortaya çıkacaktır.

Dynamic delivery ve App Bundle

Dynamic delivery ile Google Play üzerinden uygulamamızın farklı kısımlarını dinamik olarak kullanıcı uygulamayı kullanırken indirebiliyoruz. App bundle ise uygulamamızı .apk’dan farklı bir formatta Google Play’e yükleyip kullanıcının cihazına uygun bir konfigürasyonda bir apk indirilebilmesini sağlıyor. Google Play mesela İngilizce xxxhdpi bir cihaza sadece ingilizce ve xxxhdpi resource’ların bulunduğu bir apk gönderebiliyor. Kimilerine göre bu Google’ın tekelci yaklaşımlarının uzantısı olarak ortak bir format olan .apk’nın yerine koymaya çalıştığı bir dosya formatı. Açık kaynak olduğu için bu bana çok olası gelmiyor. Maalesef Dynamic delivery ve App Bundle’ı kullanamayacağız ve her şeyi tek bir apk içerisinde paketlememiz gerekecek. Yakın zamanda bir uygulama marketinin açık kaynak olmasına rağmen App bundle’ı kullanacağını zannetmiyorum. Bunlar görece yeni teknolojiler oldugu için çok fazla projede kullanıldığını düşünmüyorum fakat bizi çok fazla etkilemeyecek her türlü.

İmza kampanyası

Bu saydığım sebeplerden ötürü çalıştığımız firmalar ve müşterilerinin Android uygulamalarda en iyi ihtimal ile kazançları düşecek ya da zarar edecekler. Ve dolayısı ile daha az Android uygulama ihtiyacı doğacak ve biz de işlerimizi kaybetme tehlikesi ile karşı karşıya kalacağız ne yazık ki.

Bu tehlikeye karşı en azından sesimizi duyurmak amacı ile Google ve Rekabet kurumuna gönderilmek üzere iki metin hazırladık. Siz de bu metinlere imzanızı atıp destek olmak isterseniz bu adresten formu doldurup sesimizi daha güçlü duyurmamıza katkıda bulunabilirsiniz. Gönderilecek metinlede buradan ulaşabilirsiniz.

--

--

Hadi Tok

Google Developers Expert for Android | Software Engineer @Facebook | ⋰Ẍ⋱Circassian⋰Ẍ⋱