2011-07-17 5 views
1

나는 일정 기간 동안 자유롭게 사용할 수있는 Android 앱을 개발 중입니다. 무료 사용 단계가 끝나면 사용자는 앱을 더 사용할 수 있도록 등록하고 비용을 지불해야합니다.앱 사용자를 식별하여 다른 사람 인척 할 수없는 사람

아니요. 사용자가 단순히 무료 사용 기간을 연장하기 위해 앱을 다시 설치할 수 있으므로 어떻게 보관할 수 있을지 궁금합니다. 따라서 다른 사람이나 새로운 사용자 인 척 할 수없는 방식으로 사용자를 식별 할 수있는 방법이 필요합니다. 동시에 무료 사용 기간이 끝나기 전에 가능한 한 사용자가 등록을해야한다는 것을 피하고 싶습니다.

현재 나는 전화 번호 또는 SIM 카드 ID로 사용자를 식별하는 것에 대해 생각할 것입니다. 아마 새로운 SIM 카드를 사면 무료로 사용할 수있을 것입니다. 이것의 단점은 전화 인 장치에만 국한되므로 모든 WIFI 태블릿은 SIM 카드가 없으므로 앱을 사용할 수 없다는 것입니다.

이 동작을 보관하는 다른 옵션이 있습니까?

답변

0

Android Developers 블로그에서 this post을 읽을 수 있습니다. 그들은 단점이 있지만 안드로이드 ID를 권장합니다.

+0

아니요.그들은 설치를 추적하는 것이 좋습니다. 그러나 어떤 이유로 장치 추적을 시도하는 경우 ANDROID-ID를 사용해야합니다. 이 경우 거의 항상 그렇듯이 설치를 추적하는 것이 좋습니다. – softarn

+0

그래, 게시물 요약이야. 그러나 어떻게 설치를 추적하고 "무료 사용 기간을 연장하기 위해 응용 프로그램을 다시 설치하지 못하도록"합니까? 단일 설치를 사용하는 두 명의 개별 사용자와 위의 작업을 시도하는 한 명의 사용자를 구별해야합니다. 따라서 사용자가 이미 앱을 설치했다는 정보를 얻어야합니다. 아마 어떤 신분증? (나는 잘못된 길을 가고 있을지 모르지만, 뭔가를 배우면 좋겠다.)이 경우에는 도움이되지 않는다. –

+0

나는 눈이 멀쩡하다. 내 하루는 미안하다. :) –

0

당신이 시도 할 수 있습니다 :

import android.provider.Settings.System; 

.. 

String android_id = System.getString(this.getContentResolver(), System.ANDROID_ID); 

을 일부 장치는 분명히 내가 API 문서의 말에 모순 생각이에 대해 동일한 값을 반환하지만. 2 차 수표로 사용하는 것이 유용 할 수 있습니다.

그러나 IMEI 나 전화 번호 등의 개인 정보를 서버에 다시 보내려면주의를 기울여야합니다. 사용자가 합법적으로 방송되는 것에 대해 조금 불안해지기 때문입니다. IMEI의 해시를 항상 수행 할 수 있습니다 (액세스 가능하고 머리 상단을 기억할 수없는 경우). ANDROID_ID에이 값을 추가하여 다소 고유하게 만드는 무언가를 만듭니다. 어쩌면 해시가 할 수 있고 충돌 할 것이므로 유일성을 보장하기 위해이 외에도 다른 세부 사항을 해싱 할 수 있습니다.

+1

이것은 좋은 접근 방법이 아닙니다. 답을 스스로 말하듯이, 실제로 동기를 부여 할 수없는 IMEI를 얻으려면 허가가 필요합니다. 사용자는이를 방해하여 속도를 낮추거나 전혀 다운로드하지 않을 것입니다. 권한을 요청하는 것은 정말로 신중해야합니다! – softarn

+0

이것은 좋은 승인이며 모든 기기에 Android ID가 있으며 고유 한 방식으로 사용자를 식별합니다. 사실 IMEI는 태블릿과 같은 모든 기기에 존재하지 않으므로 사용하지 않는 것이 좋습니다. – Climbatize

+0

"2.2 이전의 Android 릴리스 ("Froyo ")에서는 100 % 신뢰성이 없으며 모든 인스턴스의 ANDROID_ID가 동일한 주요 제조업체의 널리 사용되는 핸드셋에 널리 관찰 된 버그가 하나 이상있었습니다. " http://android-developers.blogspot.com/2011/03/identifying-app-installations.html 또한 Android ID는 사용자를 식별하지 않으며 기기를 식별합니다. – softarn

1

설치를 추적하고 싶습니다. 고유 ID를 가져온 다음 공유 환경 설정을 사용하여 저장하면됩니다. 이것을 SD 카드의 폴더에 넣을 수는 있지만 앱에서 이러한 종류의 동작에 짜증을내는 유일한 사람은 아닌 것 같습니다. SD 카드에 파일을 저장하는 대신 BackupManger를 사용하여 파일을 백업하고 클라우드에 업로드하려고합니다.

당신은 여기 BackupManager에 대한 정보를 찾을 수 있습니다 Data backup

여기에 추적 설치에이 비디오의 짧은 부분을 16:30 분에 : Google I/O 2011: Pro tips

난 정말 당신이 (모든) 추천 많은 신인과 프로의 실수를 통해 비디오를 볼 수 있습니다.

BackupManager에 대해 읽으면 다른 모든 솔루션과 마찬가지로 모든 장치에서 작동하지 않을 것입니다. 나는 이것이 귀하의 큰 관심사가 될 것이라고 생각하지 않습니다. 귀하의 시험 기간이 끝나면 해결할 수있는 소수의 사람들이 될 것이지만 언제나있을 것입니다. 앱을 개발하고 더 나은 앱을 개발하는 데 시간을 투자하십시오.

+0

Mh, 저는 설치를 추적하고 싶지 않습니다. 사용자가 SIM 카드를 다른 전화에 넣고 앱을 다시 설치하고 다시 무료로 사용할 수 있기 때문입니다. – Flo

+0

그렇게하는 사람들은 무시할 수있는 사용자의 극히 일부입니다. 100 %의 사용자를 포함 시키려면 실패 할 것입니다. 블리자드와 DICE는이 일조차 할 수 없습니다. 할 수 있다고 생각하십니까? – softarn

+0

네, 맞아요. 나는 그것에 대해 생각합니다. ;) – Flo