Quantcast
Channel: Shiitake's tumblr.
Viewing all articles
Browse latest Browse all 46471

"……結局、どうすればいいんだろう? 私は今、開発を進める上で、非常に困っている。 携帯端末……この..."

$
0
0

……結局、どうすればいいんだろう?

 私は今、開発を進める上で、非常に困っている。
 携帯端末……この android携帯の識別ができないのだ。つまり、この携帯端末固有のIDが、取れない。それが取れないということは、この端末のアプリを利用している ユーザーを特定できない、ということだ。毎回ユーザー入力によるIDとパスワードを打ち込ませるのも手だが、それはあまりに煩雑だ。できることなら、固有 IDで端末を特定したい。

 ……いや、方法はないでもない。
 ネット上で探したら、次のような意見が散らばっていた。

 ・以下のコードにてAndroid端末のANDROID_IDがとれた。
  String deviceId = Settings.Secure.getString(this.getContentResolver(), Settings.System.ANDROID_ID);

 ・WEBからスマートフォン関係は個体識別番号の取得ができないが、
  アプリになるとAndroid IDやMACアドレスを取得できるみたい。

  ・Androidの個体識別番号の取得には、「ANDROID_ID(Marketで使われるID)を取得する方法」と「SIMから取得する方法」の2通 りがあるけど、SIMなしWi-Fi運用してる人も多そうだから、特に理由がなければ後者は使わない方がいいような気もする。

 ・どうやらこのANDROID_IDというやつは、Android Marketにアクセスしないと作成されないらしい。
  Webstationのように、Android Marketにアクセスできない機種では使えない。

 ・AndroidアプリからANDROID_ID(Androidの固有識別情報)が取れた。SIMのシリアルNoも取れた。ただこのANDROID_IDってROOT権限取れたら書き換えられるって情報もあった。大丈夫なのか?

 ……これはイジメか?
 それとも、Googleの設計ミスか?

 まとめると、この端末を特定するのに使えそうなIDは2種類存在する。
 ”ANDROID_ID”と、”SIM(SIMカード、電話番号を特定するのに必要)”だ。
 しかし、まず後者については、スマートフォンを電話機として使わない人がいるので、具体的には SIMカードを差さずにアプリだけ使おうとする人がいるので、これに依存するわけにはいかない。
  では前者、ANDROID_IDを使えばいいのだが、これには2つ問題がある。一つは、ユーザーが、Android Marketにアクセスしていないと生成されない、という点。これは何とかなるとしても、もっと深刻な問題がもう一つ。”ROOT権限取れたら書き換えら れる”としたら、ユーザーは自分の端末固有のIDを”詐称できる”、言い換えれば、ANDROID_IDはユニークであることを保証できない。

 どうしよう……。



- -復路- : 私は誰? …… androidアプリ実装編

Viewing all articles
Browse latest Browse all 46471

Trending Articles