thilkの日記

このブログは,thilkのメンバー5名が,Androidアプリの開発について,日々の記録を綴っていくものです.

ずっとエラーが出る問題を解決!

thilkのかどわきです.

ここ1ヶ月以上ずっと悩まされ続けてきた不具合の原因をようやく特定できました!

同じ不具合で悩む人を出さないためにも,ここで報告させていただきます.

 

先に結論を言うとケータイのキャリアから提供されているアクセス制限サービスが原因でした.

 

【背景】

アプリ「AR鬼ごっこ」を起動すると,初期化するために,AWSを使って立てた自前のサーバと通信するようにしています.

普通は問題なく通信できるはずで,現に手元の実機でも正常に動作するのだが,万が一通信に失敗したときのために,エラーが出るようにしていました.

アプリを公開したところ,一部のユーザの方から,「ずっと『初期化中』のエラーが表示され続ける」という問合せをいただきました.(←これをもらったのが6月下旬)

 

【原因調査の過程】

最初は,「サーバと通信する部分のプログラムに問題があるのではないか」と思い,プログラムを見直しました.しかし,どこもおかしなところは見当たらず,また手元の実機では再現できない不具合のため,途方に暮れました.

しかしこのままでは解決できないので,とりあえず通信を行う際に使っていたライブラリを他のものに変えてみることにしました.試したライブラリは以下のとおりです.

  • AndroidHttpClient
  • OkHttp
  • AsyncHttpClient

しかし,一向に解決しません.しかも,私の手元にあるスマホと同じ型番のスマホでも不具合が出るといった問合せをユーザの方からいただき,ますます「???」という状態になりました.

「特定のIPアドレスからサーバへアクセスしたときに,拒否されるのでは?」と思い,AWS側のInboundセキュリティ設定を見直しましたが,問題ありませんでした.

もちろんGoogle検索しても何もヒットしません.

手も足も出なくなったところで,ふと「キャリアが提供しているアクセス制限サービス」が頭に思い浮かびました.私は二十歳を普通に過ぎているので,当然アクセス制限サービスは契約していませんが,試しにアクセス制限サービスを契約してみることにしました.すると大ヒット!!サーバへアクセスしようとしても,アクセスできないではありませんか!!

こうして,1ヵ月以上経った8月上旬,ようやく原因が特定できましたとさ.

 

【教訓】

二十歳を過ぎている開発者なら見落としがち(?)な「アクセス制限(webフィルタリング)サービス」にも気をつけよう!!

 

現在のバージョンは1.0.7!

Androidをお持ちの方は,一度,友人の方々と一緒に「AR鬼ごっこ」で遊んでみてください!

AR鬼ごっこ - Google Play の Android アプリ

 

【追記8/3】

その後,アクセス制限サービスによってアクセスできなかった理由が,IPアドレスで直接アクセスしようとしていることが原因だとわかりました.

ドメイン名を取得し,それを使ってアクセスするようにすることで,問題なくアクセスできるようになることを確認しました.

アンドロイダー 公認デベロッパー登録

かどわきです.

アンドロイダー 公認デベロッパーに登録が完了しました!

 

アンドロイダー公認デベロッパー認証

 

現在,アンドロイダーへAR鬼ごっこを掲載してもらうための審査を受けています.うまくいけば,1週間後にアンドロイダーホームページにて公開されると思います!

AR鬼ごっこ ver1.0.2 公開!

ご無沙汰しています.かどわきです!

これ読んでる人いるのかな?笑

 

AR鬼ごっこのインストール数が5月中旬の数日間で,300から1000まで急上昇しました!

原因は不明です笑 どこかで紹介されたのだろうか・・・?

でもそれとともに,Google playの評価が一気に下がりました笑

理由は,部屋に入室できないというバグのせいです・・・

このまま放っておくわけにもいかないので,バグを修正し,ver1.0.2を公開しました!

(これで評価上がればいいんだけどな〜笑)

 

もし,Androidをお持ちでしたら,是非ダウンロードして遊んでみてください!

ただし,2人以上で遊ぶ前提のアプリですので,一人だと何もできません笑

AR鬼ごっこ - Google Play の Android アプリ

デモムービも観られます!

www.youtube.com

なんとなく書いてみる

かどわきです!

なんとなくブログを書いてみたくなったので,書いてみました笑

 

この2ヶ月なにも研究していなかった分,いまは研究でとても忙しいです.

「AR鬼ごっこ」に対して,改善したいこと,追加したい機能はたくさんあるのですが,全然手が付けられません・・・.

ですが,落ち着いたら,必ずアップデートします!!

 

ちなみに,リリースしてから10日経った時点で,ダウンロード数は「66」となっています!毎日,少しずつダウンロードされているようなのですが,なぜダウンロードする人がいるのでしょうか?笑

どんな検索クエリを投げたらこのアプリがひっかかるのでしょうか?笑

なぞです(;・∀・)

 

このアプリ,2人以上いないと何もできないのが寂しいですね・・・.

1人でも遊べるように機能追加したいな〜とか思っていますが,他のメンバーはもう開発する気ないのかな?どうなのかな?笑

 

とりあえず研究ですね〜

また何か変化あったらここでお知らせします!

最優秀賞&完成度部門賞

リーダーのかどわきです!

先週の土曜にアプリの成果発表会がありました!

持ち時間7分でプレゼンをしました。

そのうちの4分以上をデモ動画で占めるという荒業に出ましたが,ゲームの雰囲気をうまく伝えることができ,成功したと思っています!

 

企業の方々,先輩の皆さんの投票の結果,私たちは「最優秀賞」と「完成度部門賞」をいただくことができました。

2ヶ月間,研究そっちのけで頑張ったかいがありました笑

そして,優勝賞金ならぬ優勝賞牛(松阪牛1kg)をいただきました笑

みんなで食べたいと思います!

 

周りのみんなには「もし優勝したら開発続けます」と言っていたので,約束通り開発を続けていきたいと思います!

AndroidだけでなくiOS版も出せたらいいな~

引き続き頑張っていきましょう!!

 

アプリは以下からダウンロード可能です。

AR鬼ごっこ - Google Play の Android アプリ

Android 4.0以上に対応です!

バグを発見したり,要望などがあったりしましたら,ご報告ください。

 

明日は遂に

こんにちはthilkの肥田です

遂に!
明日は!

待ちに待った!

最終発表ですね!

 

僕たちは昨日ストアにアプリのリリースをおこないましたー
そして今日はスライド作りとか動画作りとか色々やってるという感じです 

 

いま目の前でチーム「愛が分からない」がモクモクと作業をしております.

そして4階の談話室に続々と人が集まってきました.青春ですね

 

他のチームもラストスパート頑張ってるみたいで明日の発表とても楽しみです!

 

thilkの皆さんも2ヶ月お疲れ様でした

明日は楽しみましょう!(優秀賞が取れるとさらに良し!)

明日は朝が早いのでみなさん遅刻しないように早めに寝ましょうねb

発表まで残り2日!

こんばんは、田原です。

もう主張するでもなく木曜日に更新ですね(ギリギリやけども) これを書いてる途中にスカイプでリリースの相談してたらとっくに金曜になってました orz

 

に遂にSADP発表会まで残り日となりました。昨日はデモ画像の撮影を行い、発表の準備も着々と進んでおります。想定外のバグが起こってビビるのはご愛嬌(笑) むしろリリース前に気付けたことに感謝します。

 

気付けば僕がこのブログで初めて「始動!」とか言って記事を書いて(@10/2)からもう二ヶ月近く経ちました。チームが決まって、テーマを決めて、仕様決めて、分担決めて、実装して、デバッグして、統合して、デバッグして、何回もミーティングして、やっぱりデバッグして..と過ごしてきましたが本当にあっと言う間でしたね。全員やる気が十分にあった(特にリーダーがぱない)こともあり、非常にいいチーム開発が出来たんじゃ無いかなと思います。

思えば僕はAndroidで開発するのもチームでアプリ開発するのも生まれて初めてで、今回の企画は貴重な体験になりました。参加して本当に良かったと思います!この経験は一生の思い出です(ちょい言い過ぎかな?)

 

「何かやたらと終わりを感じさせる発言をするな..」と思われる方も居るかもしれませんが、なんせ僕は明後日の発表に参加できず、外向けの発信はこれで(おそらく)最後なのです。僕も発表に参加したかった..(T^T) なんで日程変えたんですか!

 

明日は最後のミーティングを行い、遂にアプリのリリースおよび (今現在リリース作業をリーダーが行っています→完了しました!発表までにはマーケットに出ると思います!)土曜日の発表の最終確認を行う予定です。僕は発表には参加できませんが準備は頑張ります!最優秀賞絶対獲りましょう!

 

それではせっかく11/28になりましたので最後に一言:

世界はファイターたちのパレードだ!

f:id:SADP:20141128020737j:plain