LoginSignup
7
4

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-10-27

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

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

  • アプリ再インストールしたらデータが復元できないんだけど…
    • 前に入力したメアドと違うの入れていませんか???
  • パスワード忘れちゃったので教えてください
    • あなた、本当にこのアカウントの持ち主ですか?
  • どのメールアドレスでサインアップしたか覚えてないんですが…
    • 知らんがな。

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

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

  • リセマラ
  • お試し期間の渡り歩き
  • ユーザー招待特典の自演

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

ユーザー登録が簡単

スマホアプリでは、ユーザー登録を認証無しでもできるようにしているのが主流だけど、みんな本当は認証させたい。
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ファイルをゴニョゴニョする感じで導入しています。また、気が向いたら投稿しますー。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4