酒とギターとプログラミング

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

謎の通信不良

会社でアプリをリリースしてからちょくちょくユーザから「通信できないってメッセージがでて起動できないんだけど!」っていう報告を受けてたんですが、会社の端末では1つとして再現するものがなかったので謎現象として放置してましたが、先日解決?したので報告を。ぐぐっても情報がなかったので、かなり手こずりました。


まず、アプリとサーバの通信方法ですが、セキュリティの面から暗号化をしており下記の流れで通信処理をしています。(当たり前な気がしますが・・・)
1. [アプリ]リクエスト生成
2. [アプリ]暗号化
3. [アプリ]サーバへリクエスト送信
4. [サーバ]リクエスト取得
5. [サーバ]リクエスト復号
6. [サーバ]リクエスト解析
7. [サーバ]アプリ側が要求しているデータ生成
8. [サーバ]データ暗号化
9. [サーバ]データ送信
10.[アプリ]データ取得
11.[アプリ]データ復号
12.[アプリ]データ表示

だがしかし、ユーザから通信できない!っていうクラッシュレポートがあがってきていて調査してみたら11の
データ復号ができなくて通信失敗になってました。

んで、会社の端末だと再現しないので仕方なくログ送信機能を該当箇所に実装しましたところ、予想外のデータが取得できました。
予想だと通信中にデータぶっ壊れてるのかと思ってましたが、入ってたのはHTMLで作られたWebページでした・・・
そのページの中身を見てみる文字化けしてましたが、フッターにDocomoの文字が。さらに英語の部分は文字化けしていないので読んでいくとどうやらアクセス制限されてサーバと通信する前にキャリアによってアクセス制限かけられてたってオチのようです。

アプリ側は暗号化されたデータが来ることを想定してるところに平文のWebページが返ってくるので復号できないよ!って怒られてました。
通信できない原因はわかったのですが、なぜうちのアプリがアクセス制限対象になってるのか疑問でした。

調べていくとDocomoとSoftBankの端末を未成年が契約するときは何も言わないと有害サイトを見れないようにアクセス制限がかけられるらしいです。自分が作ったアプリは有害なものじゃないけどホワイトリスト形式のフィルタリングだとはじかれるのかもしれない。それは会社の端末じゃ再現しないわけだ・・・

今後未成年向けのアプリを作るならこの問題も考慮しないといけないんですね。なんかめんどくさい。マネタイズ考えても未成年をターゲットにする可能性は低い気がしますが、この問題放置してるとレビューが荒れる可能性があるので何かしら対策は必要ですね。
ぐぐっても出てこなかったけど、みんなどうやって対策してるんだろう・・・謎である
スポンサーサイト

コメント

コメントの投稿













管理者にだけ表示を許可する

トラックバック

プロフィール

kzt1110

Author:kzt1110
駆け出しAndroidプログラマになりました!

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

ブロとも申請フォーム

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。