1

WebアプリケーションでSMSアラート機能の構築を開始しようとしています。目的は、2つのサービスを提供することです。

  1. ホストが支払う-たとえば、イベントのキャンセルをユーザーに警告するSMSを送信する
  2. ユーザーが支払う-たとえば、新しいイベントの詳細が記載された電子メールが送信されたことを警告するため(明らかに、ユーザーが電子メールシステムから離れている場合の要件です!)

また、ホストがユーザーごとに1台の電話に対してのみ支払いを行うため、アラートが必要なセカンダリ携帯電話がある場合など、他のユーザー支払いシナリオもあると思います。

私の研究から:

  1. サードパーティのSMSゲートウェイプロバイダーを使用できます。費用はメッセージあたり約GBP0.05です。Eメールを999999999@TheGatewayProvider.comに送信するか、URLに適切なパラメーターを指定してHTTPリクエストを使用することができます。

  2. ユーザーのネットワークプロバイダーに電子メールを送信できます(これは米国でのみ利用可能だと思います)

編集さまざまなプロバイダーがFrom / SubjectとMessageを処理する方法にはさまざまなバリエーションがあるため、送信された実際のメッセージの表示を予測するのは難しい場合があります。

  1. 私は自分のゲートウェイをセットアップすることができます(これは私の能力をはるかに超えていると思います、そして私たちのデータセンターに悲しみを与えるかもしれません!)

それは私に次のように思います:

送信する電子メールは、ダウンストリームキューはもちろん、サーバーのSMTPキューで遅延することがあります。ネットワークプロバイダーのSMSゲートウェイに電子メールを送信することは、多くの場合、優先度が低いものとして扱われるようです。

したがって、サードパーティのSMSゲートウェイプロバイダーへのHTTPは、最短の遅延を提供する必要があります(「今日の午後のイベントは悪天候のためキャンセルされました」にとって重要です)

私が携帯電話からSMSテキストを送信すると、到着するまでに数日かかることがあります。これは私たちが一緒に暮らさなければならないものだと思いますか?

優先度の低い情報メッセージもあるとは言っても、最も安いルートで送信するのは魅力的です!そのため、ユーザーがそのようなメッセージの電子メールアドレスを入力できるようにすることを計画しています。これは、携帯電話会社のSMSリダイレクトサービスなどの電子メールアドレス(つまり、受信トレイではなくデバイスの電子メールアドレス)を使用することを目的としています。 。

また、ユーザーにIMやTwitterなどの入力を許可することは、実際によく使用され、効率的である可能性が高いのではないかと思います。

私が見たサードパーティのゲートウェイからは、次のように思われます。

一部は他よりも高グレードのネットワークを使用していますが、これはパフォーマンスに影響を与える可能性がありますか?(またはそれは単なるマーケティングのホグウォッシュですか?)

他のものより良いフィードバックを提供するものもあります。請求に関する議論、そしてクライアントが使い果たした「クレジット」の正確な数を最小限に抑える必要があります。したがって、「OK」/「電話番号が存在しません」という回答を得ることが重要だと思います。私が見つけたあるプロバイダーは、ダウンロード可能なテキストログファイルを毎日作成しており、これを送信ログと照合することができます。

以下についてのご意見・ご感想をいただければ幸いです。

ユーザーは自分の携帯電話番号を知っているとおりに入力します。国コードも取得できるように、+ 9912345 ...を適用する必要がありますか?

携帯電話が外国の場合はどうなりますか(私は英国に拠点を置いています)受信者は国際的な部分を支払いますか?または、ゲートウェイプロバイダーはおそらくローカル伝送サービスを持っていますか?

非英字をどうする必要がありますか?英国ポンドの記号「£」とCR/LFが頭に浮かびます。これらがエンコードされていると、長さ制限のメッセージがエンコードされた後の長さを超える可能性があります(メッセージ作成フォームの検証にこれを組み込む必要があります)。新しい行はCR+LFですか、それともCRだけで十分ですか?

シミュレーションを備えたゲートウェイはありますか?SMSテキストの実際のコストをかけずにアプリケーションをテストできるようにしました。

失敗した試行の携帯電話番号をログに記録し、ユーザーの記録にフラグを立てて、次回ログインしたときに番号を修正するように促すことができるようにする予定です。

あなたが持っている他の落とし穴や提案は大歓迎です。ありがとう。

4

2 に答える 2

3

私に起こった 1 つの大きな落とし穴ですが、これはプログラミングに関する質問ではなく、単なる経験であるため、考慮する必要があります。

誰かがあなたに緊急の意味のメッセージを送信した後、送信者 (ハンドセットの所有者) があなたのところに来て、メッセージを受け取ったかどうか尋ねた場合、これが私を苛立たせます。受信していないと主張するため、実際にはプロバイダーのネットワークの問題が原因であるにもかかわらず、送信者は、あなたが「無視した」または「応答しなかった」ことに多少の不満/クロス/怒りを感じます.

そして、おかしなことに、喧嘩をしてから約1時間後、携帯電話が鳴り、送信者からのメッセージが届きました!!!! これは私に数回起こりました!しかし、送信者側で何が起こっているのかを知らずに何ができるでしょうか (危機、緊急の問い合わせなど)。

したがって、イーサネット (インターネット) からハンドセットにメッセージを送信する場合は注意が必要です。イーサネットは完全に 100% 安定しているわけではない (ルーターのダウン、DNS の消失、サーバーの停止など) ため、これを覚えておく価値があります。質問のように、SMS の即時配信をどのように保証できますか? これは大きな問題であり、信頼性を確保する必要があり、通常はそうするために余分な努力が必要になります...

ほとんどの携帯電話には通常、配信レポートと呼ばれるものがあり、スイッチがオンになっているものとオフになっているものがあります。これは、受信者のハンドセットがオンになっているかオフになっているかを知る便利な方法です。配信されたことを示す即時配信レポートを取得します。同様に、オフの場合、プロバイダーの配信の最大時間に応じて、配信レポートの取得に顕著な時間遅延が発生します。

これがとりとめのないように見える場合は申し訳ありません...

これがあなたの考えの材料になることを願っています、よろしく、トム。

于 2009-12-02T14:19:37.077 に答える
2

SMS は電話会社のサービスであり、インターネット サービスではありません。それにはいくつかの異なるルールが伴います。

手始めに、多くのエンドポイントは課金/課金可能であり、単一のサービス プロバイダーと契約しています。これには、すべてのユースケースが含まれます。

第二に、請求は送信側と受信側の両方の契約事項です。SMS を特定の国に送信するように制限しない限り、「ホストが支払う」と送信者として宣言することはできません。米国は最も有名な例外です。「受信者が支払う」はさらに悪いです。SMS スパムのため、電話会社は通常、契約を結んでいる場合にのみこの種のトラフィックを許可します。

サードパーティの SMS オペレーターは、これらの問題の多くに対処できます。平均的な通信事業者よりもサービス指向になるのは非常に簡単です。彼らはあなたのために国際SMSを配信することさえできるかもしれません.

SMS は、必ずしも電子メール ゲートウェイではなく、ネットワーク自体でバッファリングする傾向があります。個々のケースでは、違いはおそらくあなたには見えません。ただし、電話会社への直接の SS7 リンクがある場合でも、遅延は発生します。

実際の電話会社にはテスト ゲートウェイがありますが、それらの使用条件については説明できません。ただし、アイデアは間違いなく、低コストでアプリをテストできるようにすることです.

SMS は独自のアルファベットを使用します。これは、やや厄介なマルチ セプテット エンコーディング (7/14/21 ビット!) です。引用されている 160 文字の制限は、140 バイトのペイロードに由来します。これは、70 文字の UTF-16 文字としてコーディングすることもできます。

于 2009-12-02T15:38:06.653 に答える