スマートフォンアプリは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をご活用ください!