Digitsでは、iOS とAndroid上で電話番号のみでアカウントの作成やアプリの署名ができます。 Digits 機能はTwitter で使われているグローバルで信頼性のあるインフラストラクチャと同じものを使って作られており、 ユーザーの電話番号をシンプルでカスタマイズ可能なインタフェースを使って確認します。 あなたのアプリへの導入も簡単です。
Digits機能は既存の user/profile データベースを拡張します。 Digits機能を使ったアカウントの作成が成功すると、ユーザー記録に関連した不変のユーザーIDと端末用のoAuth トークンが戻り値として返ります。便宜上、確認済みの電話番号も戻り値として返されますが、ユーザーの電話番号はいつ変更されるか分からないので認証に使うべきではありません。
Digits 機能では、ユーザーがアドレス帳を使って友達を探す機能同様に、ウェブログインや登録もサポートしています。
リリースノート:
Digits: Sign in with Phone NumberDigits lets people create an account or sign into your app using nothing but their phone number on iOS and Android. Built using the same global, reliable infrastructure Twitter uses, Digits will verify the user’s phone number with a simple customizable user interface that easily integrates into your app. Digits extends your existing user/profile database. A successful Digits account creation will return a stable userID to attach or match with your user record, and an oAuth token for the device. A verified phone number is also returned for convenience, but the user’s number may change at any time and should not be used for authentication. Digits includes web login and signup support, as well as the ability for users to find their friends via their address books. Release notes:
|
Digits機能では、認証フローを開始するには二つの方法があります:あらかじめ用意されたボタンを使用する方法か、独自にボタンを作成してそれがタップされた時に認証を実行する方法です。
Set up Digits AuthenticationDigits offers two ways to kick off the authentication flow: using a pre-configured button, or calling an authentication method from your own button’s tap handler. |
ボタンを表示するビューのコントローラーでは、ビューが読み込まれた後(例えば viewDidLoad
メソッド内)にあらかじめ用意されたボタンDGTAuthenticateButton
のインスタンスを作成し、completion ブロック内ではセッションオブジェクトを処理します。:
- (void)viewDidLoad { DGTAuthenticateButton *digitsButton = [DGTAuthenticateButton buttonWithAuthenticationCompletion:^ (DGTSession *session, NSError *error) { // Inspect session/error objects }]; [self.view addSubview:digitsButton]; }
// Swift override func viewDidLoad() { let digitsButton = DGTAuthenticateButton( authenticationCompletion: { (session, error) in // Inspect session/error objects }) self.view.addSubview(digitsButton) }
こうすると以下のように描写されます:
Using the pre-configured buttonIn the view controller that will display the button, instantiate the pre-configured button - (void)viewDidLoad { DGTAuthenticateButton *digitsButton = [DGTAuthenticateButton buttonWithAuthenticationCompletion:^ (DGTSession *session, NSError *error) { // Inspect session/error objects }]; [self.view addSubview:digitsButton]; } // Swift override func viewDidLoad() { let digitsButton = DGTAuthenticateButton( authenticationCompletion: { (session, error) in // Inspect session/error objects }) self.view.addSubview(digitsButton) } This will render a button that looks like: |
カスタムボタンを表示するビューのコントローラーでは、タップイベントを検知してauthenticateWithCompletion:
メソッドを実行します。completion ブロック内ではセッションオブジェクトを処理します:
- (void)didTapButton { [[Digits sharedInstance] authenticateWithCompletion:^ (DGTSession* session, NSError *error) { if (session) { // Inspect session/error objects } }]; }
// Swift func didTapButton(sender: AnyObject) { let digits = Digits.sharedInstance() digits.authenticateWithCompletion { (session, error) in // Inspect session/error objects } }
Using your own buttonIn the view controller that displays your custom button, capture a tap event as usual and call the - (void)didTapButton { [[Digits sharedInstance] authenticateWithCompletion:^ (DGTSession* session, NSError *error) { if (session) { // Inspect session/error objects } }]; } // Swift func didTapButton(sender: AnyObject) { let digits = Digits.sharedInstance() digits.authenticateWithCompletion { (session, error) in // Inspect session/error objects } } |