FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

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

React Native用JavaScript SDKで匿名認証が使えるようになりました

f:id:mbaasdevrel:20180306160753p:plain

スマートフォンアプリはSwiftやJavaのように特定のプラットフォームで利用できるもの、そしてUnityやMonacaのように複数のプラットフォームで動作するものがあります。React Nativeは後者に属する技術です。

以前React Native用SDKを開発していたのですが、バージョンアップなどに伴って利用できなくなっていました。そこでTypeScriptに沿う形で改めてReact Native SDKを開発しはじめました。なお、これは非公式のSDKになりますので、サポート外になります。

今回は匿名認証の使い方について紹介します。

使い方

まず React Native のAsyncStorageを用意します。これを ncmb の storage オプションに渡してください。React Native SDK自体に組み込んでも良いのですが、React Nativeのバージョン番号でコンフリクトが発生する場合があるので分けています(expoと組み合わせると発生してしまうようです)。

import { StyleSheet, Text, View, Button, AsyncStorage } from 'react-native';

import NCMB from 'ncmb-react-native';
const ncmb = new NCMB(config.ncmb.applicationKey, config.ncmb.clientKey);
ncmb.storage = AsyncStorage;

そしてユーザ情報を取得します。

let user = await ncmb.User.currentUser();

最初はユーザデータがありませんので、nullが返ってきます。そうしたら、匿名認証を実行します。

if (!user) {
  user = await ncmb.User.loginAsAnonymous();
}

これだけで認証状態になり、ACLにも使えるようになります。

if (user) {
  console.log('Logged in');
  console.log(user.get('objectId'));
} else {
  console.log('Login failed.');
}

コード

コードはNCMBMania/ncmb-react-native: NCMB SDK for React Nativeにて公開しています。ライセンスはMIT Licenseです。

まとめ

使い勝手はなるべくJavaScript SDKに寄せていきます。React Nativeを使った開発でもNCMBをご活用ください!

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。