parseをObjective-Cで使用する ①
モバイルアプリ開発者にとってサーバサイドの実装がネックに感じている人は少なくないと思います。(私もその一人です。)
そのような需要をもとにBaaS ( Backend as a Service)といったサービスが普及しているようです。
今回は、その中の一つ「Parse」の使い方をまとめていきたいと思います。
1.parseにユーザーを登録する
まずは、parseで上でアカウントを作成します。
2.プロジェクトにparseを組み込む
parseを使用するには、アプリへparse Frameworkを組み込む必要があります。
下記にて詳細手順が掲載されていますのでここでは割愛します。 https://parse.com/apps/quickstart
3.parseサーバー側で取得対象のデータを作成する
parseのDashboardページからData Browser
タブを選択する。
左メニューの+New Class
からテスト用のクラスを作成する。
今回は、GameScore
というクラスに3行のデータを挿入しておきます。
4.XCode上のアプリからデータを呼び出す。
特定の1行呼び出し
PFQuery *query = [PFQuery queryWithClassName:@"GameScore"]; [query getObjectInBackgroundWithId:@"yCqtu2oj5k" block:^(PFObject *gameScore, NSError *error) { // Do something with the returned PFObject in the gameScore variable. NSLog(@"%@", gameScore); }];
(取得結果)
2013-12-15 14:50:18.884 ParseSample[61281:a0b] <GameScore:yCqtu2oj5k:(null)> { playerName = a; score = 3000; }
PlayerName「a」のデータが無事とれました。
条件で取得
下記のように特定の列に対して、条件文を設定することも可能です。
PFQuery *query = [PFQuery queryWithClassName:@"GameScore"]; [query whereKey:@"playerName" equalTo:@"c"]; [query getFirstObjectInBackgroundWithBlock:^(PFObject *gameScore, NSError *error) { NSLog(@"%@", gameScore); }];
ParseのRestAPIは、https経由で直接実行することも可能です。
CurlでAPIを実行
curl -X GET \ > -H "X-Parse-Application-Id: [your application id]" \ > -H "X-Parse-REST-API-Key: [your REST-API-Key]" \ > -H "Content-Type: application/json" \ > https://api.parse.com/1/classes/GameScore
(取得結果)
{"results":[{"playerName":"a","score":3000,"createdAt":"2013-12-15T05:42:28.860Z","updatedAt":"2013-12-15T05:42:39.079Z","objectId":"yCqtu2oj5k"},{"playerName":"b","score":5000,"createdAt":"2013-12-15T05:42:50.404Z","updatedAt":"2013-12-15T05:42:59.736Z","objectId":"P5CPb76n2K"},{"playerName":"c","score":6000,"createdAt":"2013-12-15T05:43:24.343Z","updatedAt":"2013-12-15T05:43:34.031Z","objectId":"5rAmVJlx8Q"}]}
jsonで全件データが取得出来ました。
その他
ホストの前に[application_id]:[rest-api-key=キー]
のような記述でも呼び出しできるようですが、上手く行きませんでした。
https://[your application id]:REST-API-Key=[your REST-API-Key]@api.parse.com/1/classes/GameScore
感想
サーバーサイドの導入準備が、ほとんどなく使えるのは、素晴らしいです。 APIも直感的に理解できる為、すぐに使い始められます。 アプリエンジニアにとっては、是非活用したいサービスですね。
Parseの料金プランは、月間で100万回以内のAPI呼び出し、1GB以内のファイルストレージなどであれば無料、 1500万回以内で10GB以内のファイルストレージであれば月間199ドルとなっています。
実際使用してみないと感覚がわからないですが、 100万APIであればサーバーアクセスが中心ではないアプリであれば十分な気がします!
今回は、DBのデータ取得を中心に記載しましたが、
サーバー再度でJavaScriptを実行できる機能Cloud Code
もあるようなので、そちらも是非使用してみたいと思います。