[iOS] Fabric 入門 #1 アカウント登録 & Twitter Kit を使ってログインする
Fabric
昨年10月、Twitter 社が運営するモバイルアプリ開発向けのサービス (Twitter や Crashlytics など) が Fabric というモジュール形式のプラットフォームに統合されました。
Fabricは、3つのモジュラーキットから構成され、安定性を高める、利用者を増やす、収益を得る、 ユーザーの本人確認という、スマートフォンのアプリ開発者が体験するよくある課題に対応するプラットフォームです。Crashlytics(クラッシュリティクス)、MoPub(モーパブ)、Twitterなど、より安定し、世界最大のモバイル広告システムを通して収益をあげ、Twitterのログインシステムとリアルタイムに集まってくる様々なコンテンツのストリームを利用してアプリの配布や本人確認の問題に対応します。また、Fabricは開発者が簡単に利用できることを念頭に作られているので、インストールもシンプルで、どの機能もいくつかのコードを加えるだけで利用できるため、SDKのために余計な手間や時間を書けることなく、開発者がより快適なアプリを提供することに専念できます。
Fabric は大きく3つのモジュールで構成されており、これらの中から必要なものだけ利用することができます。
- Twitter へのサインイン, Twitter API の呼び出し, View の提供, SMS 認証
- Crashlytics
- クラッシュ統計, リアルタイム分析, テスト配信
- MoPub
- 広告配信による収益化
ということで、Fabric の各モジュールの使いかたについて、解説していきたいと思います。初回はアカウント登録と Twitter Kit の簡単な使いかたを解説します。
Fabric アカウントの登録
Fabric アカウントの登録は次のページから行うことができます。
Fabric は承認制です。新規にアカウントを登録すると Fabric の登録リストにリスティングされ、承認されれば利用できるようになります(メールが届きます)。
Crashlytics のアカウントを既に作成済みであれば、アップグレードするだけですぐに利用を開始できます。
新規登録 (またはアップグレード) が完了したら、Fabric のアプリをダウンロードしてインストールします。対象となる IDE を選択します。
Xcode を選択した場合は次の画面になります。「Download」をクリックすると Fabric アプリがダウンロードできるので、アプリケーションフォルダにコピーします。
以上で完了です。
Fabric SDK と Twitter Kit のインポート
次に、Xcode プロジェクトに Fabric SDK と Twitter Kit をインストールします。まず先ほどインストールした Fabric アプリを起動します。メニューバーにアイコンが現れるので、クリックするとログインが求められます。
ログインすると Xcode プロジェクトの一覧が表示されるので、連係させたい Xcode プロジェクトを選択します。
次に、どのモジュールを使うか問われます。今回は Twitter を利用したいので Twitter を選択します。
次に、Xcode プロジェクトの Run Script にスクリプトを追加する旨のメッセージが表示されます。
こんな感じです。ビルドを1回実行すると次に進めます。
次に、Twitter Kit のインポートを行います。アイコンが表示されているので、そのままドラッグしてインポートします。
こんな感じです。Framework グループを作成して、その中に入れておくと分かりやすいと思います。
以上で Fabric SDK と Twitter Kit のインポートは完了です。
Twitter でログインしてみる
インポートが終わると、次に Twitter のどの機能を使うか問われます。とりあえずサインインしてみたいので「Sign in with Twitter」を選択します。
サンプルコードが表示されるので、これらをソースコードに追加します。ちなみにハイライトしてある行をクリックするとクリップボードにコピーされます。便利!
AppDelegate では、Fabric の with: メソッドで利用する SDK をセットします。
#import "AppDelegate.h" #import <Fabric/Fabric.h> #import <TwitterKit/TwitterKit.h> @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Fabric with:@[TwitterKit]]; return YES; } end
あとは適当な View Controller にログインボタンを追加するだけです。
#import "ViewController.h" #import <TwitterKit/TwitterKit.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; TWTRLogInButton *logInButton = [TWTRLogInButton buttonWithLogInCompletion:^(TWTRSession *session, NSError *error) { if (error) { NSLog(@"Error : %@", error); } else { NSLog(@"UserName : %@", session.userName); } }]; logInButton.center = self.view.center; [self.view addSubview:logInButton]; } @end
最後に次の画面が表示されます。アプリが実行されるのを待っている状態です。
ということでアプリを実行してみましょう。アプリ実行後、インジケータが消えて「Done」ボタンが表示されれば連係成功です。
アプリを見てみると、Twitter のサインインボタンが表示されるはずです。
ボタンを押すと、Twitter アカウントへのアクセスを求めるアラートが表示されます。
OS でログインしていない場合は、Web View がモーダルで表示されます。ここまで用意してくれているのはかなり有難いですね。
ログインが完了すると、buttonWithLogInCompletion: で渡したブロックに TWTRSession インスタンスが帰ってきます。
この TWTRSession インスタンスのアクセストークンを利用して、各種 API をコールすることができます。
まとめ
Fabric のアカウント登録から始まり、Twitter ログインまで試してみました。Twitter ログイン自体はいままでもそこまで難しいものではありませんでしたが、Twitter Kit を利用すると、ログインボタンなどもすぐに実装できますし、シンプルなコードでまとめることができます。
今後も引き続き Fabric の機能を紹介していきたいと思いますので、ぜひご期待ください!