SMSによる所持認証の作り方

モバイルアプリの新規ユーザーのサインアップで登場するのがSMS送信です。
SMSで認証コードを送信して、ユーザーに認証コードをアプリ上で入力してもらうことで電話番号の所持確認をします。

SMSを送信する際には、SMS配信プロバイダーを利用してSMSを送信します。

SMS配信プロバイダーは、通信事業者を経由して顧客にSMSを届けます。つまり、kifutownを提供する私たちはSMS配信プロバイダーを選定することになります。

この記事では、SMS配信プロバイダーを選定するにあたり、私があらかじめ理解しておきたかったことを整理してみました。

1. SMS配信リミット

SMS配信プロバイダーは、当社からリクエストを受けて通信事業者にSMS配信をリクエストします。
SMS配信プロバイダーから通信事業者にリクエストをする際に、リクエスト制限が存在します。
一定時間に送信できるSMS数が制限されていて、それ以上のリクエストをしても配信までに時間がかかることがあります。

そのため、ARIGATOBANKとSMS配信プロバイダー間でも、リクエスト制限が設けられることが多いです。
リクエスト制限についてはサービス事業者によって実装方法に差異があります。

当社で聞いた範囲では次のような実装方法で提供されていました。

  • 秒間レートが決まっていて、それ以上リクエストしてもAPIがエラーを返す
  • 制限はないが、SMS配信プロバイダー側でキューに乗せってリミット内配信をする
  • 制限はなく、SMS配信プロバイダー側でキューもないので、リクエストする側で制御する

1社のSMS配信プロバイダーを利用して配信する場合は、おおよそ秒間数十通と考えておくとよさそうです。(正確な閾値は実際に問い合わせて情報開示してもらうといいと思います。)
事業者によっては秒間ではなく10秒あたり何通という表現をするSMS配信プロバイダーもあります。

この配信リミットは、通信事業者と配信プロバイダーのリミットにも関連する部分で、大量に送信した場合は、通信事業者側から配信プロバイダーが拒絶される可能性もあります。

2. SMS配信種別

SMS配信サービスを探していると、いくらでも配信可能や大量送信可能と表現しているケースもあります。
これは嘘ではなく、前提が異なっていることがあります。

ベンチャー企業などでSMS配信というと、暗黙的にユーザー認証のためと思い込みがちです。
SMS認証の場合は、SMS送信リクエストをしてからユーザーにSMSが配信されるまで、数秒から1分程度で届くことを期待しています。

一方で、SMSの用途として情報連絡目的もあります。
情報連絡目的のケースであれば、配信リクエストをしてから実際にユーザーが受信するまでに数分から数時間かかっても影響が軽微なことがあります。
このケースを指して、大量配信可能と説明しているケースがあります。

SMS配信を検討する場合に、自分達が期待するのは、認証目的なのか情報配信なのかを明確にしてSMS配信プロバイダーの営業とコミュニケーションをすることで勘違いを防ぐことができます。

3. SMS到達率

最終的にSMSがユーザーに届くかどうかは重要な観点です。
SMSを送信しても、ユーザーがSMSを見られないのでは意味がないからです。

SMSを送信する、SMSを受信して、本文を見る。
到達率というのは、送信したSMSに対して実際に本文を見られるかということが重要になります。

到達率に影響がある要素には次のような観点があるようです。

  • 海外サービスと国内サービスで、通信事業者が提供するエンドポイント
  • 送信先の通信事業者
  • ユーザーが使用している端末の状況
  • SMS配信プロバイダーの状況

ユーザーが使用している端末の状況が盲点で、通信事業者もSMS配信プロバイダーでも配信したという記録が残っていても、ユーザーは閲覧できないという事態も発生します。

4. SMS配信費用

SMS配信費用は、当社から見た場合、SMS配信プロバイダーが提示される単価になります。
SMS配信プロバイダー側の視点で言うと、「通信事業者への配信費用」+「SMS配信プロバイダーの諸経費」+利益が単価となります。

SMS配信プロバイダーによって提示される単価に差異があり、契約条件(配信コミット量など)によっても単価が変わってきます。
単価がいくらになるかは複数のベンダーから見積もりをもらうことで、おおよその相場感は把握できると思います。

まとめ

kifutownサービスリリース時、「前澤友作 全員お金贈り from 宇宙」の開始時、それぞれに短時間に大勢のユーザー登録いただきました。
メインのSMS配信プロバイダーとして採用したのが、NTTコム オンライン・マーケティング・ソリューション株式会社が提供する空電プッシュでした。

空電プッシュは、毎時186万通処理できる国内最大規模の送信システムを有している事、低遅延での大量配信実績がある事を評価しました。
複数の形態での見積もり案(コミット量に応じて単価が変動するイメージです)が提示され、コスト最適化ができたと思います。

所持認証の確認手段として用いられることも多いSMS配送について、改めて考慮すべき観点を整理しました。

--

--

ARIGATOBANK Tech Blog
ARIGATOBANK Tech Blog

Published in ARIGATOBANK Tech Blog

ARIGATOBANKエンジニアが書き綴るテクニカル記事集。思想や技術選定、課題や取り組みなどについて発信していきます。

No responses yet