Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@koji_yusa

XamarinでParse SDKを利用する

More than 5 years have passed since last update.

はじめに

念頭には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環境の設定をおこなう必要があります。今後に期待です。

追記:2013/12/12
Components Storeから、CloudeBase.ioとBuddy.comを試したところ、
Buddy.comの場合、Mono SDKのドキュメントにAndroid、iOS用のPushAPIの記載がありました。
BaasでPushを扱いたい場合は、まずBuddy.comを試してみてはいかがでしょうか。
ストレージ利用10GBまでは無料です。
開発者サイト http://dev.buddy.com/
ドキュメント http://buddy.com/developers

必要環境

.NET用のParse SDKの必要環境はドキュメントで、

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用のチュートリアルから抜粋してすすめます。
https://parse.com/docs/dotnet_guide

まずは、サンプルプロジェクトをダウンロードしましょう。

ParseのSampleプロジェクトをダウンロード

ダウンロードページからXamarin.Android用のSampleプロジェクトをダウンロードします。
https://parse.com/docs/downloads/

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

アプリを実機で起動してみましょう。
スクリーンショット 2013-12-02 20.59.26.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を使って、データをサーバに保存します。

チュートリアルのドキュメントからMainActivity.csにコードを追加してみます。

スクリーンショット 2013-12-02 23.55.21.png

MainActivity.cs
        async void SaveScore(int score) {
            ParseObject gameScore = new ParseObject("GameScore");
            gameScore["score"] = score;
            gameScore["playerName"] = "Sean Plott";
            await gameScore.SaveAsync();
        }
MainActivity.cs
            SaveScore (1337);

ParseのDataBrowserから保存された内容が確認できます。

スクリーンショット 2013-12-02 23.56.47.png

今後の予定

おもったほど記事が充実しなかったため、補足的にXamarinとParse関連の記事を追加して充実させたいとおもいます。

その他、予定していたMono関連の局所トピック的な

  • Mono LLVMの設定とベンチマーク結果

  • Web Framework BenchmarksにおけるC#勢の現状

また、シンプルなMonoの入門記事として

  • SinatraクローンのNancyフレームワークの紹介

  • XamarinにおけるF#の紹介

  • Cocos2D-XNAの入門の翻訳

あたりを追加していきたいとおもいます。

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?