kotlin タイプセーフにプロパティの名前を取得

realmで特定のキーをもとにデータを取得するときに、ハードコーディングをしているサンプルコードを見かけます。 

サンプルとしてはハードコーディングの方が見やすかったりします。

でも、実際にアプリを作るときはタイプセーフなコーディングをした方がタイプミスによるバグの発生を抑えられたり、保守が楽になったりします。

entityクラス

data class Memo(
        var memoId: Int = 0,
        var body: String = "",
        var createDate: String? = null,
        var updateDate: String? = null
)

ハードコーディング例

    fun get(id: Int): Memo? {
        return mRealm.where(Memo::class.java).equalTo("memoId", id).findFirst()
    }
"memoId"の部分がハードコーディング(直打ち文字列入力)になっています。

タイプセーフ例

    fun get(id: Int): Memo? {
        return mRealm.where(Memo::class.java).equalTo(Memo::memoId.name, id).findFirst()
    }
"memoId"ではなく、
Memo::memoId.name
になっています。

entity名称::プロパティ名.nameとすることでタイプセーフに"memoId"(文字列)を取得できます。

bodyの場合は、Memo::body.nameですね。

 この記事が参考になれば幸いです。 

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。 

Twitterのフォロワーも募集中です。
@cloverkizuna

 今後ともよろしくお願いします。

kotlinで端末上の戻るボタンを実装

戻るボタンを押したタイミングでデータを保存したり、Googleアナリティクスにイベントを送信したい場合、端末上の戻るボタンをKeyEventで拾う必要があります。

KeyEventUPDOWNで二回走るので一回だけ処理が実行されるようにKeyEventの判定を追加する必要があります。
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        // データバインディング
        binding = DataBindingUtil.bind(inflater.inflate(R.layout.fragment_send_mail_and_sms_setting, null))

        val view = binding?.root

        // 端末上の戻るボタン
        view?.apply {
            setOnKeyListener { _, keyCode, event ->
                if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_DOWN) {
                    backAction()
                    true
                } else {
                    false
                }
            }
            isFocusableInTouchMode = true
            requestFocus()
        }

        return view
    }
    
        // 戻るボタンアクション
    private fun backAction() {
     
    }

この記事が参考になれば幸いです。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。
@cloverkizuna

 今後ともよろしくお願いします。

時間をお金で買う!

最近、稼いだお金で時間を買うように心がけています。

パソコンをアップデートしたり、家電を良くすることで一日の活動時間が増えていきます。


こ購入した商品の中で役立っていると思うものを紹介していきます。



ルンバを購入する前は毎日掃除機をかけていましたが、ルンバを買ってからは掃除機を使う頻度が減りました。



ルンバのアプリでスケジュールを設定すると、毎日設定した時間に掃除をしてくれます。

外出時にルンバが掃除をしてくれるので、帰宅すると掃除が終わっています。
家の中の空気もスッキリしているので、家の居心地もよくなります。

ルンバ980はカメラが付いており、自分がどこにいるのか・周りに何があるのかを把握して掃除をするので、部屋全体を綺麗に掃除してくれます。

ビニール袋とかが床に転がっていると、ルンバがビニール袋を吸い込んでエラーで停止している場合もあります。

床にものを置かないように心がけるようになるので、余計なもの買わなくなると言った効果もあります。


ダイソンの掃除機を使えば、素早く片手でさっとゴミを吸い取れます。

ハンディータイプなので軽量ですが、吸引力は抜群です。

ルンバは床しか掃除できないので、それ以外の箇所は素早くダイソンの掃除機で吸い取ると埃が溜まりにくくなります。

ルンバとダイソンがあれば、掃除の時間を大幅に短縮できます。



食洗機は神です。

購入する前は、場所も取るしお金もかかるからどうなの?
と家族で話していましたが、買ってからは食洗機なしでは生きられない。と言うようになりましたw

手が荒れることもなくなり、2分くらいかけて食洗機に食器類を放り込んでスイッチを押せば他のことをやっている間に綺麗さっぱり汚れが落ちています。

ストレスが減ることで、家族の雰囲気も穏やかになりました。


iPhone・iPad・AppleWatchを急速充電してくれるスタンドです。

専用のスタンドなので、収まりが良く、素早く充電してくれます。

急速充電器は5つポートがあるので、まとめていろんな家電を充電できます。



エアロバイクとルームランナーです。

場所は取りますが、ジムに行かずにトレーニングができます。

まとめて5万円位しましたが、家族でスポーツジムに3ヶ月分くらい通う額と変わらないので、長く運動を続けられている方にはトレーニング器具を買うと経済的です。

自宅にトレーニング器具があると運動してすぐにシャワーを浴びて、その後すぐにご飯を食べたりテレビを見ることができます。


2017年には自動洗濯物折りたたみ機のランドロイドも出る可能性があると言われています。



クオリティ面や価格面が一般消費者に納得されるようになるまでには、少し時間がかかると思いますが、2020年頃には当たり前のように自動洗濯物折りたたみ機が使われるようになるかもしれませんね。

それではまたの機会に!

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。
@cloverkizuna

 今後ともよろしくお願いします。



Xcode7+iOS9+objective-cで発生するエラーの対処

iOS9の公開に先立ち、Xcode7のGM seedを導入しました。

今回は、xcode7移行時に出てきたエラーとその対処方法をざっくりと書き出していきます。

(1)
アクションシートがキーボードで隠れてしまう現象の対応

UIActionSheet *actionSheet;

〜(割愛)

[actionSheet showInView:self.view];
↓対応
UIActionSheet *actionSheet;

〜(割愛)

[_textView resignFirstResponder];
[actionSheet showInView:self.view];

推奨されている、UIAlertControllerでも上記と同様の現象が発生します。

(2)コントローラー(ToolBar)の配置場所が変わってしまった問題の対応

//  ipadの場合
    if([CommonFunc isIpad]){
        toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - TOOLBAR_SIZE - 5, self.view.bounds.size.width, TOOLBAR_SIZE + 5)];
    } else {
        toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - TOOLBAR_SIZE - 4, self.view.bounds.size.width, TOOLBAR_SIZE + 4)];
    }
↓対応

  float removalViewSize = [[UIScreen mainScreen] applicationFrame].size.height - self.navigationController.navigationBar.bounds.size.height;

    //  ipadの場合
    if([CommonFunc isIpad]){
        toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, removalViewSize - TOOLBAR_SIZE - 5, self.view.bounds.size.width, TOOLBAR_SIZE + 5)];
    } else {
        toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, removalViewSize - TOOLBAR_SIZE - 4, self.view.bounds.size.width, TOOLBAR_SIZE + 4)];
    }

(3)関数呼び出し時の警告対応
[self setToolBar:_textView.text];
↓対応
[self setToolBarTitle:_textView.text];

(4)nendアダプターの対応
ld: '/Users/takashiishigaki/Desktop/project/ビジネス/strCntMemo/libNendAd.a(NADIconView.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
↓対応
nendにエラーの内容を報告・アダプターの修正待ち

Bitcodeとは

WWDC - App Thinning メモ - Qiita
 Apple がアプリのコンパイルを代行して自動最適化してくれる仕組み。アプリを中間表現である Bitcode を含めた形式で iTunes Connect に提出しておけば、将来的に CPU アーキテクチャが変わった際に Apple がよろしくやってくれるみたいです。Bitcode を採用する場合には、そのアプリに含めるすべてのバイナリ(フレームワーク、ライブラリ)も同様に Bitcode を含める必要がある。
 なお watchOS では Bitcode が必須の模様。
ENABLE_BITCODEをNOにする

自分のアプリではBitcodeは不要なのでNOにする。

参考リンク
http://qiita.com/gabu/items/023b2a3ea669c795ec9b

(5)Locallzationsの変更
iOS9ではjapaneseがJapanese(japan)のようになる。
stringsファイルはjapaneseだけでなく、Japanese(japan)も追加する。
コード内では以下のように変更する

if ([[[NSLocale preferredLanguages] objectAtIndex:0] isEqualToString:@"ja"]){
↓対応
NSString * strLocale = [[NSLocale preferredLanguages] objectAtIndex:0];

// 日本
if ([strLocale isEqualToString:@"ja"] || [strLocale isEqualToString:@"ja-JP"]){

(6)ITMS-90474エラー
Info.plistで「UIRequiresFullScreen」をYESにする

参考リンク
http://nsblogger.hatenablog.com/entry/2015/09/01/ios9_optimization

(7)httpリンクが弾かれる

Info.plistに以下のコードを追加する。

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

(8)キーボード上にAddしたUIToolbarが画面遷移時に黒く濁る
UIToolbar* customSimple

↓ 対処
UIToolbar* customSimple

customSimple.translucent = NO;

今後も定期的にブログを更新していきたいと思います。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。

おすすめするアプリレビューサイト「Appliv」

本日、無料のアプリレビューサイト「Appliv」の記事に レビュー依頼したアプリが掲載されました。

とても丁寧に記事を作ってくださいました。


私が感じているこのアプリ(文字数カウントメモ)の売りをわかりやすく記事にまとめてくださっていました。

ApplivはアプリとしてもAppStoreの上位にランクインしていて、利用者数も600万人を突破されているサービスです。



私のアプリはStore上にたくさんあるアプリのほんの一部にも関わらず、しっかりとアプリをお使い頂き、良さを伝えて頂いていると感じています。

丁寧なつくり・利用者が何を望んでいるのかをしっかりと考えて作り上げたものは必ずユーザーに評価されます。

私もアプリを作るときに「丁寧なつくり」「利用者が何を望んでいるのかをしっかりと考える」を常に意識していきたいと思います。

ちなみに、こちらの画像をタップすると記事を覗くことができます。
とてもわかりやすい文章で、アプリの良さがしっかりと伝わる内容になっています。


必ずではないかもしれませんが、アプリに掲載いただいた場合、以下の2つのサイトからリンクを張っていただけます。(画像をタップすると記事リンクに飛びます)



このサービスのレビュー依頼は以下のリンクから行えます。
まだ利用したことがない開発者さんにおすすめです。
無料で記事レビュー依頼が行えます。


ご視聴ありがとうございました。


今後も定期的にブログを更新していきたいと思います。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。

7月度のアプリ収益

先月は以下のような割合で収益を上げることができました。

アプリ全体収益
90,749円

無料アプリの広告収益
65,613円

有料アプリ報酬額
25,136円

アプリの利用者数増加に伴い、広告収入が増えています。
(広告はnendをメインとしたadmobメディエーションです)

これからも、より多くの方に使ってもらえるアプリへと成長していけるよう改良を進めていきます。



さて、アプリを公開していると沢山の方からメールを頂きます。

中でも特にありがたいのは不具合のご報告です。

これは最も緊急度が高く、ご報告をいただいてから即対応しております。

おかげさまでほとんど不具合のご連絡を頂くことがなくなりました。

また、不具合対応でアップデートするときはそれに加えてユーザーから喜ばれる機能追加も合わせて行います。

1つのお願い事をされたときに、それをやるだけでもユーザーは安心するかもしれませんが、嬉しい気持ちにはならないと思います。

そして、スピーディーに不具合対応と機能追加を行うと、アプリが成長しているというメッセージがユーザーに伝わると思います。

あと、アプリのAndroid版は出ないのですか。という問い合わせも頂きます。

これに関しては、いずれかAndroid版も出したいと考えておりますが、今すぐ対応するのは困難な状況です。とご返信させて頂いております。

現状、iosで実現したい機能改良・デザインリニューアルがまだまだ沢山あります。

今は新規アプリ開発よりも、アプリの改良を優先しています。

アプリがユーザーに喜んでもらえるようにはなっているのですが、私の中ではまだ完成していないのです。

改良を重ねていけば、もっと多くの方にとって役立つアプリへと成長していけると思います。

また、iosアプリは審査が厳しくストアにはたくさんの良質アプリが並びます。

その中で生き残っていくにはクオリティーの高さが重要です。

アプリを完成状態に持っていかないことには中途半端なアプリになります。

今、出しているアプリを全て自分が理想とする完成状態にもっていけたら、Androidアプリなど他の方向性も考えていきたいと思います。

ただ、現状としてandroidよりもiosの方が開発基板・仕様がしっかりとしています。

androidの開発基板の進化スピードが速まらないとiosの開発に没頭してしまう可能性がたかそうです。

Appleの進化スピードが速いので、それに追いつくのは難しいのかもしれませんが、Androidも負けないように頑張って欲しいです。

ご視聴ありがとうございました。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。


6月度のアプリ収益

最近、AppleがAppleWatch・AppleMusicと立て続けに革新的なサービスを打ち出していることに感動を覚えているcloverです。

Appleの成長スピードに少しでも負けないように自分もアプリの改良を続けていきます。

さて、本題になりますが、先月は以下のような割合で収益を上げることができました。

アプリ全体収益
83,845円

無料アプリの広告収益
58,329円

有料アプリ報酬額
25,516円

セールを実施した5月よりも全体の収益は下がっていますが、セールをせずにある程度の収益を得られるようになってきているのは収穫です。

無料と有料のアプリで機能差を一切つけないようにしているので、無料版を利用してくださっているユーザーさんが増えているのかもしれません。

広告はnendとadmobの数値をいじりながら調整してきたのですが、ここ最近はadmobよりもnendの方が収益が上がりやすく、nendに当てる割合を増やしています。

広告はメディエーションにしておくと、自分で数値をいじることができます。

もちろん、広告ネットワークを最適化しておけば自動で数値が割り振られます。

私の場合、ネットワーク最適化も試しましたが、手動でやった方が収益が上がる気がします。

調子が悪いメディアがあれば手動でそのメディアの数値を下げ、調子が良いメディアがあれば数値を上げるといった感じです。

自分で数値をいじっていると、なんとなく数値の動きも把握できるので単純に面白いです。

さて、話は変わりますが会社とは別に個人でもアプリを作っておくと、会社の仕事も捗ります。(開発が捗ります)

先月はいろんな案件を担当しましたが、今までの経験を生かして開発することができました。

iPad案件(objective-c)×2案件、android案件(java)×1案件、それらの案件のサーバー構築から開発(AWSでの構築、phpでの開発)、単体試験書作成・結合試験書作成等。

今月も会社の業務と個人のプログラミングで前進できるか挑戦します。

余談にはなりますが、個人開発アプリのメモアプリ「文字数カウントメモ」が人気を伸ばし、35万ダウンロードを突破しました。


青いグラフがiPhone版なのですが、競争が激しいStoreでも人気が下がることがなく伸びています。

細かい改良を重ねて、多くの方に喜ばれるメモアプリへと成長し、ビジネスカテゴリで1位 、2位を争うメモアプリとなりました。

まだ使ったことがない方はどんなアプリか見てもらえると嬉しいです。




ご視聴ありがとうございました。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。

Apple Watch42mmブラックが遂に入荷!使い勝手は!?

Apple Watch42mmブラックタイプを入手しました。


Apple Watch発売日に秋葉原ヨドバシで予約した所、5月20日に入荷されました。

仲間の開発者さんは発売日よりも前に予約し、5月21日に入手できたと話されていたので、ヨドバシは早く入手できるのかもしれません。

いざ、使用してみると従来の時計では得られない利便性をもたらしてくれます。


まず、出勤時や帰宅時。

自転車に乗っているときに急な電話がかかってきても、Apple Watchをつけていれば手を離さずにそのまま話すことができます。

自転車に乗っているので長電話は控えた方が良いと思いますが「自宅で夜ご飯を食べるかに、外食するか」といったことを両手を離さず、画面も見ずに話せます。

周囲の騒音がうるさかったり、周囲にたくさんの人がいる中で話すのは周囲に迷惑をかけることになりますが、そうでない場合はこのような使い方ができると思います。


私は運転をする機会が少ないので、今はまだ使っていませんがApple Watchをつけていれば、運転中に電話が来た時も両手をふさがずに電話できます。

今まではイヤホンマイクなどを使わなければ運転中に電話で話すことができませんでしたが、Apple Watchをつけていればそれらの煩わしさも解決されます。

電話が来た時にイヤホンマイクを使うということは一旦イヤホンマイクを探して耳につけて話すという手間がかかり、その間の運転は危険です。

特に運送会社で働いている方にお勧めできます。


あと便利だと思う機能はこれです。
時計をカスタマイズして、天気を画面に表示するようにしておきます。


赤く囲んだ天気の枠をタップすると10日間の天気予報が閲覧できます。
下にスクロールするだけで一気に天気予報を確認できます。


便利ですよね。Apple Watchの価格設定は高いと言われていますが、これらの技術などが組み込まれていることと、今後の発展性を考えると必要十分だと思います。

Apple Watchに限った話ではありませんが、商品が作られるまでには多くの時間とコストを使います。

従来の時計では、商品が完成するとその商品の機能の進化はそこでストップしていました。

ですが、Apple Watchの場合はベース部分をAppleが作ったら、あとはデベロッパーがこぞって開発をしていきます。

そういった中で、必要なものは生き残り、そうでないものは廃れていきます。
デベロッパーたちが多くの時間をApple Watchに費やします。

そして、競争を勝ち残ったアプリだけが残っていきます。

Appleの従業員だけでなく、デベロッパーたちが費やす時間を考えると従来の商品では考えられない価格帯になるのではないでしょうか。

表面的な部分だけでなく、商品の裏側に隠されている付加価値を考えるとApple Watchの価格は高いとは一概に言えません。

Apple Watchのご購入を検討されている方の参考になれば幸いです。

ご訪問ありがとうございました。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。

 今後ともよろしくお願いします。








アプリを会社で作る事と個人で作る事のメリット

皆さん、こんばんは。

今日はアプリを会社で作る事と個人で作る事のメリットをお伝えしたいと思います。


会社でアプリを作る事のメリット
・働いた分だけ収入を得られる
・社会保険や厚生年金に加入できる
・他のメンバーの技術や考え方を吸収できる
・社会的な信用を得られる(ローンなどが組みやすくなる)

個人でアプリを作る事のメリット
・プログラム資産が全て自分に残る
・やりたいことを全て自分が選べる
・一人で黙々と作業できる
・通勤時間に時間を割く必要がない

このような違いがあります。

これらを踏まえた上で、自分で働き方を選んでいく必要があります。

今の時代、常にアンテナを張っていないと時代に取り残される可能性があります。



ルーチンワークを好み、新しい技術を身につけるのが面倒な人にはアプリ開発は向きませんが、新しい事に挑戦することに抵抗がない方はアプリ開発をすることに向いています。

私はこれらを踏まえて、会社と個人の両方でアプリを作っています。

また、会社を選ぶ時も100%自社開発、通勤が楽という条件を絶対条件としました。

こうすることで、個人でアプリを作る事と会社でアプリを作る事の両方のメリットを得られるようになります。

勿論、個人で収入を得ることを会社が認めてくれなければ、このような働き方をすることはできません。

だからこそ、会社を選ぶときは個人でアプリを作ることに賛成してくれるような会社を選ぶ必要もでてきます。

個人でアプリを作ることで技術が磨かれ、会社のアプリ開発でもその技術を生かして効率よく仕事をすることができます。

私はアプリを作るときに個人のアプリは一気に稼ぐのではなく、安定して収入を得られるビジネスモデルを考えるようにしています。

アンインストールされるようなアプリを作ってしまうとこれらの計画が成り立たなくなります。

収入が少なくても利用者から喜ばれるようなサービスを提供することが重要になってきます。

このような考え方で個人のアプリを作り続けてきた結果、今では日々のインプレッション数が10万PVを切る事がなくなりました。

無料の広告収益で言うと日々1500円〜3800円になります。

また、最近では企業様から個人宛にアプリ開発依頼のご連絡を頂けるようになりました。

ここまでくるにはそれなりに時間がかかりました。

出社前も個人のアプリを作り、休日も個人のアプリを作るといった感じです。

工数を考えると会社で得られる収入の方が圧倒的に大きいです。

とは言え、個人のアプリ開発をしなくなれば会社の収入が全てになります。

そうなってくると、会社に依存することのデメリットが生じます。

例えば、世の中の変化により会社の業績が悪化した際や技術の変化でニーズがなくなったときに収入を得られなくなる生活に一変します。

このようなリスクを避ける為には、技術者は将来を見据えた行動をしていかなければなりません。また、そのような選択肢ができる会社を選択する必要があります。

特に日本ではプログラマー(開発者)よりも営業寄りのシステムエンジニアの方が一般的に収入が多い為、プログラミングを続けていきたい方は自分で稼げる能力を養う必要があります。

勉強・行動の繰り返しが成功することへの近道だと信じて突き進むと必ず道は開けると思います。

日本の技術者が良い地位を築いていきやすい社会になると良いですね。

ご訪問ありがとうございました。
日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。









iTunes Connectに新しく追加されたAppアナリティクスが超便利

みなさん、おはようございます。

今朝、起きてitunes Connectを開くとアプリ分析「Appアナリティクス」が追加されていました!

最近のAppleの進化スピードはとてつもないです。


Appアナリティクスを開くと、アプリの利用頻度がすぐにわかります。


アプリのタイトルリンクをクリックすると細かいレポートがグラフで確認できます。


さらに下にスクロールすると地域や端末ごとのレポートも確認できます。




特に分析ツールのライブラリは導入していません。
何も意識することなく、誰でも簡単にアプリ分析ができます。

日々進化していくAppleを見ていると本当にアプリ開発が楽しくなります。

Appleはユーザーを虜にするだけでなく、開発者まで虜にします。
こういった姿勢があるからこそ、開発者はAppleの将来に可能性を感じます。

この機能の追加は開発者にとって本当に嬉しい機能です。
これでまたAppleは開発者の心を掴んでしまいますね。

あまりの素晴らしさに関心してしまいました。

開発者のみなさんにおすすめのitunes Connect新機能のご紹介でした。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。





Apple Watchを使ってみました

みなさん、こんばんは。

会社のApple Watchを借りることができたので、少しだけApple Watchを触ってみました。


Apple Watchを自分の方に傾けるとこのような画面が表示されます。

従来の時計では時間しか把握することができず、日々の生活に必要なこれらの情報を入手することができませんでした。

Apple Watchを使うと時間・天気・日付など、日々の生活に欠かせない情報を素早く入手することができます。

さらにストップウォッチをタップするとすぐにストップウォッチを起動できます。


ストップウォッチ起動


タイマーの起動も同様です。


タイマー起動

1画面で様々な情報を入手できるだけでなく、必要に応じてすぐに必要な情報を入手できるので便利ですよね。

クロノグラフの方が見栄えは良いのですが、私的にはパッと見るだけで瞬時に必要な情報を入手できる、この「モジューラ」が使いやすいと感じました。

オシャレな高級時計と比較すれば、格好良さは劣るかもしれませんが、カスタマイズ性や拡張性を考慮するとApple Watchは優れものです。

価格設定が高いと言われていますが、個人的には従来の時計と比べてできることに限りがない為、一概には高いと言えないと感じています。

今はまだApple Watch対応アプリが少ない為、物足りなさを感じる部分があるかもしれませんが、これからどんどん進化していくと思います。

ITリテラシーが高い人はApple Watchを購入し、Apple Watchアプリの開発を進めています。

たくさんのデベロッパーたちがApple Watchを購入しているということはこれからどんどんApple Watch対応アプリが公開されるという前触れでもあります。

もちろん、私も個人でApple Watchを予約しました。

Apple Watchに関しては賛否両論ありますが、それはApple Watchに限った話ではありません。

今ではだれでも当たり前のように使っている世の中の多くの革新的なサービスには常に反対意見が飛び交っていました。

今後どうなるかを予想することは困難なので、様々な意見が飛び交う理由もわかります。

でも、未知の世界に足を踏み入れることは単純に面白いですよね。

子供は深いことを考えずに興味本位でiPhoneやiPadを触ったりします。

議論を行う余地もなく、好奇心で新しい物事に興味をもつ為、すぐに使えるようになります。

大人になっても子供のような好奇心を持ち続けていきたい。

そんな思いがある人にApple Watchはオススメです!

ご訪問ありがとうございました。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。






広告会社のnendが低迷。admobへ切り替えた所、CTRやeCPMが回復。

私は今まで広告会社はnend一本に絞ってきました。

しかし、nendは以前と比べて広告の種類が激減し、さらに単価も低下。

1アプリにつき、常に1つの広告しか表示されないときもあります。

1年前と現在を比較すると

[1年前] 2014/05/11 (日)
インプレッション数:4,354
広告クリック数:30
CTR:0.689%
eCPM:¥112.79
報酬額:¥491.10

[現在] 2015/04/26 (日)
インプレッション数:98,559
広告クリック数:210
CTR:0.213%
eCPM:¥19.81
報酬額:¥1,952.82

同じ曜日(日曜日)で比較してみました。

1年前は広告が1000回表示された場合、112円近くの収益が見込めたのですが、今では19円程しか収益が見込まない流れとなっています。

広告が1000回表示されるようになるまでのアプリ開発の工数を考えると19円は厳しいですよね。

グラフでみると一目歴然です。

CTR

eCPM

インプレッション


アプリの本数とユーザー数が増えてきている為、インプレッションは上がっているのですが、nendの低迷によりCTRやeCPMが低下。

少しづつメディアをadmobに切り替えています。

admobを使ってみた所、広告の種類が一気に増えました。

さらにadmobではメディエーションを行うことができます。

メディエーションを行うとadmobの中に複数の広告メディアを入れられることができます。nendも入れられます。

admobでメディエーションを行うと広告の種類を増やせるだけでなく、メディアの状況の変化に合わせて最適なメディアを選定することもできます。

最適なメディアの選定は手動で行うこともできますし、自動で行うこともできます。

そして、海外向けの広告なども用意されているので、広告を選定するときに予めadmobにしておけば、アプリを海外向けに発信する際の手間もかかりません。

admobに切り替えただけで、CTR・eCPM・クリック単価全てが上がりました。

リスク分散もできるのでadmobはオススメです。

ご訪問ありがとうございました。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。



Macで効率良く作業を行うには「5ボタンマウス」

GWも今日で最後となりましたね。

今回の記事はマウスで作業効率化を図る方法についてです。

今までいろんなマウスを使ってきましたが、私の中では5ボタンマウスがフィットします。

戻るボタン、進むボタン、デスクトップを表示するボタン、ダブルクリック用のボタンなど1つのマウス上で様々なアクションが実行できるのでとても便利です。

では、macで5ボタンマウスを有効化する方法をお伝えします。

少し手間がかかるのですが、以下の手順を踏むことでホイールを押したときに「デスクトップを表示する」といった動きを付け加えることができます。

1.macのマウス(Apple Mouse MB112J/B)を差し込みます。


2.アップルメニューの[システム環境設定]をクリックします


3.システム環境設定の[マウス]をクリックします


4.スクロールボールのボタンアクションに[デスクトップ]を設定します


こうしておくことで、他のマウスを差し込んだときもスクロールボールを押したときにデスクトップを表示することができるようになります。

もともとはmacのマウスを使っていたのですが、ホイールの感度が悪くなったりするのが難点だったので、今はこのマウスを使っています。


SANWA SUPPLYのMA-125HBK
価格は1500円程ですが、高機能です。

スクロールボールの隣にあるボタンを1クリックするだけでダブルクリックをしてくれます。

フォルダを開くといったアクションも1クリックでできる優れものです。

有線ハイパーLEDマウスなので、マウスを動かすときの感度も素晴らしいです。

ただ、macのマウスは通常5ボタンマウスを許容していない為、戻るボタンと進むボタンを押しても動作しません。



そこで登場するのが無料のマウスアシスタントアプリ「Karabiner」

以下の手順に沿って、サイドボタンも使えるようにします。

1.下記サイトからKarabinerをインストールします。


2.アプリ起動後、「Misc & Uninstall」タブをクリックし、「Open Private.xml」ボタンをクリックします。


3.クリックしたときに表示されるxmlファイルをクリックして開きます。


4.xmlファイルの内容を以下内容に書き換えます。

<?xml version="1.0"?>
<root>
    <list>
        <item>
            <name>MouseButton 4 and 5</name>
            <identifier>remap.mouse_button4_5</identifier>
            <autogen>
                --PointingButtonToKey-- PointingButton::BUTTON4,
                KeyCode::JIS_BRACKET_LEFT, ModifierFlag::COMMAND_L
            </autogen>
            <autogen>
                --PointingButtonToKey-- PointingButton::BUTTON5,
                KeyCode::JIS_BRACKET_RIGHT, ModifierFlag::COMMAND_L
            </autogen>
        </item>
    </list>
</root>

5.xmlファイルの変更後、Karabinerの「Change Key」タブをクリックし、「MouseButton 4 and 5」にチェックを入れます。

これで完成です!

こうすることで低価格・高性能・実用的なマウスが完成します。

デスクトップの表示、戻る・進む・ダブルクリックを1つのマウス上でできるので作業効率が高まります。

Karabinerの設定方法については以下の記事を参考にさせていただきました。

Macで5ボタンマウスを使いたい!

ご訪問ありがとうございました。

日々、プログラムを書いたり・Twitterで出来事を発信したりしています。

Twitterのフォロワーも募集中です。


 今後ともよろしくお願いします。