1. koji_yusa

    Posted

    koji_yusa
Changes in title
+XamarinでParse SDKを利用する
Changes in tags
+Parse
1.2.10
+mono
3.2.4
Changes in body
Source | HTML | Preview
@@ -0,0 +1,114 @@
+# はじめに
+念頭にはXamarinの導入について紹介するという意識はなかったのですが、
+一日目の記事を読んでXamarinがあまり知られてない状況で、
+二日目から試す人がいないようなマニアックなトピックいうのもどうかと考えなおして、
+急遽、Parseの導入的な記事を書きました。
+
+英語で書かれた公式サイトには、詳しい資料が潤沢にありますが、XamarinとParseを組み合わせた
+日本語の情報も少ないだろうということで紹介します。
+
+XamarinStudioの導入は、別の記事を参考にしてください。
+
+# Parse
+Parseは、最も有名なMobile BaaSのひとつです。
+
+Parse Pushの紹介するのにParseを、と考えていたのですが、現状Xamarin用には
+Parse Pushが実装されていないそうなので、今回はデータ保存までを行います。
+
+Parseの概要については、こちらのスライド「5分でわかったつもりになるParse.com」がお勧めです。
+http://www.slideshare.net/ktsujichan/5parsecom
+
+SDKも各環境用に充実していて、iPhoneやAndroidのネイティブ、
+現在はWebアプリやWindows、OSX向けのSDKも用意されています。
+C#用のSDKのなかに、XamarinやUnity用のdllがあります。
+
+Xamarin用のSDKについては、先ほど説明したように残念ながらParse Pushが用意されておらず、
+別の方法でPush環境の設定をおこなう必要があります。今後に期待です。
+
+## 必要環境
+.NET用のParse SDKの必要環境はドキュメントで、
+
+https://parse.com/docs/dotnet_guide
+> Visual Studio 2012 or Xamarin Studio and targets .NET 4.5 applications, Windows Store apps, Windows Phone 8 apps, and Xamarin.iOS 6.3+ or Xamarin.Android 4.7+ apps.
+
+となっていますが、最新版のXamarinStudioを導入していれば問題ありません。
+
+## Parseに登録
+まずは、Parseにアカウント登録します。
+登録時にひとつめのParseアプリを作成します。
+
+## Parse on .net
+ネイティブ向けには、ユーザごとにカスタマイズされたチュートリアルがダウンロードできます。
+分から無いことがあれば、まずはネイティブ向けのチュートリアルから始めることをおすすめします。
+
+今回は、.net用のチュートリアルとpushの.net用チュートリアルから抜粋してすすめます。
+https://parse.com/docs/dotnet_guide
+https://parse.com/docs/push_guide#top/.NET
+
+## 手続きが簡単なAndroidから
+まずは、サンプルプロジェクトをダウンロードしましょう。
+
+### ParseのSampleプロジェクトをダウンロード
+
+ダウンロードページからXamarin.Android用のダウンロードします。
+https://parse.com/docs/downloads/
+
+```csharp:sample1.cs
+ ParseClient.Initialize("YOUR APPLICATION ID", "YOUR .NET KEY");
+```
+
+作成したParseアプリのDashbord から
+Setting - Application Keys を開き、Application IDと.NET Keyをコピーして貼り付けます。
+![スクリーンショット 2013-12-02 21.01.49.png](https://qiita-image-store.s3.amazonaws.com/0/31371/59b43ed3-0694-973b-6659-52cd4ec65ccc.png)
+
+アプリを実機で起動してみましょう。
+![スクリーンショット 2013-12-02 20.59.26.png](https://qiita-image-store.s3.amazonaws.com/0/31371/3c1abea4-cc51-8d73-08e5-1d809d3715d6.png)
+
+PC上のシミュレータを使う場合は、トラブル対処にはノウハウが必要ですが、
+Genymotionでnexus7の4.1.1あたりが起動が速くチャレンジしてみてください。
+こちらのAndroid 4.3はまだ不安定だと思います。
+https://shop.genymotion.com/
+https://cloud.genymotion.com/page/doc/
+https://groups.google.com/forum/#!topic/genymotion-users/oe6slq3Da5c
+
+#データ保存
+ParseObjectを使って、データをサーバに保存します。
+
+![スクリーンショット 2013-12-02 23.55.21.png](https://qiita-image-store.s3.amazonaws.com/0/31371/08c7f2a0-07ff-da50-4292-7e0205091f03.png)
+
+```csharp:MainActivity.cs:SaveScore
+ async void SaveScore(int score) {
+ ParseObject gameScore = new ParseObject("GameScore");
+ gameScore["score"] = score;
+ gameScore["playerName"] = "Sean Plott";
+ await gameScore.SaveAsync();
+ }
+```
+
+```csharp:MainActivity.cs:OnCreate
+ SaveScore (1337);
+```
+
+ParseのDataBrowserから保存された内容が確認できます。
+
+![スクリーンショット 2013-12-02 23.56.47.png](https://qiita-image-store.s3.amazonaws.com/0/31371/43d07cda-ef85-bd05-0801-ad02e40c1c5f.png)
+
+# 今後の予定
+
+おもったほど記事が充実しなかったため、補足的にXamarinとParse関連の記事を充実したいとおもいます。
+
+その他、予定していたMono関連の局所トピック的な
+
+- Mono LLVMの設定とベンチマーク結果
+
+- Web Framework BenchmarksにおけるC#勢の現状
+
+また、シンプルなMonoの入門記事として
+
+- SinatraクローンのNancyフレームワークの紹介
+
+- XamarinにおけるF#の紹介
+
+- Cocos2D-XNAの入門の翻訳
+
+あたりを追加していきたいとおもいます。