2012-02-20 2 views
10

Android 기기에는 서버가 식별 할 수있는 고정 IP 주소가 하나 있습니까? 내 게임이 로그인을하지 않고도 데이터를 저장할 수있게 해주는 sim이 궁금합니다.Android 기기에는 고정 IP 주소가 있습니까?

+0

고유 한 mac 주소가 있어야합니다. –

+0

사용자가 장치를 교체/업그레이드하고 백업 또는 SD 카드에서 데이터를 복원 할 때 수행 할 작업을 고려하십시오. 새 장치를 동일한 사용자로 간주해야합니까? 그렇다면 하드웨어 또는 네트워크 구성의 속성에 묶이지 않으려 고합니다. –

답변

13

전적으로 연결 대상에 따라 다릅니다. 기본적으로 아니요. 대부분의 Android 기기는 무선 네트워크 용 DHCP로 구성되어 있으며 데이터 네트워크에서 휴대 기기에 정적 IP 주소를 할당하는 통신사를 알지 못합니다.

6

Android 기기는 Wi-Fi와 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

관련 문제