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

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.

Paragöz Blizzard Gündemi

12. Haziran 2012 16:30by Garen Yöndem

Sıkı bir Blizzard oyunları oyuncusu olarak, hem Türkiye'deki oyuncu kalitesini gözler önüne sermek için hem de son dönemde Blizzard hakkında Türkiye'de oluşan genel gündemden çok rahatsız olduğum için böyle bir serzenişde bulunmak istedim. Blizzard’ı oyun içi (in-game) companionlar, mountlar satıyor diye küçük görüp paragöz diyenlere aklım ermiyor. Bir de authenticator satmak için sistemlerini yeterince güvenli yapmadıklarını iddia edenler var, ki onlara bullshit demek geliyor içimden. Authenticator dediğimiz cihazın fiziksel olanı 7$, official uygulamaları ise tüm mobil işletim sistemlerinde ücretsiz dağıtılıyor. Acaba authenticator'ı gelir kapısı olarak gören bir oyun şirketi, neden tüm mobil platformlarda ücretsiz dağıtacağı uygulamayı geliştirmek için binlerce dolar harcar ki?

 

In-game companion ve mount konusuna gelince. Blizzardın bu konuya da yaklaşımının oldukça nötr olduğunun herkesin farkında olması lazım, lakin Moonkin Hatcling adındaki companion’ın gelirinin yarısı olan 800.000$ Amerika merkezli Make A Wish derneğine bağışlanmıştı. Geçen yıl ise adı Cenarion Hatchling olan bir başka companion’ın tüm geliri 1.9 milyon $. Amerkan Kızıl Haç örgütüne Japonya'daki deprem ve tsunami felaketine yardım edebilmesi adına bağışlanmıştı. Hala Blizzard'ın paragöz bir oyun şirketi olduğunu düşünüyorsanız senede 3-4 versiyonu çıkan oyunları satın almaya devam edebilirsiniz.

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.

Windows Phone SDK 7.1.1'in Getirileri ve 256-Mb Ram Taşıyan Cihazlar için Uygulama Geliştirmek

26. Mayıs 2012 11:00by Garen Yöndem

Windows phone SDK 7.1.1 güncellemesi bildiğiniz üzere bir buçuk ay önce yayınlandı. Fakat yeni SDK'in getirdiklerinden oldukça az kişi haberdar durumda. Microsoftun gelecek planları arasında şüphesiz Windows Phone işletim sistemini olabildiğince düşük konfigürasyonlar altında en yüksek verimlilik ile çalıştirabilmek de yer alıyor. Üreticiler için bu yıl başında revize edilen minimum Windows Phone cihaz özellikleri listesi de bunun en önemli kanıtı. Artık 256Mb RAMli ve 1GHz den düşük işlemcilere sahip Windows Phone cihazlarını görmeye hem tüketici olarak hem de developer olarak hazır olmamız şart. Lakin uygulamalarımız yeni cihazlarda düşük konfigürasyonlar sebebiyle çatlayabilir, patlayabilir.

 

Windows Phone SDK 7.1.1 download (SDK'i buradan indirebilirsiniz)

 

Kısaca yeniliklerin üzerinden geçecek olursak, yeni bir propertymiz, emulatörümüz ve bir de kötü haber var.

 

Artık uygulamamızda yeni bir property olan ApplicationWorkingSetLimit propertysini kullanarak 256Mb ramli cihazları tanıyıp onalara göre uygulamalarımıza şekil aldırabiliriz. Bir başka deyişle Ramimize göre ayağımızı uzatabiliriz :).

 

using Microsoft.Phone.Info;
long miktar = (long)DeviceExtendedProperties.GetValue("ApplicationWorkingSetLimit");
if (miktar < 268435456L)    //268435456 byte = 256 Mb
{
ramkac.Text = ("This device has 256-Mb ram");
}
else if (miktar > 268435456L)
{
ramkac.Text = ("This device has 512-Mb ram"); 
}

 

Bir diğer yenilik ise Emulatörümüzle ilgili. Artık 512Mb'ın yanında bir de 256Mb sanal Ram'e sahip emulatörümüz var. Uygulamarımızın 256Mb cihazlarda nasıl performans göstereceğini bu emülatör ile test edebiliriz. Son olarak, mevcut Windows Phone uygulamarımızda Generic Background Agent kullanıyorsak 256Mb Ramli cihazlar bu agentları ne yazık ki desteklemiyor. Onları da duruma göre kaldırmak gerekecek.

 

Şu anda 256Mb ramli cihazların piyasadaki tek örneği Nokia Lumia 610. Ancak yakın gelecekte daha geniş yelpazede cihazlar göreceğiz. Ama bu durum sizin uygulamalarınızın 256Mb ramli cihazları desteklemek zorunda olduğu anlamına gelmiyor. Bu cihazları desteklemek her ne kadar uygulamalarınızın daha geniş kitlelere ulaşmasını sağlayacak olsa da dilerseniz WMAppManifest.xml dosyasını duzenleyerek uygulamanızın 256Mb ramli cihazlar tarafından Marketplacede görünmemesini de sağlayabilirsiniz.

 

Aşağıdaki kodu uygulamanızın WMAppManifest.xml dosyansına eklediğiniz takdirde uygulamanızın 90Mb rame ihtiyacı olduğunu kod tarafında belirtmiş olcaksınız. Bu sayede Marketplace, 256Mb rame sahip cihazlara sizin uygulamanızı gösteremeyecek.

 

<Requirements>
<Requirement Name="ID_REQ_MEMORY_90" />
</Requirements>

 

Uygulama solutionını indirebilirsiniz

 

ornek.rar (65,02 kb)

 

Takipte kalın, kendinize iyi bakın.