2012-02-20 3 views
10

Android搭載端末には、サーバが特定できる静的IPアドレスが1つありますか?私のゲームがログインを必要とせずにデータを保存することを可能にするsim疑問に思っています。Android搭載端末には静的IPアドレスがありますか?

+0

私はIPについて知りませんが、一意のMACアドレスが必要です。 –

+0

ユーザーがデバイスを交換またはアップグレードし、バックアップまたはSDカードからデータをリストアするときの処理を考慮します。その新しいデバイスを同じユーザーからのものと見なすべきでしょうか?もしそうなら、あなたはおそらく、ハードウェアまたはネットワーク構成の属性に縛られたくないでしょう。 –

答えて

13

これは、接続先によってまったく異なります。デフォルトでは、noです。ほとんどのAndroidデバイスは、ワイヤレスネットワーク用にDHCP用に設定されており、データネットワーク上のモバイルデバイスに静的IPアドレスを割り当てるキャリアはわかりません。

6

Android搭載端末は、WiFiと3G(明らかに異なるIPを使用)で接続できます。
3G上のIPアドレスは、再接続するたびに変更されます。

8

他の人が既に回答しているので、モバイルデバイスは一般的に静的IPアドレスを持たず、DHCPを使用して動的IPアドレスを取得します。

しかし、あなたの基本的な質問に答えるには、java.util.UUID classを使用して、そのユーザーの一意のトークンを生成することができます。この生成されたトークンをアプリのSharedPreferencesに保存して、あなたのユーザーを識別することができます:

public static String getDeviceUuid(Context context) { 
    final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); 

    // Attempt to get an existing device uuid 
    String uuid = preferences.getString("device_uuid_key", ""); 
    if (TextUtils.isEmpty(uuid)) { 
     // We don't have a device id, generate one! 
     uuid = UUID.randomUUID().toString(); 

     // Persist the new id to shared preferences 
     final Editor editor = preferences.edit(); 
     editor.putString("device_uuid_key", uuid); 
     editor.commit(); 
    } 
    return uuid; 
} 
+0

デバイスの変更はどうですか?トークンを変更しないでください – simonmorley

+0

はい、トークンが変更されます。また、アプリをアンインストールしてから再インストールすると、新しいトークンが取得されます。これらの変更を経てそれらを識別したい場合は、最終的にトークンをユーザーアカウント(電子メールアドレスまたはユーザー名)に関連付ける必要があります。こうすることで、アプリを再インストールしたりデバイスを変更したりしたときにアカウントにログインできます。 – twaddington

関連する問題