やーまんぶろぐ

気が向いた時にだけ書くブログ

ニフティクラウド mobile backend 基本ガイドがKindleで無料で読める

ニフティクラウド mobile backend 基本ガイドがKindleで無料で読めるので、ダウンロードしてみました。
ニフティクラウドで出来る概要を知ることができるので使ってみたい方は一度目を通すと良いと思います。
[asin:B016PIZSZ2:detail]

私はmonacaデバッガーでアプリを作って、バックエンドにニフティクラウド mobile backend を使ってます。
動作確認はiOSですが、デベロッパー登録をしていないのでニフティクラウド mobile backend のプッシュ通知は使えないようです。残念。

コードは以前書いたTODOアプリの実装を元に説明します。
GitHub - yamano/todo-app

ニフティクラウド mobile backend とは

スマートフォンアプリ開発におけるサーバサイドの機能を提供してくれるサービスです。

内容

本書籍の内容を簡単に説明していきます。
基本的にはブラウザからの操作方法が書かれているので、アプリとして実装するためには別に調べる必要があります。

ここから各項目について、説明していきます。

アプリの設定

アプリを作成してAPIキーの発行する方法が書かれています。

機能ガイド

プッシュ通知

モバイルアプリを作成するには必須のプッシュ通知を使うまでの流れを書いてます。
iOS端末へのプッシュ通知を行うためにはAPNs用証明書のアップロードが必要です。

APNs用証明書を取得するためにはデベロッパー登録が必要です。
年会費がかかるので私は試せていません。

特定の端末にしか通知しないのであればIFTTTを使ったPUSH通知で十分でしょう。
thikasa.net

会員管理

会員作成の方法やSNS連携の方法が書かれています。

会員登録のサンプルを載せておきます。

    signup : function() {
        var userName = $('#user-name').val();
        var password = $('#password').val();
        var user = new NCMB.User();
        user.set("userName", userName).set("password", password);
        user.signUp()
            .then(function() {
                alert("新規登録に成功");
                location.href = 'todo.html';
            })
            .catch(function(error) {
                alert("新規登録に失敗!次のエラー発生:" + error);
            });
    }

ログインのサンプルを載せておきます。

    login : function() {
        var userName = $('#user-name').val();
        var password = $('#password').val();
        
        NCMB.User.logIn(userName, password, {
            success : function(user) {
                // 成功
                alert("ログインに成功しました");
                location.href = 'todo.html';
            },
            error : function(user, error) {
                // エラー
                alert("ログインに失敗しました");
                console.log(JSON.stringify(arguments));
            }
        });
    }
データストア

データベースの機能を提供してくれます。
特徴はキーバリュー形式、ACLによるアクセス制限、データの暗号化などが挙げられます。

TODOリストを追加するサンプルコードです。

    var TODO = NCMB.Object.extend('TODO');
    // 省略
    add : function() {
        var todo = prompt('TODOを追加');

        if (typeof todo === 'string' && todo.length > 0) {
            // TODOを保存
            new TODO().save({
                todo : todo,
                user : currentUser
            }, {
                success : function() {
                    alert("TODO追加できました");
                    TODOListController.refresh();
                }, 
                error : function() {
                    alert("エラーがおきました:");
                }
            });
        }
    }

TODOリスト一覧取得のサンプルコードです。

    refresh : function() {

        showSpinner();

        var query = new NCMB.Query(TODO);
        query.equalTo("user", currentUser);
        query.find({
            success: function(results){
                TODOListController.render(results);
            },
            error: function(error){
                alert("TODOリスト取得に失敗!次のエラー発生:" + error);
            }
        });
    }
ファイルストア

画像やテキスト、音楽などのファイルを保存することができます。
AWSのS3的な使い方ができるようです。

REST APIについて

REST APIについても少し書かれています。
curlのサンプルも書かれているので参考にしてみましょう。

チュートリアル

iOSのPUSH通知アプリのサンプルが書かれています。
上でも書きましたが、PUSH通知は試していません。

最後に

ニフティクラウドで出来る概要を知ることができるので使ってみたい方は一度目を通すと良いと思います。
[asin:B016PIZSZ2:detail]

実際のコードを確認したい場合はこちらを参考下さい。
GitHub - yamano/todo-app

気が向いたら、また書きます。