SON GÜNCELLEME: 09.05.2016 – Unity 5+ ve Windows Phone 8.1 için talimatlar eklendi.

Hepinize tekrardan merhaba,

Bu derste Android veya iOS için hazırladığınız oyununuzu Windows Phone‘a build etmeyi göstereceğim. Eğer oyununuz Android veya iOS’ta düzgün çalışıyorsa büyük olasılıkla Windows Phone’da da sıkıntısız bir şekilde çalışacaktır.

Windows Phone bence oyununuzu sunmayı gerçekten de düşünmeniz gereken bir platform çünkü bu platform Android kadar köklü değil ve oyun sayısı çok daha az. Düzgün bir pazarlama taktiğiyle oyununuzun çok popüler olabileceği bir platform.

Dersi yazarken yararlanılan kaynak: http://unity3d.com/pages/windows/porting

NOT: Windows Phone’a build etmek için Windows 8.1 veya üstü bir sürüm kullanıyor olmanız lazım. Başka işletim sistemi kullanıyorsanız sanal makine kurmayı düşünebilirsiniz.

Unity 5 sonrası için: Unity’i kurarken Windows Store .NET Scripting Backend modülünü de kurmayı unutmayın.

Başlamadan önce çok önemli birkaç bilgi vermek istiyorum:

– Oyununuzu Windows Phone Store‘a koymayı planlıyorsanız telefonun geri tuşunun yapacaklarını düzgünce programladığınızdan emin olun. Bu konuda hassaslar. Mesela ana menüdesiniz diyelim. Geri tuşuna basınca oyundan çıkılması uygun olur mantıken. Ya da ayarlar menüsündeyseniz geri tuşuna basınca ana menüye dönülmeli. Oyunu oynamaktaysanız geri tuşuna basınca oyunu pause etmeli ya da menüye dönmeli.

– Eğer multiplayer olarak çalışan bir oyunu Windows Phone’a build etmeye çalışırsanız başarısız olma ihtimaliniz var. Malumunuz daha Windows Phone desteği yeni geldi sayılır Unity‘e ve her class‘ı desteklemeyi başaramamışlar henüz.

– Eğer plugin kullanıyorsanız oyununuzun Windows Phone’da çalışmaması ihtimali var. Meşhur bazı pluginler (NGUI ve Toolkit2D gibi) için destek sağlanmış ama her plugin için destek yok henüz.

– Eğer Player Settings‘te Product Name‘inizde boşluk karakteri varsa bu boşluk karakter(ler)ini silin.

NOT: Windows Phone için build almadan önce tavsiyem projeyi klonlayın ve bu klon projeyi açıp onun üzerinden build alın.

Aklıma gelen bu hususlara değindiğime göre artık derse başlayalım. Öncelikle bazı uygulamalar indirmeniz gerekecek. Şu adrese girin: https://dev.windowsphone.com/en-us/downloadsdk

Unity 5 öncesi için (Windows Phone 8.0):

Earlier Releases” altındaki Windows Phone SDK 8.0‘ı kurun. Eğer Windows Phone cihazınız yoksa Windows Phone 8.1 Emulators‘ü de indirin ve kurun.

Şimdi Unity‘i açın ve File-Build Settings… yolunu izleyin. Listeden Windows Phone 8‘i seçin ve Switch Platform deyin:

resim1

Unity 5 sonrası için (Windows Phone 8.1):

Earlier Releases” altındaki Windows Phone SDK 8.1 development tools‘u indirin. Kurulum yaparken Custom seçeneğini seçin ve “Windows 8.1 and Windows Phone 8.0/8.1 Tools” seçeneğinin seçili olduğundan emin olun.

Şimdi Unity‘i açın ve File-Build Settings… yolunu izleyin. Listeden Windows Store‘u seçin, SDK‘yı Phone 8.1 yapın ve Switch Platform deyin:

resim1_1

Ardından Player Settings-Publishing Settings‘e gelin ve Certificate altındaki Create… butonuna tıklayın. Gelen pencereden sertifikaya bir şifre verin. Eğer işlemin ardından Certificate altında Select… adında bir buton belirirse ona tıklayıp Assets klasöründeki WSATestCertificate dosyasını seçin ve şifrenizi girin.

resim1_2

Eğer oyununuzu yatay ekran çalışacak şekilde build etmek istiyorsanız Player Settings…‘e tıklayın ve Inspector panelinden Resolution and Presentation altındaki Default Orientation değerini Landscape Left (ya da Landscape Right) olarak değiştirin.

Şimdi masaüstünüzde veya başka bir yerde yeni bir klasör oluşturup istediğiniz ismi verin. Oyunu Windows Phone‘a build edince Unity bu klasörün içinde gerekli birçok dosya ve klasör oluşturacak.

Unity’i geri açın ve Build Settings…‘teki Build butonuna tıklayın. Klasör seçme ekranında yeni oluşturduğunuz klasörü seçin ve build işleminin bitmesini bekleyin.

İşlem bitince yeni oluşturduğunuz klasörü açın. İçinde oyununuzun ismini taşıyan bir dosya olacak, onu açın:

resim2

Visual Studio açılacak. Sağ tarafta Solution Explorer adında bir panel var. Oradaki Properties-WMAppManifest.xml dosyasını açın (Unity 5+’da Package.appxmanifest):

resim3

Gelen sayfada Display Name kısmına oyununuzun adını, Description kısmına kısaca açıklamasını yazın. Ardından üstteki sekmelerden Packaging‘e tıklayın. Buradaki bilgileri de istediğiniz gibi değiştirin (Product ID ile Publisher ID‘ye dokunmayın).

Unity 5 öncesi için (Windows Phone 8.0):

WMAppManifest‘te dilerseniz App Icon kısmına oyununuzun ikonunu yükleyin. Sonrasında sağ taraftaki Solution Explorer‘daki WMAppManifest.xml‘e sağ tıklayın ve View Code seçeneğini seçin. Açılan sayfada <Tasks> ve </Tasks> etiketleri arasındaki XML kodunu şöyle değiştirin:

<DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume" />

Unity 5 sonrası için (Windows Phone 8.1):

Windows Phone 8.1’de tek bir ikondan ziyade bazilyon tane farklı çözünürlükte ikon yüklemeniz isteniyor (farklı ekran dpi’ları için). Burada neyse ki işinizi birazcık kolaylaştırmak mümkün. Şu adresi açın ve Input Image‘a değer olarak yüksek çözünürlüklü ikonunuzu verin. Sonrasında Download Windows Phone (WinRT) Zip butonuna tıklayın ve bekleyin. Server ikonunuzu sizin için farklı çözünürlüklere scale edecek ve sonucu bir zip dosyasında döndürecek. Artık bu zip içindeki resimleri Package.appxmanifest‘teki Visual Assets‘te ilgili yerlere değer olarak verebilirsiniz (yalnız önce bu resimleri Solution Explorer’daki Assets klasörüne kopyalayın):

Background color: #000000

Square 71×71 logo: Assets\Square71x71Logo.png

Square 150×150 logo: Assets\Square150x150Logo.png

Wide 310×150 logo: Assets\WideLogo.png

Square 44×44 logo: Assets\SmallLogo.png

Store logo: Assets\StoreLogo.png

Badge logo: boş bırakın

Splash screen: Assets\SplashScreen.png

Eğer dilerseniz Splash screen için kendiniz özel bir grafik oluşturabilirsiniz. Bu durumda oyun açılırken bu yeni grafik ekranda gösterilir.

İşlem bitince Visual Studio‘nun üst kısımlarında yer alan iki boşluğu şu şekilde değiştirin:

resim4

Eğer oyununuzu şu an test amaçlı build ediyorsanız Master seçeneğini Debug olarak değiştirin. Böyle yaptığınız taktirde oyun ekranının sol alt kısmında bir konsol belirecek ve sizin Unity’de Debug.Log kullanarak yolladığınız konsol mesajları oyun sırasında bu pencerede gözükecek (ancak oyunun performansı gerçekten düşecek; eğer performans katlanılamaz düzeye iniyorsa Debug yapmayın).

Artık oyunu build etmeye hazırız. Build-Build Solution yolunu izleyin ve işlemin bitmesini bekleyin.

Eğer elinizde Windows Phone 8 yüklü bir cep telefonu veya tablet yoksa oyununuzu emülatörde test edebilirsiniz. Yapmanız gereken alttaki resimde gördüğünüz emülatörlerden birini seçmek:

resim5

Seçtikten sonra eskiden Device yazan yerde seçtiğiniz emülatörün ismi yazacak. O butona tıklayın ve emülatörün başlamasını bekleyin. Emülatör başladıktan sonra oyunun emülatörde açılması için de biraz daha bekleyin (eğer bir hata oluşursa tekrar Build Solution butonuna tıklamayı deneyin).

Eğer Windows Phone cihazınız varsa önce cihazınızı test için aktifleştirmeniz gerekecek. Bunu yapmak için ise Windows‘un arama kutucuğuna (fareyi ekranın en sağ üstüne getirip aşağı hareket ettirince belirir) Windows Phone Developer Registration yazın ve aynı isimle karşınıza çıkan uygulamayı çalıştırın:

resim6

Cep telefonunuzu USB kablo ile bilgisayara bağlayın. Tarih ve saatin doğru olduğundan emin olun. Telefonun ekranının kararmaması için arada bir ekrana dokunun.

Telefonu bağladıktan sonra Windows Phone Developer Registration uygulamasında sağ alttaki Retry butonuna tıklayın. Eğer telefonunuz algılanmışsa Retry butonu Register olarak değişecek. Şimdi Register butonuna tıklayın ve sizden istenen yerde Microsoft hesabınızla giriş yapın. Eğer işlem başarıyla sonuçlanırsa Register butonu yerine artık Unregister butonu olacak. Bu butona tıklamayın! (Bu kısımda sorun yaşarsanız şu linki inceleyin: http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769508%28v=vs.105%29.aspx )

Telefonunuzu sisteme register yaptıktan sonra Visual Studio‘dan Build-Deploy Solution yolunu izleyin. Yükleme tamamlanınca oyunun cihazınızda açılması lazım. Açılmazsa cihazınızdaki tüm uygulamalar arasından kendi oyununuzu bulmaya çalışın. Oyun tüm uygulamalar listesinde yoksa bir sorun vardır, sebebini bilmiyorum.

NOT: Windows Phone uygulamaları .xap formatındadır. Bazen bu XAP dosyasına erişmek zorunda kalabilirsiniz. Örneğin Windows Phone Store‘a uygulamanızı yüklerken XAP dosyası gerekir. Bunun için:

Unity 5 öncesi için (Windows Phone 8.0):

Build Solution yaptıktan sonra XAP dosyasını şu konumda bulabilirsiniz: ProjeninOlduğuKlasör\OyununAdı\Bin\ARM\Master\OyununAdı_Master_ARM.xap

Unity 5 sonrası için (Windows Phone 8.1):

Öncelikle Windows Dev Center hesabınızda oyununuzun ismini rezerve etmeniz lazım. Ardından Solution Explorer‘da projenin üzerine sağ tıklayıp Store-Create App Packages… yolunu izleyin. Gelen listeden rezerve ettiğiniz oyunu seçip işlemi tamamlayın. Store’a upload edeceğiniz dosya şu: ProjeninOlduğuKlasör\OyununAdı\AppPackages\ARM\Master\OyununAdı_versiyon_arm_bundle_Master.appxupload

Bu dersin burada sonuna gelmiş bulunmaktayız. Başka derslerde görüşmek üzere!

yorum
  1. Oğuzhan Üglü dedi ki:

    ve arasında değiştirdiğimiz kod ne işe yarıyor?

    • Oğuzhan Üglü dedi ki:

      ” ve ” arasında değiştirdiğimiz kod ne işe yarıyor?

      • Oğuzhan Üglü dedi ki:

        “Tasks ve Tasks” yazıyorum ancak sürekli kod olarak algılıyor.

      • yasirkula dedi ki:

        WordPress işte 😀 O kodun ne işe yaradığını ben de bilmiyorum kesin olarak ama bildiğim kadarıyla oyun sırasında Windows tuşuyla ana menüye giderseniz oyuna geri döndüğünüzde oyun kaldığınız yerden devam ediyor.

  2. alpzerey dedi ki:

    Teşekkürler visual studio yu bildiğim halde bu işlem basamaklarını izlememiştim sayende ufak bir hatayıda gidermiş oldum , unity3d+WP paylaşımlarını bekliyoruz.

  3. Neli dedi ki:

    Windows Phone kullanan cok varmiki oyunu port etsem ekstra kac indirim kazanirim mrk ediyorum acikcasi.

    • Mete dedi ki:

      Windows Phone’un popüler oyunlara, uygulamalara ihtiyacı var eğer güzel bir oyunsa görürürsün kaç indirim kazancağını 😀

  4. Özgür dedi ki:

    Reklam konusuna değinilmemiş. Admob reklamlarını nasıl değiştiriyoruz. WP için ayrı SDK mı var ?

  5. metin dedi ki:

    androide nasıl atacağız onuda anlatabilirmisiniz

  6. ilker dedi ki:

    Windows phone a çevirince javascript ile yazılmış kodlar sorun çıkartıyor bir yolu var mı bunun

  7. Mert Kırımgeri dedi ki:

    windows phone dev center a yükleyince kaç güne onaylanıp yayınlanıyor ?

  8. ali dedi ki:

    siz reklamsızmı yukluyorsunuz ?

  9. ali dedi ki:

    dönüşünüz için teşekkürler..
    herhangibir gelir elde ediyomusunuz ediyorsanız nasıl

  10. İbrahim dedi ki:

    Geri tuşuna basınca yapılacakları ayarlamasam oyunum WP8’e koyulmazmı.Bu ayarı yapmak zorunlu bir şeymi ?Ben oyunuma pause menüye dön ve çıkış butonlarını oldukça güzel ayarladım zaten ?

  11. onur1 dedi ki:

    Geri tuşunda sorun yok fakat Window tuşuna bastığımda yani uygulamalar arasında geçiş yaparken benim uygulamama geri dönmek istediğimde uygulama kapanıyor. Oyunu oynarken geri dönebiliyorum fakat ana menüde ve level seçim ekranında işe yaramıyor. Sebebi ne olabilir?

  12. Hasan dedi ki:

    IOS buildi nasıl hocam?

    • yasirkula dedi ki:

      Bir kere iOS build aldım ama çeşitli aşamalardan oluşması ve biraz zaman geçmesinden ötürü ben de hatırlamıyorum. “unity ios build” yazarsanız daha faydalı olur 🙂

  13. Barış dedi ki:

    Sanal kart ile apple geliştirici hesabımı sorunsuz aldım ama windows phone geliştirici hesabını alamadım üniversite öğrencisi de değilim kod ile alma sansım yok yani siz hesabı kod ile mi aldiniz?

    • yasirkula dedi ki:

      2 yıl kadar önce açmıştım hesabı o yüzden tam nasıl aldığımı hatırlamıyorum ama para vermediğimi iyi biliyorum. Windows’un bir Unity kampanyası vardı ve oradan almıştım herhalde.

  14. batuhan dedi ki:

    Bilgisayarımda visual studio yuklu degilken yukarıdaki linkten earlier releases den kurdum.Kurulum tamamlandı dedi fakat şu an visual studio yu bulamıyorum.Yardımcı olabilirmisiniz?

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s