<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Maciej Grabek &#187; Codeplex</title>
	<atom:link href="https://blog.maciejgrabek.com/tag/codeplex/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.maciejgrabek.com</link>
	<description>/* Make it See Sharp - Windows Phone, C#, .NET i nie tylko */</description>
	<lastBuildDate>Mon, 27 Oct 2014 11:18:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Windows Phone Game Services</title>
		<link>https://blog.maciejgrabek.com/2012/05/01/windows-phone-game-services/</link>
		<comments>https://blog.maciejgrabek.com/2012/05/01/windows-phone-game-services/#comments</comments>
		<pubDate>Tue, 01 May 2012 21:37:04 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Codeplex]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=11262</guid>
		<description><![CDATA[Jakiś czas temu przy okazji tworzenia jednej z aplikacji na Windows Phone (w sumie to mogę nawet podać na nią namiary: CatchEggs &#8211; do pobrania na Marketplace) zacząłem się zastanawiać nad przygotowaniem statystyk globalnych dla gry. Wiadomo &#8211; każdy lubi pograć samemu w grę, ale jeżeli uda mu się zdobyć ciekawy wynik zawsze jest chęć podzielenia się nim z innymi&#8230; Warto o tym pamiętać i dodać taką opcję w swojej aplikacji. Jak to osiągnąć? Sposób 1 &#8211; Facebook Jak wiadomo na platformie Windows Phone mamy dostęp do bardzo wygodnej integracji z Facebookiem. W tym celu wystarczy stworzyć launcher ShareStatusTask lub też ShareLinkTask. Pierwszy z nich pozwala jedynie na wysłanie jakiejś wiadomości, natomiast drugi jest moim zdaniem dużo ciekawszy. Zamiast jedynie dzielić się wiadomością można wykorzystać go jako dodatkowe źródło promowania aplikacji zwyczajnie dodając do niej link w formacie http://www.windowsphone.com/s?appid={0} gdzie zamiast {0} należy wstawić ID aplikacji. To jednak nie jest najlepszy sposób, aczkolwiek jest on bardzo przydatny z marketingowego punktu widzenia&#8230; Sposób 2 &#8211; WP7 Game Services Ciekawszym moim zdaniem sposobem jest przygotowanie usługi, która będzie odpowiedzialna za zbieranie i udostępnianie statystyk dla gry, którą właśnie tworzymy lub też rozwijamy. Z racji na fakt, że wiele osób tworzy lub też<a href="https://blog.maciejgrabek.com/2012/05/01/windows-phone-game-services/" class="searchmore">Read the Rest...</a><div class="clr"></div>]]></description>
				<content:encoded><![CDATA[<p>Jakiś czas temu przy okazji tworzenia jednej z aplikacji na Windows Phone (w sumie to mogę nawet podać na nią namiary: <a href="http://www.windowsphone.com/pl-PL/apps/81868dd5-fe46-42a5-a31c-e5f0f3543806" target="_blank">CatchEggs </a>&#8211; do pobrania na Marketplace) zacząłem się zastanawiać nad przygotowaniem statystyk globalnych dla gry. Wiadomo &#8211; każdy lubi pograć samemu w grę, ale jeżeli uda mu się zdobyć ciekawy wynik zawsze jest chęć podzielenia się nim z innymi&#8230; Warto o tym pamiętać i dodać taką opcję w swojej aplikacji. Jak to osiągnąć?</p>
<p><a href="http://www.windowsphone.com/pl-PL/apps/81868dd5-fe46-42a5-a31c-e5f0f3543806" target="_blank"><img class="alignnone size-full wp-image-11271" title="CatchEggs" src="http://maciejgrabek.com/wp-content/uploads/2012/05/downloadForWP7.png" alt="" width="480" height="80" /></a></p>
<h3>Sposób 1 &#8211; Facebook</h3>
<p>Jak wiadomo na platformie Windows Phone mamy dostęp do bardzo wygodnej integracji z Facebookiem. W tym celu wystarczy stworzyć launcher ShareStatusTask lub też ShareLinkTask. Pierwszy z nich pozwala jedynie na wysłanie jakiejś wiadomości, natomiast drugi jest moim zdaniem dużo ciekawszy. Zamiast jedynie dzielić się wiadomością można wykorzystać go jako dodatkowe źródło promowania aplikacji zwyczajnie dodając do niej link w formacie <a href="http://www.windowsphone.com/s?appid={0">http://www.windowsphone.com/s?appid={0</a>} gdzie zamiast {0} należy wstawić ID aplikacji. To jednak nie jest najlepszy sposób, aczkolwiek jest on bardzo przydatny z marketingowego punktu widzenia&#8230;</p>
<h2>Sposób 2 &#8211; WP7 Game Services</h2>
<p>Ciekawszym moim zdaniem sposobem jest przygotowanie usługi, która będzie odpowiedzialna za zbieranie i udostępnianie statystyk dla gry, którą właśnie tworzymy lub też rozwijamy. Z racji na fakt, że wiele osób tworzy lub też planuje stworzyć grę z publicznymi statystykami postanowiłem podzielić się swoim kodem i udostępnić całość w ramach Codeplex pod nazwą <a href="http://wp7gameservices.codeplex.com/" target="_blank">WP7 Game Services</a>.</p>
<p>Całość składa się z trzech projektów i bazy danych.</p>
<p><strong>MaciejGrabek.WP7.Services</strong> jest projektem opartym o ASP.NET MVC 4.0 WebAPI (aktualnie w wersji beta do pobrania z <a href="http://www.asp.net/mvc/mvc4" target="_blank">tego miejsca</a>). Aby uniknąć konieczności wystawiania wielu serwisów dla wielu gier postanowiłem dodatkowo dorzucić do obiekt logiczny gry, dzięki czemu jedna instancja usług wystarczy na potrzeby różnych gier <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><img class="alignnone size-full wp-image-11269" title="gameservicesdb" src="http://maciejgrabek.com/wp-content/uploads/2012/05/gameservicesdb.png" alt="" width="388" height="277" /></p>
<p><strong>MaciejGrabek.WP7.Services.Phone</strong> jest biblioteką, którą każdy może dołączyć do swojej aplikacji działającej na WP7. Najważniejszym jej elementem jest GameServicesCaller, który jest odpowiedzialny za komunikację z usługą.</p>
<p><strong>MaciejGrabek.WP7.Services.Phone.Demo</strong> zawiera przykładowe użycie wspomnianego GameServicesCaller&#8217;a. Z racji na fakt, że przez przykład ludzie najszybciej się uczą moim zdaniem nie mogło zabraknąć takiego właśnie projektu <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Bezpieczeństwo</strong></p>
<p>Z racji na to, że nie chcemy aby ktoś w łatwy sposób podszył się pod naszą aplikację GameServicesCaller używa do komunikacji jeszcze jednej ważnej rzeczy, a mianowicie hasha gry. Jest on niezbędny przy dodawaniu jakiegokolwiek wpisu do bazy.</p>
<p>Dodatkowo każdy wpis jest identyfikowany ID urządzenia, przez co jeżeli ktoś poprawi swój wynik, to w bazie przechowujemy tylko jeden wpis &#8211; drugi zwyczajnie nie jest potrzebny, a dodatkowo zmniejsza to prawdopodobieństwo &#8220;przepełnienia&#8221; bazy.</p>
<p>Pobranie wyników jest natomiast niezmiernie proste, bo wystarczy wywołać api podając znormalizowaną nazwę gry np tak: <a href="http://mydomain/api/gameresults/catcheggs">http://mydomain/api/gameresults/catcheggs</a>, dzięki czemu możemy stworzyć nie tylko klienta WP7, ale również dowolnego innego. Oczywiście dla wygody cała komunikacja odbywa się przy wykorzystaniu REST i JSON, co otwiera to rozwiązanie również na inne platformy <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a href="http://wp7gameservices.codeplex.com/" target="_blank"><img class="alignnone size-full wp-image-11272" title="http://wp7gameservices.codeplex.com/" src="http://maciejgrabek.com/wp-content/uploads/2012/05/download.png" alt="" width="315" height="79" /></a></p>
<p>P.S.</p>
<p>Kiedy w grze będą statystyki online? Aktualnie czekam na uruchomienie ASP.NET MVC 4 na hostingu (mam nadzieję, że się uda) i po paru dniach uaktualnienie będzie gotowe do pobrania z Marketplace <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2012/05/01/windows-phone-game-services/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
