Android端末ごとのユニークIDについて

8,534 views
Skip to first unread message

sinya

unread,
Jul 9, 2013, 6:54:02 AM7/9/13
to android-g...@googlegroups.com
サーバ通信を行い、端末のハード情報をwebで管理を行うAndroidアプリの作成を考えています。

このとき、端末の識別するユニークIDの取得方法で悩んでいます。
始めは、ANDROID_IDなどが使えないだろうかと考えていましたが、特定機種で重複が発生するとの事例がありあきらめました。

このような端末識別のユニークIDの作成方法をご存知の方がいましたら教えていただければ幸いです。

こちらのサイトのようにUUIDを作成する方法も考えましたが、ID作成に時間を使用しているため
端末初期化などの後、UUIDが変わってしまいます。 

可能であれば、端末の固定情報で識別できればうれしいです。

Hirokazu Fukami

unread,
Jul 9, 2013, 7:00:30 AM7/9/13
to android-g...@googlegroups.com
こんばんはfkmです。

まず、質問させてください。
このアプリは、GooglePlayで公開するのでしょうか?
それとも、社内や一定のグループ内だけで使うアプリでしょうか?



2013/7/9 sinya <minadu...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>



--
-------------------------------------------------------------
深見 浩和(Hirokazu Fukami)

URI:http://www.fkmsoft.jp
email: f...@fkmsoft.jp

ごりぽん

unread,
Jul 9, 2013, 7:54:18 AM7/9/13
to android-g...@googlegroups.com
MACアドレスを使ってみるとか。
取得の方法は以下のページに記載があります。(ただしチェックしていないので動作するかどうかは不明)

http://www.mori-soft.com/index.php?option=com_content&view=article&id=147:android-mac&catid=7:smartphone&Itemid=14

ごりぽん


2013年7月9日火曜日 19時54分02秒 UTC+9 masa:

masa

unread,
Jul 9, 2013, 9:14:31 PM7/9/13
to android-g...@googlegroups.com
返信ありがとうございます。
両方で考えています。
将来的な展開はまだ考え中ですが、まずは社内グループ向けに展開、その後反応を見てGooglePlayへの登録を行うかもしれません。
社内向け(野良アプリ)とGooglePlayでの展開でユニークIDの使い方で気をつける必要はあるのでしょうか?



2013年7月9日火曜日 20時00分30秒 UTC+9 fkm:
こんばんはfkmです。

まず、質問させてください。
このアプリは、GooglePlayで公開するのでしょうか?
それとも、社内や一定のグループ内だけで使うアプリでしょうか?



2013/7/9 sinya <minadu...@gmail.com>:
> サーバ通信を行い、端末のハード情報をwebで管理を行うAndroidアプリの作成を考えています。
>
> このとき、端末の識別するユニークIDの取得方法で悩んでいます。
> 始めは、ANDROID_IDなどが使えないだろうかと考えていましたが、特定機種で重複が発生するとの事例がありあきらめました。
>
> このような端末識別のユニークIDの作成方法をご存知の方がいましたら教えていただければ幸いです。
>
> http://android-developers.blogspot.jp/2011/03/identifying-app-installations.html
> こちらのサイトのようにUUIDを作成する方法も考えましたが、ID作成に時間を使用しているため
> 端末初期化などの後、UUIDが変わってしまいます。
>
> 可能であれば、端末の固定情報で識別できればうれしいです。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

中山雄介

unread,
Jul 9, 2013, 9:20:34 PM7/9/13
to android-g...@googlegroups.com
単純にUUIDを端末内で保存しておいて初回起動時に生成、二回目以降は保存したUUIDを使用する、というのではダメなんですか?
それと、UUID以外にも紐付けられるデータを保存、UUIDが異なる場合はそのデータを用いて紐づける、とか。

端末初期化、アプリデータ削除、アプリのリインストールを行った方向けのシーケンスを準備するのがスマートな気もします。

2013年7月10日水曜日 masa minadu...@gmail.com:
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

masa

unread,
Jul 9, 2013, 9:23:17 PM7/9/13
to android-g...@googlegroups.com
>>ごりぽんさん
 
返信ありがとうございます。
個人的にもMACアドレスが良いと思いました。PCのようにnicカードの差し替えなどでアドレスが変わる可能性もほとんどないと思います。
ただ、以前エミュレータ上からMAC取得を行ったときに取得できなかった記憶があります。実機ではほぼありえないと思いますが・・・・
念のため2つのユニーク値、MACアドレス + ANDROID_ID の連結文字列のMD5を使うなど、もう少し考えてみようと思います。


Hirokazu Fukami

unread,
Jul 9, 2013, 10:05:17 PM7/9/13
to android-g...@googlegroups.com
こんにちはfkmです。

社内用であれば、端末識別用のIDを発行するサーバーを用意して、
端末使用者にログインのような操作を行ってもらうのではだめなのでしょうか?

GooglePlayなどで公開するとなると、端末固定のIDは個人情報にあたるため、
使用すると、まず間違いなく炎上します。
わかりやすいまとめ記事があったので共有しておきます。
http://blog.livedoor.jp/haruyama_seigo/archives/51828951.html

それでも、端末固有IDを使用するのは、なぜでしょうか?


2013/7/10 masa <minadu...@gmail.com>:
> 返信ありがとうございます。
> 両方で考えています。
> 将来的な展開はまだ考え中ですが、まずは社内グループ向けに展開、その後反応を見てGooglePlayへの登録を行うかもしれません。
> 社内向け(野良アプリ)とGooglePlayでの展開でユニークIDの使い方で気をつける必要はあるのでしょうか?
>
>
>
> 2013年7月9日火曜日 20時00分30秒 UTC+9 fkm:
>>
>> こんばんはfkmです。
>>
>> まず、質問させてください。
>> このアプリは、GooglePlayで公開するのでしょうか?
>> それとも、社内や一定のグループ内だけで使うアプリでしょうか?
>>
>>
>>
>> 2013/7/9 sinya <minadu...@gmail.com>:
>> > サーバ通信を行い、端末のハード情報をwebで管理を行うAndroidアプリの作成を考えています。
>> >
>> > このとき、端末の識別するユニークIDの取得方法で悩んでいます。
>> > 始めは、ANDROID_IDなどが使えないだろうかと考えていましたが、特定機種で重複が発生するとの事例がありあきらめました。
>> >
>> > このような端末識別のユニークIDの作成方法をご存知の方がいましたら教えていただければ幸いです。
>> >
>> >
>> > http://android-developers.blogspot.jp/2011/03/identifying-app-installations.html
>> > こちらのサイトのようにUUIDを作成する方法も考えましたが、ID作成に時間を使用しているため
>> > 端末初期化などの後、UUIDが変わってしまいます。
>> >
>> > 可能であれば、端末の固定情報で識別できればうれしいです。
>> >
>> > --
>> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> >
>> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> >
>>
>>
>>
>> --
>> -------------------------------------------------------------
>> 深見 浩和(Hirokazu Fukami)
>>
>> URI:http://www.fkmsoft.jp
>> email: f...@fkmsoft.jp
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

masa

unread,
Jul 9, 2013, 11:18:28 PM7/9/13
to android-g...@googlegroups.com
サーバ側の仕様でクライアント側でユニークIDを作成する必要があります。
もうしわけありませんが詳細は言えませんが、既存のWindowsPC版の中央管理システム(ハード情報)と連結を考えておます。既存サービスはクライアント(WindowsPC)側でユニークIDを作成しています。
また、情報閲覧者は別のアカウント、パスワードのログインでグループ内の端末情報だけを見ることができます(このユニークIDを認証で使うことはありません)


このユニークIDはサーバ側で端末(PC)識別を行うためだけに使用します。直接ユーザにIDが表示されることはありません。
たとえば、A端末、メモリーXXXXMb、電池容量XX%、起動時間XX時間 などなど


UUIDを使用したくないのは、端末のシステム初期化を行ったときに異なるIDが生成されるため、サーバ上で別端末として認識されるのを回避したいためです。
最悪はこの条件を仕様にしてUUIDを使うのもありかと思います。

長文で申し訳ありませんが、
このような、使用でも個人情報の問題に該当するのでしょうか?



2013年7月10日水曜日 11時05分17秒 UTC+9 fkm:
>> > このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> >
>>
>>
>>
>> --
>> -------------------------------------------------------------
>> 深見 浩和(Hirokazu Fukami)
>>
>> URI:http://www.fkmsoft.jp
>> email: f...@fkmsoft.jp
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

masa

unread,
Jul 9, 2013, 11:24:17 PM7/9/13
to android-g...@googlegroups.com
ありがとうございます。

通常使用時では問題ありませんが、端末初期化時に別 IDが生成されるのが少し心配です。既存のサービスに連結をさせるため端末初期化を行ったときのための特別シーケンスをサーバ側に埋め込むのは少し難しいと思います。 その特別処理を追加するなら、初期化時にIDが再生成されることを仕様として逃げます。
MACアドレス + ANDROID_ID のMD5か、UUIDを使うべきか悩んできました・・・・・・



2013年7月10日水曜日 10時20分34秒 UTC+9 信竹:


2013年7月9日火曜日 20時00分30秒 UTC+9 fkm:
> このグループに投稿するには、android-group-jap...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>



--
-------------------------------------------------------------
深見 浩和(Hirokazu Fukami)

URI:http://www.fkmsoft.jp
email: f...@fkmsoft.jp

Hirokazu Fukami

unread,
Jul 10, 2013, 12:05:49 AM7/10/13
to android-g...@googlegroups.com
こんにちはfkmです。

PCの世界でも、Intelがプロッセッサ・シリアル・ナンバ取得命令を提供し、
すぐにプライバシーの懸念から提供をやめた という事例があります。
http://ja.wikipedia.org/wiki/CPUID

端末固有IDは、使い方の問題というより、「集める行為」そのものが問題となることが多いです。
端末固有IDを用いることで、他の端末固有IDを収集しているアプリと「突き合わせ」をやることで、
端末を所有している人をある程度特定できてしまいます。
(クライアント側でハッシュ化しても同じです。突き合わせ側も同じハッシュ関数を使えば分かるので)

「端末固有IDを外部に漏らさなければいいじゃん」と感じるかもですが、
個人情報保護法に従った管理が必要とfkmは考えます。
(http://ja.wikipedia.org/wiki/%E5%80%8B%E4%BA%BA%E6%83%85%E5%A0%B1%E3%81%AE%E4%BF%9D%E8%AD%B7%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%B3%95%E5%BE%8B)






2013/7/10 masa <minadu...@gmail.com>:
>> >> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> >> > にメールを送信します。
>> >> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> >> > http://groups.google.com/group/android-group-japan
>> >> > からこのグループにアクセスしてください。
>> >> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> -------------------------------------------------------------
>> >> 深見 浩和(Hirokazu Fukami)
>> >>
>> >> URI:http://www.fkmsoft.jp
>> >> email: f...@fkmsoft.jp
>> >
>> > --
>> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
>> >
>> > このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
>> > にメールを送信します。
>> > このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
>> > http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
>> > その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>> >
>> >
>>
>>
>>
>> --
>> -------------------------------------------------------------
>> 深見 浩和(Hirokazu Fukami)
>>
>> URI:http://www.fkmsoft.jp
>> email: f...@fkmsoft.jp
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

masa

unread,
Jul 10, 2013, 12:35:04 AM7/10/13
to android-g...@googlegroups.com
ご親切に教えていただきありがとうございます。
使い方よりモラルという考え方ですね。ためになりました。

ユニークIDですがサーバ側で動的に作成できない以上、UUIDの使用を優先的に考えていきたいと思います。

kacodama

unread,
Jul 10, 2013, 2:03:29 AM7/10/13
to android-g...@googlegroups.com
Android2.x/3.x系までは、実機のMACアドレスは、「電源投入後に」「一度もWifiをONにしていない」と、取れませんでした。
(4.x系は未確認)
WifiManagerあたりの初期化がそのタイミングでしか走らないんでしょうね。
当たり間えっちゃ当たり前ですが。

以上参考までに。

2013年7月10日水曜日 10時23分17秒 UTC+9 masa:

masa

unread,
Jul 10, 2013, 2:19:08 AM7/10/13
to android-g...@googlegroups.com
知りませんでした・・・・
これは、覚えていたほうがよいですね。 ためになる情報ありがとうございます。



2013年7月10日水曜日 15時03分29秒 UTC+9 kacodama:

中山雄介

unread,
Jul 10, 2013, 2:18:43 AM7/10/13
to android-group-japan
追加で例を挙げさせていただくと、iOSでも5月頭からUDIDの取得を行っているアプリのAppStoreへの申請が禁止され、
UDIDIを取得するメソッド自体、iOS7からドロップされていますね。



2013年7月10日 15:03 kacodama <le.s....@gmail.com>:
Reply all
Reply to author
Forward
0 new messages