2016-09-14 3 views
0

Android/iOS 앱 사용자를 Google/이메일/Facebook에 가입하지 않고도 식별 할 수있는 방법이 있습니까?Google Play 마켓/앱 스토어 사용자의 고유 식별자

이것을 구현하고 싶습니다. PlayMarket/AppStore에서 사용자 다운로드 앱을 실행하면 앱이 어떻게 든 사용자를 식별하고이 사용자에 대한 데이터를 서버로 보냅니다. "이 사용자에 관한 데이터"는 기타 환경 설정 및 설정처럼 앱에서의 사용자 행동을 기반으로 수집 된 데이터만을 의미합니다. 사용자가 앱을 제거하고 다른 기기에 동일한 Google 계정으로 다시 설치하는 경우 이전에 앱을 사용한 사람으로 올바르게 식별해야합니다. 그/그녀가 디바이스에 구글 계정에 로그인 한 경우

+0

iOS에서는 iCloud에 설정을 저장할 수 있습니다 (iCloud에 로그인 한 경우). 그런 다음 동일한 iCloud 계정을 가진 다른 장치와 동기화됩니다. – Paulw11

답변

1

안드로이드에서 당신은 사용자에게 묻지 않고 이메일 주소를 수집 할 수 있습니다

Account account = getAccount(AccountManager.get(getApplicationContext())); 

    if (account == null) { 
     String accountName = "user did not provide email"; 
    } else { 
     String accountName = account.name; 
    } 

public static Account getAccount(AccountManager accountManager) { 
    Account[] accounts = accountManager.getAccountsByType("com.google"); 
    Account account; 
    if (accounts.length > 0) { 
     account = accounts[0]; 
    } else { 
     account = null; 
    } 
    return account; 
} 

또 다른 방법, 장치 ID를 취할 수 있습니다. 그러나 사용자가 기기를 변경하고 Google 계정에 로그인하지 않으면 필요한 것을 충족시키지 못합니다. 장치 ID를 얻으려면 :

import android.provider.Settings.Secure; 
String deviceId = Secure.getString(getContext().getContentResolver(), 
               Secure.ANDROID_ID); 
+0

인상적 :) 나는 내 데이터를 보호한다고 생각했다. 어떤 사람들이 iOS에서도 같은 작업을 수행 할 것으로 추측합니까? – stkvtflw

+0

불행히도 iOS 개발자가 아닙니다. 하지만 여기서 도움을 얻을 수 있다고 생각합니다. http://stackoverflow.com/questions/4893099/getting-users-default-email-address-in-cocoa –