Windows 8.1 Store Uygulamalarında AppxManifest Kullanımı

2 28 Temmuz 2013Windows 8 Kodlar

Bildiğimiz üzere Windows 8.1’in gelmesi ile birlikte Package.appxmanifest dosyamız bir takım değişikliklere uğradı görsel düzenleme olarak ve bazı ek özellikler geldi.

Bu yazıda öncelikle bunları inceleyecek ve neleri nasıl kullanabiliriz sorusuna birlikte yanıt vermeye çalışacağım. Sıra sıra alanları ve özellikler inceleyecek olursak öncelikle Package.appxmanifest nedir ve ona nasıl ulaşırız sorusunu yanıtlamak daha doğru olacaktır.

appxmanifest dosyası yarattığımız uygulamaların görsel arayüzünün ve sistemle entegrasyonunun bir çok parçasının gerçekleştirileceği özelliklerin tanımlanabildiği alandır. Tanım karışık olabilir fakat uygulamamızın Modern Arayüz (Başlangıç Ekranı)’ında hangi isimle görüneceği, hangi simgelerin görüneceği, hangi oryantasyonları desteklediği (tablet ise dik, yan duruşlar gibi), uygulamanın cihazın hangi özelliklerini kullanacağı ile ilgili tanımların yapılabildiği bir alan dersek sanırım ne iş yaptığını biraz da ola açıklayabilmiş olurum.

Bu alana nasıl ulaşırız? Yarattığımız proje açıldıktan sonra Solution Explorer penceresinden projemizin altındaki “Package.appxmanifest” dosyasına çift tıklamamız yeterli olacaktır. (Resim 1)

Bu dosyayı açtığımızda karşımıza Application UI sekmesinin geldiğini göreceğiz. Ekranda toplam 5 farklı sekme olması gerekiyor (Application UI, Capabilities, Declarations, Content URIs, Packaging)

Application UI

Application UI uygulamamızın arayüzünün önemli parçalarını içermekte. Application UI’ın görüntüsü ise şöyle (Resim 2):

Bu alanları inceleyecek olursak, Display name uygulamanızın başlangıç ekranında ve markette görüntüleneceği adıdır.

Default Language ise uygulamamızın temel dilidir. Örneğin, yaptığımız uygulama eğer Türkçe ise bu alana “tr-TR” yazmamız gerekmektedir.

Description ise tahmin edebileceğiniz gibi uygulamamızın genel bir kısa açıklamasıdır, bu açıklamanın henüz nerede kullanıldığını görme fırsatım olmadı çünkü markete bir uygulama yolladığımızda açıklamayı ek olarak yazıyoruz. Yine de boş bırakmamak yerinde olacaktır.

Supported Rotations ise önemli bir noktadır. Bu, uygulamamızın hangi pozisyonlarda çalışabildiğini tanımladığımız alandır. Yani, eğer uygulamanız Jiroskop (Gyroscope) donanımı olan bir cihazda (genellikle tabletler ve ultrabooklar) çalıştırılırsa hangi pozisyonlarda çalışabileceğini göstermektedir. Bazı uygulamalar ve oyunlar her oryantasyonda çalışabilirken bazıları ise çalışamamaktadır. Bu uygulamalarınızın tasarımıyla da bağlantılıdır. Eğer ekranın çözünürlüğüne göre dinamik değişebilen bir tasarım yarattıysanız uygulamanız her pozisyonda çalışacaktır. Burada işaretleyeceğiniz oryantasyonları en kötü ihtimalle Simulator’de denemenizi öneririm.

Minimum width ise uygulamanın en düşük hangi genişlikte çalışabileceğini belirlemektedir. Asgari bir boyut belirtmeniz istenmektedir, opsiyonel olarak not set bırakılabilir. Bu alan da muhtemelen düşük çözünürlüklü cihazlardaki oryantasyon desteğinin daha kesin belirlenmesi için yaratılmış olabilir. Çünkü, siz istediğiniz kadar tasarımınızı dinamik olarak değişebilir ayarlayın yerleştirdiğiniz nesnelerin belirli bir boyutu vardır ve belirli bir genişlik sağlanamazsa uygulamaya objeler sığmayabilir. Dikey konumdaki cihazlarda genişlik azalmaktadır, ek olarak daha ufak boyutlu bir tablette uygulamamızın açılacağını öngörürsek minimum genişlik belirlemek faydalı olabilir.

Tile Update başlığı altındaki Recurrence ve URı Template kısımlarını ise gerçek bir bilgim olmadığından yorumlayarak pas geçmek durumundayım, ilerleyen zamanlarda bununla ilgili bir makale de yazabilirim gerekli araştırmaları yaptıktan sonra. Bu alan muhtemelen verdiğimiz bir xml şablonu ile otomatik olarak Canlı Kutucuklar (live tile) özelliklerinin kullanılmasını sağlayan bir bölümdür diye düşünüyorum. Gerekli durumlarda web sunucumuzda barındıracağımız bir şablon ile uygulamamızın simgelerini ve live tile bilgilerini uygulamayı güncellemeye gerek kalmadan değiştirebiliyor olmamız muhtemel. Güzel bir özelliğe benziyor, araştırmanızı öneririm 🙂 Recurrence ise verdiğimiz şablonun kontrol edilme sıklığı olarak kabul edilebilir.

Visual Assets kısmı ise uygulamamızın kullanıcılarla ilk tanıştığı anda bırakacağı izlenimi verecek olan simgelerimizi barındırmaktadır. Windows 8 uygulamalarında bildiğimiz üzere Wide ve Square (Geniş, Kare) kutucuklarımız vardı. Şimdi bunlara daha büyük ve daha küçük 2 seçenek daha eklenmiş durumda (Large, Wide, Square, Small). Bu bölümde dikkat etmemiz gereken hususlar ise simgelerin çözünürlüklerinin kaliteli olması. Bildiğimiz üzere uygulamamız 1920×1080 bir cihazda çalışırsa bizim sağladığımız Square simgesi 120×120 çözünürlüğünde olursa biraz kalitesiz görünme riski oluşabilir. Her boyuttaki simgede 4 adet boyut seçeneği bulunmaktadır (Scale 180, 140, 100, 80). Bu da demektir ki oluşturmamız gereken 4 tane ana logo ve bu 4 ana logonun 4 farklı çözünürlüğü bulunmaktadır.

Logolarda dikkat etmemiz gereken unsur 4 çeşitteki (Large, Wide, Square, Small) logolar için ayrı ayrı tasarımlar oluşturmak (appxmanifest ile alakası olmayan bir konu ama buraya kadar geldik madem, söylemeden geçmeyelim :)). Bir logo oluşturup 4 farklı boyuta dönüştürmek kolay gelebilir ancak bunu yaparsak 4 farklı logo beklenmesinin yarattığı fırsatı kaçırmış oluruz. Kullanıcılar uygulamanızı Başlangıç Ekranına Large boyutta sabitlerse ya da Small boyutta sabitlerse beklenti olarak farklı simgeler bekler. Tabi ki logoyu baştan dizayn etmekten bahsetmiyoruz ancak, örnek olarak Square logoda Logonun altında firmanızın adı yazıyor ise, Wide logoda firma adınızı logonun sağ tarafına koymak daha iyi olacaktır. Bunu da atlamamak hoş olur :).

Daha önce 4 simge istediğinden bahsetmiştim. Aslında, bu sayfa bizden 7 tane resim istemekte. Bu ne demek? 4 adet Başlangıç Ekranı simgemiz mevcut, bunun yanı sıra 3 tane de ek simge istenmekte bizden. Bunlar da Store logo, Badge logo ve Splash Screen logolarıdır. Store logo uygulamanızın Store’da görüntüleneceği simge, Badge logo Push Notification ve Kilit Ekranı özelliği kullanmanız durumunda uygulamanızın görüntüleneceği simgedir. Splash screen ise uygulamamız açıldığında ekranda yaklaşık 2-3 saniye kadar görüntülenen başlangıç resmidir.

Simgelerimizi değiştirmek için bir bölüm seçtiğimizde karşımıza şöyle bir ekran gelecektir (Resim 3):

Gördüğümüz üzere burada bir kaç seçenek var. Bunları açıklayacak olursak Short name uygulamamızın “eğer istersek” Başlangıç Ekranında uygulamanın Display Name ile değil, Short name olarak belirlediğimiz isim ile görüntülenmesini sağlayan kısımdır. Buraya yazdığımız ismin görüntüleneceği simge kategorilerini ise altındaki Show name alanındaki kutucukları işaretleyerek belirliyoruz. Show name kısmında 3 kategori vardır ve bu kategorilerden seçtiğimiz boyutlardaki simgelerde üst kısma yazacağımız Short name görüntülenecektir.

Default Size olarak gelen seçenek ise uygulama yüklediğinde başlangıç ekranına sabitlenirse varsayılan olarak hangi boyutta yerleştirileceğini belirlemektedir. Yani bizler uygulamamızı kullanan insanlara ilk sabitlemede Wide olarak pinlensin gibi bir arsayılan seçenek belirleyebiliyoruz (kullanıcı dilerse daha sonra bu seçeneği manuel olarak değiştirebiliyor bunu da unutmayalım).

Foreground text bölümü ise uygulamamızda kullandığımız arka plan ile bağlantılıdır. Eğer uygulamamızda arka planımız siyah veya koyu tonlarda ise Light seçeneğini seçmek gerekir. Eğer uygulamamızın arka planı sarı, beyaz veya bunun gibi çok açık tonlarda ise bu seçeeği Dark yapmak gerekmekte. Bunun sebebi ise uygulamanın üzerine yerleştireceğimiz kontrollerin renk temasının burada belirleniyor olmasıdır. Ekrana bir buton koyup renklerine dokunmazsanız, bu butonun rengi bu alanda seçeceğiniz temaya göre otomatik değişmektedir.

Background Color kısmı ise uygulamamızın Başlangıç Ekranında simgenin arka planını belirlememize yarıyor.

Örneğin, bu resimde ki Internet Explorer uygulamasının Background Color değeri mavi olarak ayarlandığı için logodan arta kalan kısımlarda Mavi renk görünüyor.

Scaled Assets kısmı ise biraz bizleri uğraştıracak bir kısım olabilir. Temelde bu alan farklı kalite çözünürlüklerindeki logoları belirlememizi sağlar. Örnek verecek olursam ben Wide tileları oluşturacağım zaman öncelikle 558×270 boyutunda bir Wide resim yaratıyorum ve daha sonra sıralı olarak bu çözünürlüklere düşürüyorum (434×210, 310×150, 248×120). Bu çözünürlükleri öğrenmek için All Image Assets penceresinden ilgili kategoriye tıklayabilirsiniz. Ancak bilmenizi isterim ki standart bir uygulamada tüm logo kategorilerine sadece Scale 100 olan logoyu yapmanız yeterli olacaktır. Sistemde varsayılan olarak gösterilen simge o’dur.

Badge Logo‘dan bahsetmiştik hatırlarsanız. Bu logonun ayarlarının diğerlerinden küçük 2 farkı var. Badge Logo’ya tıklarsak karşımıza Notifications isimli bir bölüm daha çıkacaktır. Bu alanda da Toast capable ve Lock Screen Notifications isimli 2 kutucuk çıkacaktır. Bu alanda uygulamamızın toast özelliğini kullanıp kullanmayacağını ve lock screende uygulamamızın logosunun ve short name’inin görünüp görünmeyeceğini seçebiliyoruz.

Splash Screen kategorisinde ise normal logo ekleme işlemlerine ek olarak Background Color bulunmaktadır. Bu alan da aynı diğer logolarda sorulan Background Color gibidir fakat tek farkı bu arka plan rengi sadece Splash Screen açıkken görüntülenmektedir.

Bu kısmı geçtikten sonra artık Capabilities’ten bahsedebiliriz. Capabilities kısmı uygulamamızın ilgili cihazda hangi özellikler ihtiyaç duyduğunu gösteren bir bölümdür. Temel olarak açılan her boş proje bu kısımda Internet (Client) seçeneği işaretli gelir ki bu da her uygulamanın internet kullanabileceğini göstermektedir. Internet kullanmayacak iseniz bu seçeneği kaldırabilirsiniz. Ayrıca, internet kullanan uygulama yapmanız durumunda uygulamanıza gizlilik politikası eklemeniz gerektiğini de unutmamanız iyi olacaktır.

Capabilities

Capabilities ekranı örnekteki gibidir (Resim 4)

Burada gördüğünüz gibi bir çok özellik bulunmaktadır. Bu seçenekleri yalnızca uygulamanız ihtiyaç duyarsa seçmeniz önemlidir. Örneğin, en alttaki Webcam seçeneği yalnızca bilgisayarda webcam bulunması gerekiyorsa ve siz webcam ile ilgili işlemler yapıyorsanız seçilmelidir. Bu alandaki başlıkları tek tek inceleye gerek olduğunu sanmıyorum, zira zaten isimlerine bakınca hangi işlevi yerine getirdikleri açıkça belli oluyor. Yine de bilgi almak isterseniz yorum yaparsanız en kısa sürede cevabınızı vermeye çalışırım.

Declarations

Declarations kısmı uygulamanızın hangi özellik ve yeteneklere sahip olduğunu yüklendiği bilgisayara söylediği bir alandır. Burada Available Declarations kısmında uygulamanızın sahip olabileceği bazı yetenekler listelenmektedir. Bunlar Search Contract, Share Contract, Filepicker gibi özelliklerdir. Bu tarz deklarasyonlar uygulamanızın arama özelliğine, paylaşım özelliğine sahip olduğunu gösterir ve sistem buna göre uygulamanızı bazı alanlarda listeler. Örneğin, Account Picture Providor özelliğine sahip bir uygulama yazarsanız kullanıcı ayarlara girip kullanıcı resmini değiştirmek istediğinde orada sizin uygulamanız da listelenecek ve kullanıcı sizin uygulamanızı kullanarak profil resmini değiştirebilecektir (tabi bu özelliği sağlayan kodları da yazmanızın şart olduğunu ekleyelim).

Content URIs kısmı sadece Javascript için geçerli olan bir özellik olduğundan bunu es geçeceğim.

Packaging

Packaging kısmı uygulamamızın markete yüklenmesi gereken paketini oluştururken gerekli olan ayarların yapılabildiği bir bölümdür.

Görüyorsunuz ki bu alanda çok fazla seçenek bulunmuyor. Package name, uygulamamızın paket adıdır. Bu uygulama yaratılırken üretilen bir koddur, gerekmedikçe değiştirmemeniz gerekir.

Package display name ise uygulamamızın görüntüleme adıdır. Buraya uygulamanızı markete koyarken kullanacağınız ismi girmeniz gerekiyor. Version ise tahmin edeceğiniz üzer uygulamamızın sürümünü belirlemektedir.

Publisher kısmı ise Visual Studio’da Windows 8 ile ilgili uygulama yaratmak istediğimizde bizlere verilen 3 aylık geçici lisanstır, değiştirmeniz gerekmemekte ki zaten sanırım değiştirilemiyor olması lazım 🙂

Publisher Display Name ise önemli bir nokta. Buraya, Windows 8 marketindeki üyeliğinizin Publisher Name adınızı birebir yazmanız gerekmektedir.

Bu sayfayı kolayca atlatmanın bir diğer yolu vardır. Bu da markette öncelikle bir uygulama adı rezerve etmek ve daha sonra Project -> Store ->Associate App with the Store seçeneğini kullanmak ve ilgili adımları takip etmek. Bu sayede bu sayfadaki ilgili alanlar (Display name, Publisher name) otomatik olarak tamamlanacak ve olası hataların önüne geçilmiş olacaktır.

Kapanış

Bu makale tahmin ettiğimden daha uzun oldu fakat faydalı olmasını umuyorum. Sahip olduğum tüm bilgiyi aktarmaya çalıştığım için yer yer anlattıklarım karışık gelebilir, bu konuda affınıza sığınıyorum. Ancak size rahatlıkla söyleyebilirim ki bu sayfayı iyi kullanabiliyor olmak uygulamalarımızı bir adım öne çıkartıyor. O yüzden sizler de elinizden geldiğince appxmanifest sayfasının tüm özelliklerine göz gezdirmeye çalışın derim.

Teşekkürler, iyi çalışmalar.

Etiketler:

"Windows 8.1 Store Uygulamalarında AppxManifest Kullanımı" yazısı için 2 yorum yapılmış.

  1. burhan dedi ki:

    Windows Phone 8.1 uygulama dilini tr-TR yapınca şöyle bir uyarı geliyor:

    Warning: Resources found for language(s) en-us, en but no resources found for default language(s): tr. Change the default language or qualify resources with the default language.

    Düzeltmesem sorun olur mu? Ya da nasıl düzeltilir acaba bu hata?

    • Onur TIRPAN dedi ki:

      Uygulama birden çok dil destekliyorsa ve dil desteğini resource’lar kullanarak yaptıysan Türkçe için de o dil dosyasını oluşturman gerekir, ama uygulama zaten Türkçe ise ve herhangi bir resource kullamadıysan dikkate alman gerekmeyecektir muhtemelen.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir