会員管理機能を使うと簡単にユーザIDやメールアドレスを使った認証やFacebook/Twitter/Google+を使ったソーシャルログイン機能を実装できます。
会員クラスではメールアドレスやユーザIDの基本的な情報しか用意していません。それ以外の項目は開発者が自由に追加できます。そこで今回は追加した項目の取得法を紹介します。
JavaScript SDKの場合
JavaScript SDKでは認証は次のように書きます。
ncmb.User.login("test", "password") .then(function(u) { // ログイン成功 });
ログイン後は ncmb.User.getCurrentUser()
でログインしているユーザの情報が取得できます。
そしてJavaScriptの場合はダイナミックにメソッドが追加できるので、そのまま追加項目にアクセスできます。
ncmb.User.getCurrentUser().tel // => 999-999-9999
イントロダクション (JavaScript) : クイックスタート
iOS SDKの場合
iOS SDKの場合、認証は次のように書きます(Swiftの場合)。
NCMBUser.logInWithUsernameInBackground("test", password: "password") { (user: NCMBUser!, error: NSError!) -> Void in if error == nil { // 認証成功 } else { } }
そして、追加項目へのアクセスは次のように書きます。
user.objectForKey("tel") // => 999-999-9999
Android SDKの場合
Android SDKの場合、認証は次のように書きます。
try { NCMBUser.loginInBackground("test", "password", new LoginCallback() { @Override public void done(NCMBUser ncmbUser, NCMBException e) { if (e != null) { Log.d("Auth", "Login failed."); }else{ // 認証成功 } } }); } catch (NCMBException e) { e.printStackTrace(); Log.d("Auth", "Error"); }
そして、データの取得については型によって取得方法が変わります。例えば文字列型の場合は次のようになります。
ncmbUser.getString("tel");
イントロダクション (Android) : クイックスタート
Unity SDKの場合
Unity SDKにおける認証は次のように書きます。
NCMBUser.LogInAsync ("testUser10", "password", (NCMBException e) => { if (e != null) { UnityEngine.Debug.Log ("ログインに失敗: " + e.ErrorMessage); } else { UnityEngine.Debug.Log ("ログインに成功!"); } });
そして、開発者が決めた項目を取得するには次のように書きます。
NCMBUser.CurrentUser["tel"];
イントロダクション (Android) : クイックスタート
各SDKによってデータの取得方法は異なります。とは言え、プラットフォームの垣根を越えて同じデータを使えますのでiOS/Androidアプリはもちろん、Webアプリケーション(管理画面など)やUnityなどでもデータを活用してください。