ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

会員管理で追加した情報を取得する方法

会員管理機能を使うと簡単にユーザ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

イントロダクション (iOS) : クイックスタート

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などでもデータを活用してください。