- ニフクラ mobile backend の『会員管理機能』を利用して、Androidアプリにログイン機能を実装したサンプルアプリです
- 簡単な操作ですぐに ニフクラ mobile backend の機能を体験いただけます
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!
注1:詳しくはこちらをご覧ください
- ユーザ名・パスワード認証
- メールアドレス・パスワード認証
- SNSアカウントでの認証
- 匿名認証
本サンプルアプリは、ユーザ名・パスワードでの認証方法について説明していきます。
- MacOS Ventura version 13.4
- Android Studio Flamingo | 2022.2.1 Patch 2
- Pixel 6 - Android 14 (Simulator)
※上記内容で動作確認をしています。
- 下記リンクから会員登録(無料)をします
- 登録ができたら下記リンクからログインします
- 下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- 既に mobile backend を利用したことがある方は左上の「+新しいアプリ」をクリックすると同じ画面が表示されます
- アプリ作成されるとAPIキー(アプリケーションキーとクライアントキー)が発行されます
- この2種類のAPIキーはこの後ダウンロードするサンプルアプリと ニフクラ mobile backend を紐付けるため、あとで使います。
- ついでに、この後動作確認で会員情報が保存される場所も確認しておきましょう
- 下記リンクをクリックしてプロジェクトをダウンロードします
- https://github.com/NIFCLOUD-mbaas/android_login_demo/archive/master.zip
- ダウンロードしたプロジェクトを解凍します
- AndroidStudio を開きます、「Open」をクリックして解凍したプロジェクトを選択します
- プロジェクトが開かれます
※このサンプルアプリには既にSDKが実装済み(下記手順)となっています。(ver.4.1.0)
最新版をご利用の場合は入れ替えてご利用ください。
- SDKをインポート
- app/build.gradleに以下を追加します。
dependencies {
implementation 'com.nifcloud.mbaas:ncmb_android:4.1.0'
}
- androidManifestの設定
- タグの直前に以下のpermissionを追加します
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- AndroidStudio で MainActivity.java を開きます
- ディレクトリはデフォルトで「Android」が選択されていますので、「Project」に切り替えてから探してください
- APIキー(アプリケーションキーとクライアントキー)の設定をします
- それぞれ
YOUR_APPLICATION_KEY
とYOUR_CLIENT_KEY
の部分を書き換えます - このとき、ダブルクォーテーション(
"
)を消さないように注意してください
-
エミュレーターでアプリをビルドします
-
失敗する場合は一度「Clean Project」を実行してから再度ビルドしてください
-
画面に従い新規登録、ログインを実施してみましょう
- ニフクラ mobile backend 側を確認すると、会員管理データが保存されたことを確認できます
import com.nifcloud.mbaas.core.DoneCallback;
import com.nifcloud.mbaas.core.NCMB;
import com.nifcloud.mbaas.core.NCMBException;
import com.nifcloud.mbaas.core.NCMBUser;
- MainActivity.java の
OnCreate
メソッドに実装しています
@Override
protected void onCreate(Bundle savedInstanceState) {
<省略>
//**************** APIキーの設定とSDKの初期化 **********************
NCMB.initialize(this.getApplicationContext(), "YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY");
}
- SDKが提供する
NCMBUser
クラスが会員管理を操作するためのクラスです - このクラスが提供する
signUpInBackground
メソッドを利用し、新規登録を行います(非同期処理) - 設定したユーザ名(userName)とパスワード(password)で会員登録を行います
public void signup() {
<省略>
// TODO: Implement your own signup logic here.
//NCMBUserのインスタンスを作成
NCMBUser user = new NCMBUser();
//ユーザ名を設定
user.setUserName(name);
//パスワードを設定
user.setPassword(password);
//設定したユーザ名とパスワードで会員登録を行う
user.signUpInBackground(new DoneCallback() {
@Override
public void done(NCMBException e) {
if (e != null) {
//会員登録時にエラーが発生した場合の処理
onSignupFailed();
} else {
new android.os.Handler().postDelayed(
new Runnable() {
public void run() {
// On complete call either onSignupSuccess or onSignupFailed
// depending on success
onSignupSuccess();
// onSignupFailed();
progressDialog.dismiss();
}
}, 3000);
}
}
});
}
NCMBUser
クラスが提供するloginInBackground
メソッドを利用し、ログインします(非同期処理)- 設定したユーザ名(userName)とパスワード(password)でログインを行いま
public void login() {
<省略>
// TODO: Implement your own authentication logic here.
//ユーザ名とパスワードを指定してログインを実行
try {
NCMBUser.loginInBackground(name, password, new LoginCallback() {
@Override
public void done(NCMBUser user, NCMBException e) {
if (e != null) {
//エラー時の処理
onLoginFailed();
} else {
new android.os.Handler().postDelayed(
new Runnable() {
public void run() {
// On complete call either onLoginSuccess or onLoginFailed
onLoginSuccess();
// onLoginFailed();
progressDialog.dismiss();
}
}, 3000);
}
}
});
} catch (NCMBException e) {
e.printStackTrace();
}
}
データ保存・データ検索・会員管理・プッシュ通知などの機能を実装したい場合は、以下のドキュメント(Android for Java)もご参照ください。
- Fork it!
- Create your feature branch: git checkout -b my-new-feature
- Commit your changes: git commit -am 'Add some feature'
- Push to the branch: git push origin my-new-feature
- Submit a pull request :D
MITライセンス
NIFCLOUD mobile backendのAndroid SDKのライセンス