博士 関税(関税とバランス):モバイルコストを節約する方法





今日は、無料のDr. Tariffアプリケーションがどのように作成されたかを説明します。 これは、会話の統計を分析し、理想的な料金プランを選択するアシスタントです。 起動後、アプリケーションは会話の履歴やその他の費用を詳細に調査して、費用を削減できるかどうかを判断します。 1週間で、私たちは単独で「金融」という見出しの下でトップ10の無料アプリケーションになりました。





アイデア



朝起きて、口座のマイナス残高を見ると、それはすべて始まりました。この1週間で、約1000ルーブルを話したことに気付きました。 「なんとなく威勢のいい」-私は考えて、新しい関税に切り替える時だと決めた。 これに先立ち、私はすでにオペレーターのサイトで2回の関税を選択しなければなりませんでした。 数学的な考え方にもかかわらず、私はかなり長い間、どの関税に切り替えるべきかを考えなければなりませんでした。 この時点で、私に質問がありました。なぜこれを行うことができ、会話に関するすべての分析をインフォグラフィックの形で引き出すことができるアプリケーションがないのですか。



私は友人に最初のインターフェース設計の概要を尋ねました:







すでにNokia N8が2回死んでいて、iOSとAndroidのどちらかを選びました。 一方では、シンプルさと洗練されたデザイン、他方では-ウィジェット、より大きな機能セット、多くの無料アプリケーション。 私はAndroidを好み、間違えませんでした。 これは、ユーザーデータへのフルアクセスを提供する唯一のモバイルオペレーティングシステムです。つまり、目的の機能をすべて実現することができます。



リサーチ



私のすべてのアイデアを実現する方法を研究するのに多くの時間が費やされました。 たとえば、ユーザーの地域を決定するための4つのオプションがありました。 まず、SIMカードからこの情報を読みたいと思っていましたが、オペレーターと国だけがそれらに縫い付けられています(それでも常にではありません)。 2番目はGPSデータに基づいていましたが、地域ごとのロシア連邦の既製の地図は見つかりませんでした。 また、特定の時点での位置は、SIMカードの地域と直接関係がないため、通信の価格に関係しません。 3番目のオプションは、GSMまたはWi-Fiセルタワーの識別子を使用することです。 完全なベースが存在せず、常に「移行」していることが判明しました。



4番目の方法は残りました-電話コード(+79の後の最初のN桁)で地域を決定します。これは地域とオペレーターに一意に関連付けられています。 しかし、そのためには、加入者の電話を決定するために何らかの形で工夫する必要がありました。 別のタスクは、さまざまな地域のモバイルオペレーターのすべての問い合わせと正確な回答を見つけることでした。 そして、ここで新しい驚きが待っていました。たとえば、メガホンは7つのブランチに分かれており、各ブランチには独自の要求/応答システムがあります。 幸いなことに、少なくとも* 100#はロシア全土で機能します。 MTS * 100#は、バランスの取れた着信SMSのカスケードを一部のデバイスで発生させ、#100#が問題を解決することが判明しました。



BeelineとTele2を操作するには、オペレーターのポップアップUSSD応答を読み取る方法を学ぶ必要があることがすぐに明らかになりました。 このタスクを簡単に確認すると、この機能にはAPIがないことがわかりました。 また、開発者の公式フォーラムでは、この質問は4年間公開されています。



すでにこの部分をトリミングすることを決めましたが、新しいAndroid開発者であるDmitryは、この問題を解決する方法をまだ発見しました( ここから引き出された有名な方法。 後に、MobileFoxおよびUSSDチェッカーバランスウィジェットを使用する競合アプリケーションは、Googleの推奨事項に違反してのみ可能な方法を使用することが判明しました(推奨される1000ではなく)2147483647。 このため、USSDを読み取るアプリケーションは常にチェックアウトを通過しました。



優先順位があれば、一般的には楽しかったです。同じ競合他社がSMSの受信に同様の優先順位を付けました。受信ボックスに手動で追加し、受信時に通知を中断しなければ大丈夫だったでしょう。 この点で、ユーザーの一部は、各アクションの後に受信ボックスでSMSを継続的に削除しました。



そして、チェーン効果が頻繁に発生しました。SMSのリクエストが送信され、SMSがアプリケーションをバイパスして受信トレイに追加され、アプリケーションが新しい着信SMSを検出し、リクエストを再送信しました。 幸いなことに、アプリケーションのベータ版でテストすることから始めました:)







関税オプティマイザー



私たちが本当に誇りに思っているのは、関税オプティマイザーです。 あなたは少し話すよう​​ですが、たくさん支払うのですか? アイデアは、1回クリックするだけで、ユーザーにとって最も有利な関税からユーザーを分離することでした。 しかし、このクリックの背後には、多くの骨の折れる作業があります。



発信通話またはSMSのコストを計算するには、通話先の地域とオペレーターを知る必要があります。 登録者が登録されている場所ではなく、別の地域にいる場合、ローミング料金は支払われますが、費用は変更されません。 電話番号は、ほぼすべての料金で通話/ SMSのコストを計算するのに十分です。 例外は料金であり、特定の料金プランを持っている加入者への通話料金を個別に示します。



通話/ SMSのコストに関する情報は、オペレーターのWebサイトからの説明に基づいて、料金ごとに手動でコンパイルされ、テキストファイルに保存されます。 さらに、計算に適した形式に変換されます。



匿名性を維持するために、通話/ SMS番号は切り捨てられた形式で送信されます。 最初は5桁が切り捨てられ、ほとんどの場合これが機能しました。 より詳細な分析では、一部のコールがこのように定義されておらず、オペレーターまたは地域に関する情報が最後の桁にあるため、プロトコルが変更され、最後の3桁が切り捨てられることが示されました。



ログを分析すると、あるクライアントの電話モデルがあまり知られていないものに変更され、メーカーが変更されていないことに気づきました(Samsung)。 加入者の識別は、IMEI(モバイル機器の国際識別子)からのMD5ハッシュの値に基づいており、彼は一意であるため、データは正確に1つのデバイスにバインドされます。



だから私は思った...しかし、これは完全に真実ではないことが判明した。 IMEIの一意性を維持することは製造業者にかかっており、州レベルでは認証されたデバイスに対してのみ制御されます。 ヨーロッパまたはアメリカでは、これは厳密に監視されています。 ロシアでは、いわゆるグレーのデバイスの巨大な市場があります。これらのデバイスは、他の国を対象としており、違法に輸入されています。 この現象の理由は簡単です。料金を支払う必要がなく、その結果、装置のコストが数千削減されます。



この結果、1つのIMEIを持つ複数のデバイスが同時に存在する可能性があります。 データベース内のユーザーが1000人未満のときに衝突が検出されたため、問題は非常に重要です。 両方のデバイス(GT-I9003、SHV-E150S)はサムスン製ですが、最初のモデルは国際的で、2番目のモデルはアジア市場向けです。 サムスンは割り当てられた番号を保存し、異なる国に対して同じIMEIでデバイスを作成することにしたようです。



この問題は、識別子をデバイスのIMEI +モデルのMD5値に変更することで解決しました。 メーカーが同じIMEIで同じモデルをリリースしないことを期待しましょう。



サーバーはPythonで書かれています。 最初は、自宅のコンピューターでWindows 7の下で働いていました。 マルチプロセッサ(GILを思い出す)サーバーを作成する際、オペレーティングシステムの制限により、ソケットを別のプロセスに転送する際に問題が発生しました。 これで、サーバーはUbuntuを実行する別のサーバーで実行されます。 データベースはPostgreSQLです。



興味深い事実:







アプリケーションの他の機能



博士への素晴らしい追加 関税はチャートです。 誰と一番話しているのか、誰とSMSで一番チャットしているのかがわかります。 より頻繁にMTSまたはBeelineに電話してください。 すべてのグラフは「自分用に」構成することができ、統計を表示する期間を選択することもできます。















さらに、現在の残高とコストの統計情報を備えた柔軟なウィジェットを利用できます。

今、すべての呼び出しで、タリフ博士はオペレーターと地域について通知します。 設定では、ウィンドウの場所を変更したり、この機能を無効にしたりできます。 些細なことですが、素晴らしい:





現在、フィードバックを積極的に収集しており、Android 4の標準を考慮したアプリケーションの再設計に取り組んでいます。iPhoneユーザーからの多くの要求に応じて、iOS向けアプリケーションのリリースが予定されています(Androidで成功した場合)。 オペレーティングシステムが閉じられているため、データは個人アカウントからのみ取得できますが、これはいくつかの困難につながりますが、これは代替手段がないため真実です。







5月31日まで、アプリケーションを無料にすることにしました。 Google Playでダウンロードします



Google Playからのダウンロードが機能しない場合は、 Yandexストアからダウンロードするか、 w3bsit3-dns.comから.apkファイルをダウンロードしてみてください。



アプリケーションが気に入った場合、または開発中のプロジェクトを支援したい場合は、私たちのグループに参加して、友人や知人にそのことを伝えてください。

vk.com/DrTariff

facebook.com/groups/DrTariff/

twitter.com/DrTariff

drtariff.com



PS近い将来、ユーザーが最も効率的に消費するには関税が最も効率的でないインフォグラフィックスを準備したいと思います;オペレーターはお金を稼ぎます-面白いですか?



All Articles