Android
fabric
AndroidStudio
Digits

DigitsでSMS認証をサクッと導入(Android Studio編)

More than 1 year has passed since last update.


電話番号認証っていいと思う。


よくあるユーザー問い合わせ


  • アプリ再インストールしたらデータが復元できないんだけど…


    • 前に入力したメアドと違うの入れていませんか???



  • パスワード忘れちゃったので教えてください


    • あなた、本当にこのアカウントの持ち主ですか?



  • どのメールアドレスでサインアップしたか覚えてないんですが…


    • 知らんがな。



こんな問い合わせは、きっともう来ない


初回特典サービス不正の防止


  • リセマラ

  • お試し期間の渡り歩き

  • ユーザー招待特典の自演

こんな不正も、もうできない


ユーザー登録が簡単

スマホアプリでは、ユーザー登録を認証無しでもできるようにしているのが主流だけど、みんな本当は認証させたい。

SMS認証なら、


  • 電話番号を入力する

  • SMSが送られてくる

  • 認証コードを入力する

これだけなら、認証必須にしてもいいんじゃないかな?


Fabricに登録&インストール


Fabricとは

Digitsを内包している、Twitter社のスマホアプリ向けSDK


  • Crashlytics(アプリのクラッシュ情報を通知してくれる)

  • Twitter認証

  • Digits
    等々、いろんな機能が使えるキット。

※インストール〜アプリへの組み込みまで至れり尽くせりなのが素晴らしい!


登録

https://get.fabric.io/

こちらからどうぞ。


AndroidStudioのプラグインをインストール

https://fabric.io/downloads

こちらからどうぞ。


AndroidStudioで導入!

スクリーンショット 2016-10-27 13.43.35.png

EmptyActivityで大丈夫。

スクリーンショット 2016-10-27 13.44.09.png

Fabricプラグインを開く(アカウントとパスワード入力いるかも)

スクリーンショット 2016-10-27 13.52.17.png

Nextを押下すると

スクリーンショット 2016-10-27 13.54.41.png

Digitsあった!

スクリーンショット 2016-10-27 13.55.33.png

Installを押下

ここは、Create Account

スクリーンショット 2016-10-27 13.56.14.png

すると、build.gradleにこれを書いてみたいな表示がでるが、

「Apply」を押下すると、自動でbuild.gradleを書き換えてくれる。

このあと、build.gradleが走って、minSdkVersionが低いとエラーになる。14以上にする。

スクリーンショット 2016-10-27 14.02.53.png

「back」を押下して、「Sign In with Phone Number」

スクリーンショット 2016-10-27 14.04.06.png

main_activity.xmlにこれを追加して、サインインボタンを作る。

(クリックしたらクリップボードに入ります)

スクリーンショット 2016-10-27 14.12.25.png

Next



MainActivity.javaのonCreateにこれを追加する。

スクリーンショット 2016-10-27 14.13.26.png

↓この辺のimportが必要

import android.util.Log;

import android.widget.Toast;

import com.digits.sdk.android.*;

なんと、これで完成!

動かしてみると、

スクリーンショット 2016-10-27 14.39.43.png

ボタンを押下すると

スクリーンショット 2016-10-27 14.40.43.png

「国」と「電話番号」を入力すると、SMSに認証コードが届くので、↓に入力!

digits.png

すると、以下がコールバックされるので、


MainActivity.java

            @Override

public void success(DigitsSession session, String phoneNumber) {
// TODO: associate the session userID with your user model
Toast.makeText(getApplicationContext(), "Authentication successful for "
+ phoneNumber, Toast.LENGTH_LONG).show();
}

session.getId();

これを自分のコンテンツサーバーで管理!!!

かなり簡単!


iOSは?

iOSは、専用のアプリで、CocoaPodsと、.xcodeprojファイルをゴニョゴニョする感じで導入しています。また、気が向いたら投稿しますー。