LoginSignup
26
20

More than 5 years have passed since last update.

SMSを利用するときに最低限知っておきたいこと

Last updated at Posted at 2016-07-23

はじめに

最近上場したTwilioをはじめ、SMS(ショートメッセージサービス)を送れるサービスはたくさんあり、送ること事態は簡単にできる。
しかし、普通に実装すると落とし穴が存在するので、その落とし穴に落ちないためのマニュアル。

今回は、個人認証をするために、SMSで認証番号を送る部分を作成したので、その時にどのような対応をしたかを書く。

TL;DL

  • Twilioだけでは、SMSが届かない人が 7% 30%いる → SMSは、その国の配信事業者で、到達率が高いものを使おう

  • それでも届かない人へ向けて → SMS通知以外の手段も用意しよう。たとえば音声通知など

SMSの基礎知識

なぜSMSを使うか

  • メールに比べると、開封率が高い
    • 迷惑メールなどにまぎれない
  • 到達確認が可能
  • MNP制度(ナンバーポータビリティ)による宛先変更が少ない
  • アカウントの複製が困難(回線を用意する必要がある)

送受信の方法

  • パケット通信ではなく、回線交換ネットワーク上での通信
  • ネットワーク事業者(SMSC)によって回線ネットワークが違う

sms_architecture.png

出典 : http://uncw.edu/itsd/documents/computer-sms_pdf.pdf

SMS送信サービスの選び方と、その理由

選ぶときに重視すること

  • (その国で)到達率が高いサービスを利用する
    • その国のネットワーク事業者に直接送信できるサービス

なぜ到達率に差が出るのか

到達しない理由は、大きく分けると以下の3つの理由になる。

  • ネットワーク事業者(SMSC)へつながらない
  • ネットワーク事業者(SMSC)でフィルタリングされている
    • たとえば送信元の電話番号や、メッセージにURLが入っているetc
  • SMSに対応していない(SMS無し契約)

届かない場合、具体的に起こっていること

  • 別のネットワーク事業者に送信しようとしている
    • SMSサービスが持っているネットワーク事業者の情報が古い
      • 例)MNPされた情報が更新されておらず、以前のネットワーク事業者に送信処理を行う
  • フィルターにひっかかっている
    • 利用している電話番号がブラックリストに乗っている
    • 国際SMSなどの理由により、不正なサービスと判断されている
    • メッセージ内に不適切なテキストが含まれている
      • URLが記載されている、入力されてはダメな文字列が含まれているetc

各サービス比較表

サービス名 初期費用 月額 円/1送信 到達率(日本国内) SDK 備考
Twilio 無料 無料 8~9.6円 70% あり 国際SMSでの送信
EZSMS 無料 無料 10~50円 不明 なし ポイント式(前払い)
空電プッシュ 105,000円~ 50,000円~ ~8円 日本国内の全端末をカバー(※数値での説明なし) なし BtoB契約
AOS SMS 30万円 10万円 15円 99.9% 不明 BtoB契約、月15万円で3カ月までトライアル利用可能

それでも届かないときのために

SMS以外の手段を用意する

どれだけこちら側で万全を尽くしても、SMSが100%届くとは限らない。
SMSを送る目的にもよるが、必ず代替手段を用意しておく。

電話番号の本人確認を行いたい場合

指定の電話番号に掛けてもらって、自動音声応答装置(IVR)で対応できる。
もちろん、電話番号の確認の場合、番号通知をしてもらう必要がある。

電話料金は掛けた人が負担することになるが、
電話してもらえばネットワーク事業者のフィルタなどに引っかかることなく、
かかってきた電話番号をもとに認証コードをお届けできる。

その他

あまり本人確認以外で、100%届けなければいけない、というパターンが思い浮かばないが、何らかの連絡の場合は、その人へのメールも送信するなどが考えられる。

26
20
5

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
26
20