読者です 読者をやめる 読者になる 読者になる

からめもぶろぐ。

ワタシ SharePoint チョット デキル

とある Windows Phone アプリの開発裏話

Windows Phone

この記事は「Windows Phone Advent Calendar 2014」の参加記事です。
www.adventar.org

2014 年 1 月より「艦ぷち」というアプリを公開しております。

www.microsoft.com

これは、DMM が配信するゲームである「艦隊これくしょん~艦これ~」をプレイしているユーザー向けのアプリで、運営からの公式ツイートを見られるほか、まとめブログのフィードを見ることができます。今回はせっかくなのでちょっとこのアプリの開発裏話をしてみたいと思います。

開発経緯

自分のツイートをさかのぼってみたところ開発を思い立ったのは 2013 年 10 月頃のようです。

twitter.com

ちなみにその頃は金剛型がまだ揃っていなかったっぽい。

twitter.com

Windows Phone アプリ開発をしてみようと思ったときに、艦これに関連したものを作ってみようという思いはもともとあったので、最初は入渠タイマーのようなものを作ろうかと考えていました。*1ところが、Windows Phone のプッシュ通知の罠にあえなくはまって挫折します。

twitter.com
twitter.com

Windows Phone では 1 日に送れるプッシュ通知が 500 に制限されていて、制限を解除するためには証明書を買わないといけないということで、個人で証明書を買うのは正直しんどいので、諦めざるを得ませんでした。
ローカルでプッシュ通知するという方法もあるのですが、こちらも正確性の点から断念しました。

twitter.com

それで、今後はちょっと目線を変えて、情報収集に役立つアプリを作ろうと考えました。艦これは、運営からのお知らせはツイートによるものがほとんどなのですが、Twitter クライアントを開いていちいち見るのも面倒なので、専用のクライアントを作ったほうが便利だろうと。ツイートは Microsoft Azure からクロールして保存するようにしたので、Twitter アカウントを持っていなくてもアプリを使えるというのも強みです。あと、当初は実装していなかったのですが、イベント攻略などでまとめサイトを見る機会も非常に多いので、まとめアンテナ的な機能も付けることにしました。

twitter.com

ちなみに公開直前には 5-3 クリアしてたようです。

開発環境

個人開発者なのでできるだけ無料の範囲でやろうと思っていますが、一部有償プランも使っています。

クライアント

IS12T を捨て切れなかったのでつい最近まで 7.5 で開発していました。7.5 だと async/await が使えないので、非同期処理は頑張って Task.ContinueWith で書きました。さすがにもう 7.5 はサポートしていないのですが、いまさら書き直すのもアレなので絶賛放置中です。

サーバー

Azure Web Sites で稼動させています。クロールしておいたデータを ASP.NET MVC Web API でクライアントに返しています。バッチは ASP.NET のプロセスで別スレッドで動かしていたので、バッチがこけると API も死ぬという面倒な環境でした。今は (というかごく最近は) WebJobs で動かしていますので、たぶん大丈夫かと。

利用状況

ダウンロード数については、今日時点で 450 ダウンロードくらいです。もともと Windows Phone の利用状況がアレなので多いのか少ないのかわかりませんが。Windows Phone では統計情報がダウンロードできるので、簡単にグラフ化してみました。

国/地域別

日本が多いのは当然として台湾が意外に多い…。

f:id:karamem0:20151116190708p:plain

実際、東アジア圏で使われているようで、英語で問い合わせがきたこともありました。レビューを見ても海外からが多いです。
意外だったのがこれ。

Greats, this is a helpful app for some areas . I lives in china and there is unable to use twitter, but this app made me can receive the news of kankore without using twitter. Thanks a lot!

そうか中国って Twitter 使えないのかーというかこのアプリ中国には配布していないんですけどねー(棒)*2

製造元別

NOKIA が多いです。FUJITSU TOSHIBA は今は亡き IS12T ですね。

f:id:karamem0:20151117125138p:plain

まとめ

アプリ開発してみると、開発だけではなく、運用していくことの大変さを痛感し、いろいろ考えなきゃならないのがとても勉強になりました。
もし Windows Phone を持っている提督でこの記事を見て気に入ったら是非ダウンロードしてみてくださいね。

Windows Phone のプッシュ通知の概要

*1:iOS や Android には既にあったのですが、Windows Phone にはなかったので…。

*2:アプリ申請時に中国には配布しないようにするオプションがあります。