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

AdMarvelという広告系のSDKが位置情報まで送っているみたいな件

android

どうもインストールしていたShazam絡みで動いているみたいなんだけども、logcat見ているとたまに以下のようなエラーを吐いている(UNIQUE_ID以降とGEOLOCATION以降は一部値を変えてます)。

E/admarvel( 1299): postString: &site_id=14488&partner_id=ef8a30b841b36346&timeout=5000&version=1.5&
language=java&format=android&sdk_version=2.1.9.1&
sdk_version_date=2011-11-30&sdk_supported=_admob&device_model=IS06&device_name=FRG83&
device_systemversion=2.2.1&retrynum=0&excluded_banners=&device_orientation=landscape&device_connectivity=wifi&resolution_width=800&max_image_width=800&resolution_height=480&max_image_height=480&
device_os=Android&adtype=banner&target_params=UNIQUE_ID%3D%3Ef3cb6270eb3eb6ac%7C%7Cappv%3D%3ES%7C%7C
GEOLOCATION%3D%3E35.97797994444445%252C139.99682984444444%7C%7Cco%3D%3EJP%7C%7C
screenorient%3D%3El%7C%7Cappvn%3D%3E3.8.2%7C%7Cosv%3D%3E2.2.1%7C%7Cla%3D%3Een%7C%7C
RESPONSE_TYPE%3D%3Exml

明らかにRequestに含めているパラメータっぽいんだけど、このうち以下の部分が位置情報っぽい。

GEOLOCATION%3D%3E35.97797994444445%252C139.99682984444444%7C%7Cco%3D%3EJP%7C%7C

デコードすると、

irb(main):004:0> require 'cgi'; CGI::unescape('GEOLOCATION%3D%3E35.97797994444445%252C139.99682984444444%7C%7Cco%3D%3EJP%7C%7C')
=> "GEOLOCATION=>35.97797994444445%2C139.99682984444444||co=>JP||"

となり%2Cが ',' なので北緯と東経に分けられているみたい。一部の数字を変更するまえの値をGoogle mapでみるとピンポイントで自宅でした。

ちなみにUNIQUE_IDのほうはANDROID_IDだったのだけども、これは端末で一意(まぁ別の問題で一意になりきれていないのが現状だけどそれに近い)なので、まぁそれと合わせて現在位置情報が都度通知されると、いろいろとまずい感じですねぇ。

とりあえず、AdMarvelがひどすぎるのでShazamは消しておこうかと。