リスティング広告代行の専門会社|Yahoo!プロモーション広告・Google AdWords完全対応|東京・大阪・名古屋

[Parse] 認証を試してみる


Parse_Cloud

Parse は モバイルアプリに特化したBaaS(Backend as a Service) の一種です。

100万リクエスト/月 までのAPIリクエスト/プッシュ送信が無料なのでお試しで使ってみようという魂胆です。

とりあえず時間がないので今回は認証機能のみです。

344c8a66-d997-1a90-b934-057c9fbce775

ParseSDK セットアップ

SDKインストール

いつもどおりcocoapodsからインストールします。

ParseSDKを初期化

[bash]

// AppDelegate.m
#import <Parse/Parse.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Parse setApplicationId:@"application_id" clientKey:@"client_key"];

return YES;
}

[/bash]

application_idclient_keyは parse.com 上のAppの値を使用します。

ソーシャルログインの設定

Facebookも似たようなものだったのでTwitterのみです。

事前に https://dev.twitter.com/apps でアプリケーションを登録しておく必要があります。

[bash]

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Parse setApplicationId:@"application_id" clientKey:@"client_key"];

// dev.twitter.com で登録した`Consumer Key`と `Consumer Secret` を設定
[PFTwitterUtils initializeWithConsumerKey:@"consumer_key" consumerSecret:@"consumer_secret"];

return YES;
}
[/bash]

Parseにも設定

parse.com にも同様の設定をします。
スクリーンショット-2014-01-14-1.04.52

parse.com > Dashboard > アプリ名 > Settings > User authentication で設定できます。

ログイン処理

ログインチェック

ログイン済みかどうかを調べます。

[bash]

- (void)someAction
{
if ([PFUser currentUser]) {
// ログイン済み
} else {
// 未ログイン
}
}
[/bash]

ログインビューを表示

[bash]

- (void)someAction
{
// ログインビューコントローラーを生成
PFLogInViewController *logInViewController = [[PFLoginViewController alloc] init];
logInViewController.delegate = self;

// サインアップビューコントローラーを生成
PFSignUpViewController *signUpViewController = [[PFSignUpViewController alloc] init];
signUpViewController.delegate = self;

// サインアップをログインビューから表示されるようにする。
[logInViewController setSignUpController:signUpViewController];

// 表示される要素を指定(Twitter, ログインキャンセル、サインアップ)
[logInViewController setFields:(PFLogInFieldsTwitter|PFLogInFieldsDismissButton|PFLogInFieldsSignUpButton];
}
[/bash]

あとは プロトコル PFLogInViewControllerDelegate, PFSignUpViewControllerDelegate を実装して、loginViewController
を表示すればOKです。

ログイン

(ミスってFacebookもでております…)
iOSシミュレータのスクリーンショット 2014.01.14 1.01.11

サインアップ

iOSシミュレータのスクリーンショット-2014.01.14-1.01.18

サインアップ(Twitter)

iOSシミュレータのスクリーンショット-2014.01.14-1.01.23

レイアウトのカスタマイズはサブクラスから上書きして変更します。

実際に登録してみる

実際に登録すると、parse.com 上に反映されます。
名称未設定-1

手動ログイン

準備されたViewControllerを使わない方法もいい感じでした。

ログイン

[bash][PFUser logInWithUsername:(NSString *) password:(NSString *)][/bash]

登録

[bash]

PFUser *user = [PFUser user];
user.username = @"name";
user.password = @"pass";

[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error) {

} else {

}
}];
[/bash]

Twitterログイン

[bash]
[PFTwitterUtils logInWithBlock:(PFUser *user, NSError *error)block]
[/bash]

既存アカウントとTwitterアカウントの接続

[bash]
[PFTwitterUtils linkUser:(PFUser *) block:^(BOOL succeeded, NSError *error)block]
[/bash]

なんとなく触ってみて

とりあえずログインはすごく楽でした。
今回は触れてないですが、PFObject周りがすごく良さそうな感じです。

PFObject はスキーマレスでKeyValueペアなデータ型なのですが、SQLっぽくカラムを指定してParseからデータを取得できる模様。

登録も楽で例えば PFUser に電話番号を追加したい時は
PFUser も PFObject のサブクラス

[bash]
PFUser *user = [PFUser user];
user[@"phone"] = @"080-9999-9999";
[/bash]

なんて書いて保存すれば保存できてしまうのです。
パフォーマンスがどうだか知りませんけど、楽ですねー。
(Facebookに買収されるぐらいだから大丈夫でしょうけど。)

ビジネスロジックも parse.com 上で実行できる仕組み(Clound
Code
)があったり、すごく良さげな印象でした!
まさにBaaS!といった感じで、フロントエンドに集中できていい感じがします。
(悲しい事に所詮はフロントしか誰も見ないんですよね笑)

ホスティング機能もあるので、小ぶりなプロジェクトやらはバックエンドをParseに任せてフロントだけBackboneやAngularJSで作るのもアリなのかなと少し思ったり。

オープンソースBaaSのHeliosも触ってみたいですね。



業界初のリスティング広告運用総合支援ツール Lisket(リスケット)

無料メルマガ

登録はたったの5秒!一週間分のコラムを毎週月曜にメールでお届けします。

Facebookもチェック