garen.yöndem launching ...3 ...2 ...1

Windows Phone Device Status Bilgilerini Almak [Update]

7. Ağustos 2012 17:00by Garen Yöndem

 [Orijinal Post : 19/07/2012 14:30] 

Windows Phone uygulamalarında versiyon bilgisinin nasıl alınabileceğini görmüştük. Şimdi ise cihaz bilgilerine nasıl ulaşabileceğimize değinmek istiyorum. Windows Phone cihazların donanım bilgilerine ulaşabilmek için uygulamanıza öncelikle Microsoft.Phone.Info namespaceini eklemeniz gerekiyor. Böylece DeviceStatus classı'nın propertylerine ulaşabilirsiniz.

Bu propertyler cihazın Settings>about sayfasındaki 'phone info' bilgilerini temsil ediyor.

using Microsoft.Phone.Info;
brand.Text = DeviceStatus.DeviceManufacturer;
model.Text = DeviceStatus.DeviceName;
hardwareversion.Text = DeviceStatus.DeviceHardwareVersion;
devicetotalmemory.Text = DeviceStatus.DeviceTotalMemory.ToString();
currentmemory.Text = DeviceStatus.ApplicationCurrentMemoryUsage.ToString();
peakmemoryusage.Text = DeviceStatus.ApplicationPeakMemoryUsage.ToString();
firmware.Text = DeviceStatus.DeviceFirmwareVersion;
power.Text = DeviceStatus.PowerSource.ToString();
//DeviceStatus.IsKeyboardDeployed.ToString();
//DeviceStatus.IsKeyboardPresent.ToString();

Tüm propertyler arasında belki de en az kullanılmaya değer propertyler olduklarını düşündüğüm için son iki satırı comment ettim. IsKeyboardDeployed propertysi cihazınıza bluetooth veya dock aracılığıyla bir klavyenin bağlı olup olmadığının verisini sunar. IsKeyboardPresent propertysi ise cihazınızda HTC 7 Pro veya LG Quantum modellerinde de olduğu gibi dahili bir klavye olup olmadığının verisini sunuyor.

 

garen.yondem.com windows phone device status

 

Son olarak aklınızda bulunsun, yukarıdaki kodu uygulamanıza ekleyip emülatörünüzde çalıştırdığınızda anlamlı veriler elde etmeniz mümkün olmayacak çünkü emülatörünüz PCnizin donanımını kullanıyor. Emülatör yerine bir Windows Phone cihazı bağlayarak uygulamanızı cihazda debug etmelisiniz.

Örnek uygulamayı aşağıdaki linkde bulabilirsiniz. Hayırlı Ramazanlar diliyorum.

ExampleDeviceStatus.rar (65,98 kb)

 [Update : 22/07/2012] 

Yukarıda bahsettiğim DeviceStatus classı ve cihaz bilgilerine ek olarak, cihazın mevcut mobil operatörünün bilgisine de ulaşmak mümkün. Bu işlem için Microsoft.Phone.Net.NetworkInformation namespace'ini kullanmanız gerekiyor. Böylece DeviceNetworkInformation classının altında yer alan CellularMobileOperator string değerine ulaşabilirsiniz.

using Microsoft.Phone.Net.NetworkInformation;
string mobile_carrier = DeviceNetworkInformation.CellularMobileOperator;
something.Text = mobile_carrier;

Tabi bu datayı nasıl değerlendirebilirsiniz bilmiyorum :). Projenize göre kendinize bir kullanım alanı bulabilirsiniz. Bu datayı kullanabileceğiniz uygulama fikirlerinizi benimle de aşağıda paylaşırsanız sevinirim.

Tekrar görüşmek üzere kendinize iyi bakın ;)

Windows Phone Link ve Status Paylaşım Taskleri

7. Temmuz 2012 15:00by Garen Yöndem

Microsoft’un yürütüğü Smoked/Dared by Windows Phone kampanyalarında Windows Phone’un rakiplerine karşı hiç malup olmadığı özelliklerden biri sosyal medyada hızlı paylaşım yapabilmek. Sadece işletim sistemi içerisinde değil uygulamalar içerisinde de Windows Phone’un bu nimetlerinden faydalanmak hem çok kolay hem de kullanıcı deneyimi (UX) açısından çok önemli. Hali hazırda Facebook, Twitter, Linkedin gibi sosyal ağları Live accountunuza bağladığınız takdirde Windows Phoneunuzda bulunan içerikleri bu ağlarda paylaşabiliyorsunuz. Gelecek Windows Phone 8 diğer adı ile Apollo güncellemesi ile birlikte bu entegre ağlara Foursquare, Google+ ve MySpace’in de ekleneceği dedikodular arasında.

Windows Phone uygulamalarınızda sosyal medyada içerik paylaşmak için bu ağlar ile tek tek entegrasyon yapmanıza gerek yok. Bağlı olunan mevcut Live account’un tüm üçüncü parti entegrasyon noktalarını aracısız olarak kullanabilirsiniz. Bu işlem için Windows Phone’da çok sık kullandığımız Phone Tasksden faydalanabiliriz. Phone Tasks namespaceinin altında iki farklı paylaşım taski bulunuyor. Bunlar; share link task ve share status task. Adlarından da anlayabileceğiniz gibi biri link paylaşımı için diğeri ise anlık durum paylaşımı için kullanılıyor.

using Microsoft.Phone.Tasks;

Link paylaşımı için olan ShareLinkTask’in message propertysi hariç title ve linkuri propertyleri size ait, bu bölümleri kullanıcı değiştiremiyor.

ShareLinkTask sharelink = new ShareLinkTask();
sharelink.Title = "Başlık";
sharelink.LinkUri = new Uri("http://garen.yondem.com", UriKind.Absolute);
sharelink.Message = "Metin";
sharelink.Show();

ShareStatusTask’e ise ShareLinkTask’in titlesız ve linksiz haline benzetebiliriz. Sadece metin paylaşmak için kullanılabilir.

ShareStatusTask sharestatus = new ShareStatusTask();
sharestatus.Status = "Bugün hava çok sıcak";
sharestatus.Show();

Böylece otomatik olarak kullanıcıya telefonunun (Live ID’nin) bağlı oldu��u ağlardan oluşan bir liste sunulacak ve kullanıcı paylaşmak istediği ağları seçerek sizin hazırladığınız datayı o ağlarda paylaşabilecek.

Görüşmek üzere, iyi haftasonları :)

Windows Phone Email Compose Task Kullanımı ve Uygulama Versiyon Bilgisini Alma Yöntemi

4. Temmuz 2012 13:50by Garen Yöndem

Uzun zamandır blogu ihmal ettiğimi fark ettim. Hem bu durumu telafi etmek hem de bir önceki blog postumda daha sonra bahsetme sözü verdiğim bir diğer kullanıcı yorumları alabilme yöntemi olan EmailComposeTask’a da değinmek istiyorum. Bu taski kullanıcı yorumlarını almak ve uygulamanız içersinde dilediğiniz bir bilgiyi kullanıcının paylaşabilmesine izin vermek için kullanabilirsiniz. Her ne kadar konu paylaşmak olunca artık e-mail göndermek; Facebook ve Twitterın yanında zayıf bir eleman olarak kalsa da pek çok yönden e-maillerin daha kalıcı olduğu aşikar.

Daha önceki yazımda MarketplacReviewTaski kullanırken projemize eklediğimiz  Microsoft.Phone.Tasks namespaceini tekrar kullanacağız. EmailComposeTask sayesinde gönderilecek e-mail’in to, subject, body gibi propetylerine rahatlıkla ulaşabilirsiniz.

using Microsoft.Phone.Tasks;
EmailComposeTask email = new EmailComposeTask();
email.To = "mailto:abc@yondem.com";
email.Cc = "carboncopy@yondem.com";
email.Bcc = "blindcarboncopy@yondem.com";
email.Subject = "Konu";
email.Body = "Metin";
email.Show();

Şayet e-mail taskini kullanıcı yorumları almak için kullanıyorsanız olası şikayet maillerinde kullanıcı’nın cihazındaki uygulamanızın sürümünden de haberdar olmak isteyebilirsiniz. Uygulamanızın versiyon bilgisine ulaşabilmek için ufak bir reflection hareketi yapabiliriz.

using System.Reflection;
var bilgi = new AssemblyName(Assembly.GetExecutingAssembly().FullName);
var versiyon = bilgi.Version;

Böylece uygulamanızın AssemblyInfo.cs dosyasında bulunan AssemblyVersion bilgisine ulaşabilirsiniz.

Tekrar görüşmek üzere, kendinize iyi bakın.

Windows Phone Marketplace Review Task ve 805a0194 Hatası

4. Haziran 2012 11:00by Garen Yöndem

Windows Phone uygulamalarınızı geliştirip Marketplace'de publish ettikten sonra isteyebileceğiniz en güzel şey kullanıcıların geribildirimleri olacak. Kullanıcıların yorumlarını alabilmelisiniz ki talepler doğrultusunda uygulamanızı bir sonraki sürümünde daha stabil ve zengin hale getirebilin. Bu işlem için gelecek blog postlarımda bahsedeceğim farklı yöntemler de mevcut. Ancak bugün çok daha önemli olan Marketplace Review Taskından bahsedeceğim. Marketplace Reviewları sizin için çok önemli olacak çünkü orası sadece kullanıcıların yorumlarına ulaşabileceğiniz bir yer değil aynı zamanda sizin ugulamanızın da bir nevi sabıka kaydı. Bir başka deyişle, bölgesel olarak tüm kullanıcıların sizin uygulamanıza dair daha önce uygulamanızı kullanmış olanların yorumlarını görebilecekleri bir sayfa. Sizin bu sayfaya hiçbir şekilde müdahale hakkınız da yok.

 

Marketplace Review Task'ı uygulamalarınıza ekleyebilmek için ilk olarak Microsoft.Phone.Tasks namespaceini uygulamanızın en başına yerleştirmiş olmanız gerekiyor.

 

using Microsoft.Phone.Tasks;
MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();
marketplaceReviewTask.Show();

 

Yukarıdaki kod parçası ile kullanıcıyı uygulamanız içerisinden direk olarak Marketplace içindeki, sadece sizin uygulamanızla ilgili yorum yapılabilecek sayfaya ulaştırabilirsiniz. Marketplace Review Task'ı uygulamanızda kullanırken dikkat etmeniz gereken nokta ise bilgisayarınızda debug ederken bu taskı çalıştıramayacak olmanız ve karşınıza Error code: 805a0194 adında bir hatanın çıkacak olması.

 

Garen Yöndem Marketplace Review Task ve 805a0194 Hatası

 

Bu kodunuzun hatalı olduğu anlamına gelmiyor. Marketplace Review Task sadece uygulama Marketplace'e publish olduktan sonra çalışır duruma geliyor.

Windows Phone'da Frame Rate Sayaclarını Kaldırmak

31. Mayıs 2012 10:00by Garen Yöndem

Frame rate sayaçları Windows Phone uygulamalarınızda otomatik olarak açık gelir. Bu sayaçları uygulamanızı emülatörünüzde debug ettiğinizde görebilirsiniz. Dikkat etmeniz gerek nokta ise, uygulamalarınızı marketplace'e submit ederken frame rate sayaçlarını uygulamanın ekran görüntülerinde açık bırakmamak. Çünkü böyle bir durumda Microsoft uygulamaları approve etmiyor. Marketplacede approve olabilmek için ekran görüntülerinden bu sayacı yok etmeniz gerekiyor.

 

Çözümü oldukça kolay, uygulamanızı Ctrl + F5 yöntemiyle emülatörünüzde çalıştırıp ekran görüntülerinizi alabilirsiniz. Diğer yöntem ise uzun yoldan solutionunuzda App.xml'ın altında bulunan App.xml.cs sayfasını açıp

 

Application.Current.Host.Settings.EnableFrameRateCounter = true;

 

propertysini false'a çevirmek. Ancak, frame rateler büyük ölçekli projelerde çalışırken developerlar için oldukca önemli veriler sunuyor. Dolayısıyla sürekli uygulamanın koduna girip frame rate propertysini true/false yapmaktansa bahsettiğim ilk yöntemi kullanmanız oldukça vakit kazandıracaktır :) .

 

Frame Rateler ile ilgili daha detaylı bilgi için ağabeyimin blogundaki şu makalesine göz atabilirsiniz.

 

Görüşmek üzere, takipte kalin.