GoogleAnalyticsの仕様変更?2つ目以降のプロパティIDは記録されない

あるサイトにプロパティIDの違う2つのトラッキングコードを埋め込んでたのですが、9月28日から急に片方のログが取れなくなりました。

どうやら1つのサイトに2つのトラッキングコードを設置しても2つ目以降はログを記録しないよう仕様が変わったのかも・・・><

ga('send', 'pageview',{
  'hitCallback': function() {
    console.log("callback");
   }
});

2つ目のトラッキングをJSから飛ばしてみるとcallbackは呼び出されるのですがログは残りません。

訳あって新旧のログを取り分けていたのですが1つにまとめるしかなさそう・・・うーん;

「署名されていないapkファイル」を「GooglePlayに登録する」までの手順

googleplay20141006

外部で開発してもらったapkファイルをGooglePlayにアップロードしようと思ったら弾かれたのでその対処法をメモ。
納品されたapkは署名無しだったのでそのあたりから。環境はWindows7です。

※署名無しのapkは端末側で提供元不明アプリのインストールが許可されていてもインストールできません。

1.証明書(キーストア)を作る
2.apkファイルに署名する
3.zipalignなるものを行う

手順はここに書いてあったものを参考にしました。
http://developer.android.com/intl/ja/tools/publishing/app-signing.html#signing-manually
>>Signing Your App Manually

1.証明書(キーストア)を作る

証明書(.keystoreというファイル)を作るにはjavaのkeytool.exeで行うので、JavaJDKをインストールします。
(以下Pathは通っているものとします)

コマンドラインから

keytool -genkey -v -keystore c:\myapp.keystore -alias myapp -keyalg RSA -keysize 2048 -validity 10000

-alias 部分で入力した myapp(エイリアス名) は後で使うので忘れないように。

コマンドを実行すると何度か入力を求められるので埋めます。

キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名を入力してください。
[Unknown]:myname
組織単位名を入力してください。
[Unknown]:hogehoge-bu fugafuga-ka
組織名を入力してください。
[Unknown]:hogehoge.Inc
都市名または地域名を入力してください。
[Unknown]:sibuyaku
都道府県名を入力してください。
[Unknown]:tokyo
この単位に該当する2文字の国コードを入力してください。
[Unknown]: JP
CN=myname, OU=hogehoge-bu fugafuga-ka, O=hogehoge.Inc, L=sibuyaku, ST
=tokyo, C=JPでよろしいですか。
[いいえ]: はい

ちなみに自分は日本語の環境だったせいか、最後の「yes」の部分を「はい」と入力しループに陥りました。

問題なければ -keystore で指定したキーストアが生成されます。

【重要】このキーストアはアプリをアップデートする際に必要になります。絶対に無くさないようにしましょう。

2.apkファイルに署名する

署名は jarsigner.exe を使います。

jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore myapp.keystore -verbose myapp.apk myapp

一番最後の myapp は keytool の -alias で指定した名前を入力します。

これで apkファイルに署名が行われます(上書き)

3.zipalignなるものを行う

zipalign は AndroidSDK に含まれるのですが、どうやら新しいSDKには入っていない様です。

※zipalign を追加する作業でハマりました。詳しくはこちら

zipalign -v 4 myapp.apk myapp_aligned.apk

これでapkの中身がファイルサイズの小さい順に並べ替えられて誰かが(メモリが?)得をするみたい。

ソフトウェア技術ドキュメントを勝手に翻訳 – zipalign

ストアへの登録も上手くいきました。

zipalignが無いので追加>見つからず>あった

これまでは [AndroidSDK]/tools に zipalign.exe が入っていたようなのですが、最新のSDKには入ってないみたい。

zipalignがなくてビルド出来ないようです。

「手動で追加」とあるもののどう追加すれば書いてなかったので探す。

http://stackoverflow.com/questions/24442213/cannot-find-zip-align-when-publishing-app

In Eclipse → Pull Down Menu → Window → Android SDK Manager, check Android SDK Build-tools Rev. 20, then click the Install n package(s)… button to start installing.

とあるので SDK Manager で SDK Build-tools Rev. 20 をインストール。

AndroidSDK/tools を確認・・・無い → ハマる。

別のバージョンいれたり小一時間ごにょごにょした後、ここ↓に追加るのに気づく(汗)

[AndroidSDK]\build-tools\20.0.0\zipalign.exe
※zipalign は Rev.19.1.0 以降に入ってるみたいです

いっそ [AndroidSDK]/tools に移動しようかなと思ったのですが、

Don’t copy the exe from another directory. Use the SDK Manager to install SDK Build tools v20

自分の理解力だと「コピー(移動)するな」なのか「コピーするならSDKから」なのかわからなかったのでとりあえずそのまま使うことにしました。

chromecast使ってわかった注意点(更新あり)

chromecast今日、chromecastが日本でも発売になったので朝一で有楽町ビックで購入。
使ってみて「ん?」と思った事。

《大事な事》
Miracast等のようにスマホ等の画面をミラーリングするのではなく、「映像だけをTVに映す」ものでした (←ここ勘違いしてた)

※[追記]ウソつきました。
PCのChromeに拡張機能「Google cast」を追加することでブラウザ内の表示を
TVに飛ばすことができました(艦これでテスト。音もでました。)


[2014/7/11更新]
chromeキャストアプリの更新によって、Android端末の画面をミラーリング出来るようになりました。
Nexus5は可、XperiaAは不可。端末によって対応状況が違うようです。


[2014/7/12更新]
こちらの記事に対応機種が書かれてました。

Nexus 4
Nexus 5
Nexus 7 (2013)
Nexus 10
Galaxy S4
Galaxy S4 (Google Play Edition)
Galaxy S5
Galaxy Note 3
Galaxy Note 10
HTC One M7
HTC One M7 (Google Play Edition)
LG G3
LG G2
LG G Pro 2


また「映像をTVに映す」には、chromecastに対応したアプリが必要です。
YouTube
Google Play Movies
dビデオ(※dマーケットではないの注意!後述)
Solod Explorer + plugin

現状、このあたりが Chromecast に対応してます(多分もっとある)
上3つはアプリ内マーケットでで配信してる動画のみキャスト可能。
SolidExplorerは端末内の動画を再生→キャストすることができる。

《準備》
1.開封 → HDMLポートに本体接続&電源供給(USBかAC)
2.スマホにアプリをインストール → 起動
3.Chromecast独自のWi-Fiが展開されているので接続
4.自宅Wi-Fiにchromecastを接続。ちょっとした設定ごにょごにょ

すごく簡単、多分躓きません。

《YOUTUBE》
アプリのYOUTUEを起動して、動画再生中にこのボタンを押すと
「動画だけ」TVに表示されます。
その際、アプリ側では動画の再生は行われません。

《dビデオ》
※注意※
「dビデオアプリ」が自分の端末(SO-O4E)に対応していないため
SO-O4E では chromecast を利用できませんでした。

SO-04Eだとdマーケットアプリかwebベースでしかdビデオに
アクセスできず、どちらもchromecast非対応という始末。
Nexus5が対応していたので、そちらにアプリをインストールし
docomoIDでログインしてキャストしています。

これはchromecastのせいというより、dビデオアプリの対応が
悪いせいなのでドコモが恨めしい・・・。

《Google Play Movies》
GooglePlayで購入したビデオを、プレイヤー上のボタンで
TVにキャストできます。
アプリのメニューに「個人の動画」とありますが、Google Play Movies
はファイルマネージャーを呼び出すだけなので、後述のSolid Explorer
などを使うことになるかと思います。

《Solod Explorer + plugin》
マイルマネージャーの動画再生部分がchromecast対応されていて
端末内の動画ファイルをTVにキャスト出来ました。
※mp4でテスト、再生できない形式もあると思われます

《注意点》
繰返しになりますが今の所こんな感じかと思います。

・画面のミラーではなく、映像だけをTVに映す(PC版ブラウザの画面はキャスト可能)
・対応しているアプリが必要
・dビデオを使いたい人は端末がdビデオアプリに対応しているか確認
・(ついでに)auビデオパスは6月上旬対応予定

SDKも公開されているので今後対応アプリはどんどん増えてくる・・・ハズ?

Nexus7+Kindleアプリで日本語書籍を買いたいのに・・・

【===追記===】
どうやら同じメールアドレスでAmazon.co.jpとAmazon.com
両方にアカウントを作った為、Kindle for androidがcom側を
向いてしまっているようです。

com側に登録されたメールアドレスを変えてみたら、ログインが
出来なくなってしまったので、以下の手順を取ったのですが・・・

・別のメアドで新規アカウント作成

・アカウント設定⇒名前、Eメールアドレス、パスワードを変更する
で、メアドを旧アドレスに変更

メインのアカウントが上書きされて履歴が全部きえました(゚∀゚)ウヒャ!

まぁ履歴とか特に必要じゃないので別にいいのですが・・・
なんだろうこの残念感(=ω= )

とりあえずco.jpとcomの両方で同じメアドを使っている人
色々面倒くさいことになるかなーと思います。
同じ失敗をする人がいませんように・・・
【===追記===】

kindleの価格と魅力にジェラシーを感じつつも、電子書籍のマーケットとしては
大本命な気がするので、Nexus7にkindleアプリを入れて試してみたのですが、
ストアがAmazon.comに向いてしまっていて日本の書籍が買えない・・・

amazon.co.jpのアカウントサービスに「ダウンロード」→「My Kindle」という
メニューがあったので、そこから「居住国設定」を行ってみたのですがやっぱりダメ
(アプリでログアウト→ログインも試した)

アプリメニューの「Amazon.co.jpのお客様ですか?」や「Amazon.co.jpアカウントを
お持ちではありませんか?」は登録画面に進み、そこで自分のアカウントを入力すると
すでに登録済みですと怒られる・・・どうしたらいいんだろう????


アプリのTOPの2のメニューにアクセスすると


どちらも登録を促されるので、今使っているアカウントを入力


怒られる・・・何か勘違いしてるのかな
しょうがないので、ひとまずPCサイトから購入してみようかと・・・

kindleストア