2014年10月26日日曜日

こっそり、普段使いのシンプル電卓 malc(マルク)のバージョン: 1.21が公開になってます。 iPhone6/6Plusの画面解像度に最適化しました。


今日は、レビューへの誘導の話

ストアに★をつけてもらったり、コメントを書いてもらうレビューを書いてもらえたら、開発者として励みになるし、マーケティング効果も高いことは有名ですね。
有用なコメントをもらったり、好意的なレビューをしてもらうテクニックとして、レビューへの誘導タイミングや誘導方法が重要という情報もよく目にします。

いろいろ見てて、参考になる と思ったのは たとえば下記のようなWebページ
レーティング誘導で好評価を貰うには
アプリのレビュー評価はASOに効く!

「誘導は ある程度使ってもらってから」「ゲームならステージクリアしたときなど気分が良い時に」「好評価の工夫として”面白いので評価する/つまらないので評価しない”という誘導の文言にする」などがなるほど!と思いました。


私は、他のアプリを使っていても、起動直後にダイアログを出すものしか見たことがなく、とにかくウザイという認識でした。  そもそもmalcではAdも計算結果を表示した後に出すようにして、邪魔しないように気を付けているし、レイティング誘導は もっともっと 「とにかく邪魔しないように!」「余分なスペースを使いたくない! ということで、Adの領域に誘導バナーを出すことにしました。

iAdのようなデザインでレビュー依頼のバナーを相方に作ってもらい、2%の割合でレビュー依頼を出すようにしました。 これならモーダルダイアログではないのでユーザの作業に割り込みませんし、専用のスペースも取りません。また、何度も誘導されるのもウザイので、一度タップしてもらえれば二度と出ないようにしてあります。

そして、タップされたら、SKStoreProductViewControllerを使って AppStoreに誘導します。 ストリームで飛ばしてしまうとストアアプリに移動してしまいますが、この方法なら、アプリを出ないので元の画面にすぐに戻れ、わざわざ協力してくれた人に負担が少なくていいかと思います。

たくさん、★がつくといいなぁww

2014年10月13日月曜日

今回は まだ検討中のアプリの話

このアプリではいわゆる世界時計機能が必要なんです。
タイムゾーンが分かれば、日時を表示することは簡単。たとえば、America/Los_Angelesなら下記のようにすればできます。
    NSDate* date = [NSDate date] ;
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init] ;
    [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/Los_Angeles"]] ;
    [formatter setDateFormat:@"dd a HH:mm (zzz)"] ;
    NSLog(@"%@",[formatter stringFromDate:date]) ;

課題になるのは、国名・都市名からタイムゾーンを調べられる辞書が必要なのこと。
今回はそれについて調べました。

iOSが持っているタイムゾーンのリスト

主要都市のタイムゾーンはNSog(@"%@",[NSTimeZone knownTimeZoneNames]); で表示できます(iOS8で425タイムゾーンのデータが表示されました)
Africa/Abidjan
Africa/Accra
・・・
Pacific/Wallis
でもこれには、San Franciscoも載っていないレベル。 また、国名が分からないので、同名都市もあるし、国名から検索もできないので不便です。

tz database

このDBは、パブリックなタイムゾーンのデータデータベースで、America/Los_Angelesというような命名規則を作った おおもとデータなんですね。いろいろ工夫した末の命名規則のようです。いろんな所からD/Lできるようですが、ここから落としてみました(2014/9/24時点で415タイムゾーンのデータが格納されていました)
1,     AD,  Europe/Andorra
・・・
390, US,  America/Los_Angeles
・・・
415, ZW, Africa/Harare
zone.csvが上記のような国名の省略形とタイムゾーンの組の形式になっていて、国名の省略形と通常形の組のcountry.csvと合わせるとタイムゾーンの国名が分かります。knownTimeZoneNamesと比べて10都市くらい足りないけど、これくらいなら自力で調べられる範囲ですね。

City time zone

このDBは、千都市以上のタイムゾーンが載ってます(2014/10/3時点で1310都市のデータが格納されていました)。ただ、タイムゾーンが Tokyo Standard Timeなどの表記で iOSで使える形式ではないので、国名と都市名をもとに変換する必要があります。ただ、2つの都市が同じタイムゾーンだということが重要な情報で、Tokyo Standard TimeのOsakaのタイムゾーンが Asia/Tokyoに出来るわけです。

結合と変換

knownTimeZoneNamesと tzdataから、"国名/都市名"とタイムゾーン名のペアを作ります。
Ivory Coast/Abidjan, Africa/Abidjan
Ghana/Accra, Africa/Accra
・・・
Wallis and Futuna/Wallis, Pacific/Wallis
これを city time zoneと混ぜ(等価結合、VLookup)ます。 Japan/Tokyoが一致するので Tokyo Standard TimeをAsia/Tokyoに変換でき、同じタイムゾーンのOsakaも Asia/Tokyoと変換できます。 knownTimeZoneNamesにしかない都市や、city time zoneにしかないゾーンもあり、最終的には1478都市の辞書ができました。 そのうち、適当な場所で公開したいと思っております。