Bir Android-Ionic Uygulamayı Google Play Store’da Yayına Alma
Selamlar,
Bu makalede, Ionic ile yazılmış bir android mobile uygulamanın, Google Store’a nasıl atılacağını ele alacağız. Ama “apk” elimizde olduktan sonra, ilgili uygulamayı Google Store’a atmak için, hangi dilde yazıldığının pek bir önemi yoktur :)
Öncelikle Ionic 4.0 ile yazılan uygulama aşağıdaki komut ile derlerenerek, imzalanmamış “app-release-unsigned.apk” oluşturulur.
1 |
ionic cordova build android --prod --release |
Google Store’a atılmadan önce apk dosyanın imzalanması gerekmektedir.
Yapılacak işler:
1-) Yukarıda görüldüğü gibi, Android Studio ve JDK‘nın kurulması gerekmektedir.
2-) Bu makalede ilgili “apk”‘nın imzalanma işlemi, alttaki uygulama üzerinden yapılacaktır. Hiçbir “apk” dosya imzalanmadan Store’a konamaz. İstenir ise, Google Store üzerinden de imzalama işlemi yapılabilmektedir.
Android APK Signing Tool v2 (apksigner)
https://shatter-box.com/knowledgebase/android-apk-signing-tool-v2-apksigner/
(APK_Signer.exe) yani uygulama çalıştırıldığında, karşımıza gelen ekran yukarıdaki gibidir. İlk olarak “Keyfile Generator (JDK)” tabına gelinir.
3-) “Build-Tools Path” : Android studio’nun path’i, yukarıda görüldüğü gibi Android Studio’nun kurulu olduğu “Android/Sdk/build-tools” yolu gösterilir.
Örneğin ben burada: “C:\Users\bora.kasmer\AppData\Local\Android\Sdk\build-tools” yolunu gösterdim.
Yukarıdaki Path’in gizli olabilmesinden dolayı, Klasör Özelliklerinden Hidden items’ın aşağıdaki gibi işaretlenerel açılması gerekmektedir.
4-) “JDK Path”: Aşağıdaki gibi Java jdk’nın kurulu olduğu path olarak gösterilir.
Örneğin ben burada: “C:\Program Files\Java\jdk1.8.0_162” yolunu gösterdim.
5-) Şimdi sıra geldi kendimize ait bir Key’in oluşturulmasına. Key’in amacı, herhangi bir “apk” imzalanırken kimin tarafından imzalandığını belirtmektir. Bu yüzden, eğer sahip değil isek, kendi adımıza bir key’in, ilgili “apk”‘yı imzalamak için oluşturulması gerekmektedir. Key oluşturma ekranı aşağıdaki gibidir.
- Save key at: Oluşacak keyin konucağı path.
- KeyFile name: İlgili key’in ismi.
- Key – Confirm key password: Sizin belirleyeceğiniz bir şifre.
- Key alies : Key’e bir Nick vermelisiniz. Tercihen hangi amaçla kullanacak ise o ad.
- Alias – Confirm alias password: Nick için yine sizin belirleyeceğiniz bir şifre.
- Validity in years : Bunu en az 20 yıl yapınız :)
- Full name: Kullanıcı Adı.
- Organization Unit: Uğraşılan iş kolu.
- Organization: Bağlı olunan Organizasyon adı.
- City – State – Country code : Adres bilgileri
- Key type: PKCS12 seçiniz.
İlgili alanlar doldurulduktan sonra, “Generate key file” buttonuna tıklanıp, bize özel key oluşturulur.
Not : Bir apk ilgili key ile işaretlendikten ve store’a atıldıktan sonra, hep aynı key kullanılarak güncel paketler çıkarılmalıdır. Kaybedilmesi durumunda, farklı bir key ile ilgili pakete, güncelleme çıkılması pek mümkün değildir.
Oluşan Örnek key : “hasel.keystore”
Şimdi sıra geldi, Ionic cordova ile build ederek oluşturduğumuz, “app-release-unsigned.apk” dosyasını imzalamaya. Bunun için aşağıda görüldüğü gibi “Align&Sign” tabına gidilir.
- Select APK File : Ionic ile generate ettiğimiz “app-release-unsigned.apk” dosyası gösterilir.
- Select keystore file : Demin oluşturduğumuz, bize ait olan keyfile burada tanımlanır. “hasel.keystore“
- Key Password – Key alias – Alias password : İlk tab’da kendimize ait bir key-file oluşturmak için tanımlanan bu alanlar, burada gösterilir.
İmzalı apk oluştuktan sonra, aşağıdaki gibi bir ekran ile karşılaşılır. “app-release-unsigned_ALIGNED_SIGNED.apk”
Bundan sonra yapacağımız iş imzalı “.apk” dosyasını Google Play’e koymaktır.
1-) “https://play.google.com/apps/publish/” adresine gidilir. Öncelikle ilk kez yeni bir uygulamanın, store’a atılabilmesi için süresiz, bir sefere mahsus 25$ paranın, Google hesabına yatırılması gerekmektedir.
- Soldaki menuden App application seçilip, “CREATE APPLICATION” buttonuna basılır.
- Store Listing : Bir sonraki ekranda karşımız Store Listing gelir: Zorunlu alanlar doldurulup, istenen ölçüdeki imageler yüklendikten sonra Save Draft buttonuna basılır.
- İlgili Resimlerin seçildiği alan:
- Önemli olan bir madde de, eğer uygulamada Resim, Rehber, Geo Location gibi izinler isteniyor ise, “Gizlilik Politikası” – “Privacy Policy” için yeni bir Html sayfanın yapılması ve ilgili alana Url’nin girilmesi gerekmektedir. Uygulamanın amacı ve herbir izinin nedeni, bu sayfada tanımlanmalıdır.
- Uygulamayı bir kategori altına alma ve iletişim bilgileri bölümü:
Uygulamanın yayına çıkılabilmesi için, ana sayfanın solunda aşağıda görüldüğü gibi işaretli tüm bölümlerin, doldurularak onaylanması gerekmektedir.
- Pricing & distribution : Fiyat tanımlamalarının yapıldığı kısımdır. Aşağıda görüldüğü gibi indirilebilecek ülkeler, reklam var mı?, kullanılacak cihazlar (Wear OS by Google, Androit TV …), gibi alanlar burada tanımlanır.
- App releases : Production, Beta, Test gibi alanlara imzalanmış “.apk” dosyası Upload edilir. “OPT OUT” seçilir ise oluşturduğumuz kendi key’imiz kullanılır. Ve “app-release-unsigned_ALIGNED_SIGNED.apk” dosyasının upload edilmesi gerekir. Eğer “FINISH” tıklanırsa, imzalama işlemini GooglePlay’in kendisi yapacaktır. Bunun için bizim imzasız olan “app-release-unsigned_ALIGNED.apk”‘nın kullanılması gerekmektedir. Alignsız olan apk’yı denemediğim için, net birşey yazmadım. GooglePlay’in align işlemi yapıp yapmadığını bilmiyorum. Ben genelde, “OPT OUT”‘u seçip, kendi oluşturduğum key’in kullanılmasını sağlıyorum.
1. Adım Yükleme Ekranı:
2. Adım onaylama ekranı.
- Content rating : Uygulamayı kullanabilecek yaş düzeyi belirlenir. Bu adımın seçilebilmesi için, öncelikle ilgili “apk”‘nın yüklenmesi gerekmektedir.
Tüm işlemler bittikten sonra, ilk yüklemede uygulamanın Store’da görünmesi yaklaşık 2saat bir süreyi almaktadır.
Güncelleme işlemi için: Versiyon numarası Ionic 4’de config.xml‘de mutlaka arttırılmalı ve yeni “apk” google play’den yüklenmelidir. Güncelleme işleminin store’da gözükmesi, 30 dakikayı almaktadır.
Geldik bir makalenin daha sonuna. Bu makalede benim, pek de türkçe kaynak bulamadığım Goole Store’a Publish etme konusunu tartıştık.
Yeni bir makalede görüşmek üzere hepinize hoşçakalın.
Ben hep klasik command ile yapıyordum bu işlemi. Böyle bir imzalama aracı olduğunu bilmiyordum
Teşekkürler..
Ben teşekkür ederim :)