2013-04-26 3 views
10

Google Play 스토어에 이미 무료 앱이 게시되었습니다.Google Play 인앱 결제로 무료 항목 제공

앱이 내가 생각한 것보다 인기가 많아서 사용하기 전에 일부 기능을 고정시키고 인앱 결제를 요구하기로 결정했습니다. 그러나 기존 사용자 모두 계속 무료로 고급 기능을 즐기는 편이 낫습니다.

그래서, 나는 다음과 같은 생각 :

  • 가되도록 기존 사용자 것 "구매"를 무료로 무료로 인앱 결제와 버전을 업로드합니다.
  • 항목 충전이 일정 시간이 지나면 기존 사용자는 이미 프리미엄 상품을 소유하고 있으므로 은 아플 것입니다.

일부 사용자에게 "무료"항목을 부여 할 수있는 방법이 있습니까? 인앱 결제 문서에는 모든 인앱 결제 항목에 대한 가격이 있어야한다는 문서가 있습니다.

답변

3

Google에서 직접 할 방법이 없습니다. 당신은이 테스트 케이스를 낳게 될 것입니다 : -

  1. 기존 사용자
  2. 새로운 사용자 당신은 당신의 서버에 고유 한 user-id를 저장하고 응용 프로그램에서 인앱을 구현할 때이 사용자 ID를 전송해야 당신의 섬기는 사람.

사례 1 : - 서버가 ID 반환 성공 메시지와 일치하면 서버가 기존 DB와 일치합니다.

사례 2 : - 이 사용자 ID와 함께 새 사용자의 경우 앱에서 구매 토큰을 서버에 보내서 확인한 후 구매를 확인한 후 서버가 성공 메시지를 보내야합니다.

일반적인 작업 : - 응용 프로그램을 시작할 때 restoreTransaction()을 호출해야합니다. google에서 이미 구입 한 항목에 대한 정보가 포함 된 목록을 가져 오면 해당 내용의 잠금이 해제됩니다. 앱에 서버 확인 기능이 구현되어 있는지 확인하십시오. 여기

+0

답장을 보내 주셔서 감사합니다. 고유 한 사용자 ID를 유지하는 것에 대해 생각하지 않았습니다. 좋은 생각입니다! 하지만 앱이 클라이언트 일 뿐이므로 현재 서버 측을 구현할 시간이 없기 때문에 저에게는 유용하지 않습니다. 이 대답은 어떻게해야하는지에 대한 답을 받아들입니다. 나를위한 해결책은 업그레이드하는 사용자에게 비용을 청구하지 않고 다음에 다른 기기에 앱을 설치하면 비용이 청구됩니다. – liovka

+0

사용자가 앱을 업그레이드 할 때 전체 앱이 Google Play에서 다운로드되고 새 앱 설치와 같은 방식으로 기기에 앱을 다시 설치하기 때문에 사용자가 앱을 업그레이드했는지 또는 새로 설치했는지 확인하는 방법은 무엇입니까? – Ankit

+0

나는 당신이 쓴 것을 알고 있습니다. 완전히 새로 설치할 때마다 고객에게 요금을 청구하는 것이 타당한 절충안이라고 생각하지 않습니까? – liovka

2

는 부분적으로 서버를 사용하지 않고, 당신이 원하는 것을 달성 할 수있는 방법입니다 :

  1. 업데이트 된 SharedPreferences에 고유 한 값을 기록하는 새로운 버전의 앱을. 이 값은 장치에 고유 한 ID의 해시이어야합니다 (또는 적어도 다른 장치가 공유하지 않는 ID). 가치가 상대적으로 고유해야하는 이유는 나중에 사용자간에 공유되지 못하게하기 위해서입니다. 재설치를 견뎌내고 싶다면 앱을 설치할 때 제거되지 않는 사용자의 외부 메모리 영역에 다시 작성해야합니다.

  2. 현재 사용자 대부분이 새 버전으로 업데이트 될 수 있도록 충분히 오래 기다립니다. 이 과정에서 새 사용자는 SharedPreferences에서 고유 한 값을 얻습니다.

  3. 릴리스 이 고유 ID를 작성하지 않는, 새로운 버전은 청구하고자하는의 기능을 사용할 수 중 하나 ID가 존재, 또는 사용자가를 통해 지불 한 경우 경우 인앱 결제

이 완벽하지는 않지만 현재의 사용자의 적어도 가장이 기능에 액세스 할 수 계속 허용 할 수 있습니다.

귀하의 Google Play 계약에 위배되는지 여부는 알 수 없으므로 직접 문제를 확인해야합니다. 기존 사용자에게 할아버지가 없다면 현재 사용자에게 무료로 제공하고 일부 기능에 대해 요금을 청구하려는 사실은 허위 진술로 간주 될 수 있습니다. 방금 설명한 내용은 모든 기존 사용자에게 액세스 권한이 부여됩니다.

서버와 통신하기위한 코드가있는 새 버전의 앱을 출시해야하기 때문에 자신의 서버를 사용해야하는 다른 대답에서 제출 된 접근 방식에도 이와 동일한 문제가있는 것으로 보입니다. 현재 사용자가 특정 시간 간격 내에 새로운 버전으로 업데이트하도록 강제 할 수있는 방법이 없습니다. 그렇지 않은 경우 무료 앱 사용자는 일반적으로 개발자가 알지 못하기 때문에 서버 데이터베이스에서 현재 사용자를 식별하는 고유 ID를 어떻게 수집하게됩니까?

클리너 접근 방식은 그들이 더 가치 만들기, 또한 이미 더 귀중한 이전 기능을 사용하여 입력 한 컨텐츠를 제작, 기존의 기능과 밀접하게 통합 새로운 기능을 추가하는 것입니다. 기존 기능을 계속 무료로 제공 할 수는 있지만 새로운 기능에 대해 요금을 청구 할 수 있습니다.

이 방법을 사용하면 현재 사용자가 기능을 사용할 수 없으며 부가 가치 기능에 대해 현재 사용자뿐만 아니라 새로운 사용자에게도 요금을 부과 할 수 있습니다. 이 접근법을 사용하면 사용자에게 더 편할뿐만 아니라 잠재 고객에게 잠재적 인 유료 사용자로 전체 사용자를 부여 할 수 있으므로 잠재적으로 더 많은 보상을받을 수 있습니다.

또한 앱의 현재 인기도가 현재 청구하려는 기능으로 인한 것일 수 있습니다. 따라서 더 이상 무료로 제공되지 않는 새로운 사용자가 계속 유입 될 수 있습니다.

+0

귀하의 철저한 답변을 주셔서 감사합니다 사용하려고합니다. 나는 당신이 제안한 것과 비슷한 것을 할 계획입니다. 1) SharedPreferences를 사용하여 기존 사용자를 (최대한 많이) 추적 할 것입니다. 나는 저장 한 sqlite 데이터베이스의 일부 데이터를 검사하여 사용자가 업데이트했는지 여부를 알 수 있으므로 중간 버전을 릴리스 할 필요가 없습니다. 2) 내가 충전 할 기능에 멋진 기능을 추가 할 것입니다. – liovka

+1

SharedPreferences는 제거시 사라질 것이며 사용자가 여러 장치를 사용하는 경우 나중에 해당 장치에 값을 자동으로 사용할 수 없다는 것을 기억하십시오. 완전히 새로운 기능에 대한 요금 청구는 나에게 가장 깨끗한 접근 방법 인 것처럼 보이지만 앱과 사용자를 훨씬 잘 이해하므로 현재와 미래의 사용자를 구별하는 것이 좋은 방법 일 수 있습니다. 두 명의 사용자 클래스를 계속 구별하면 앞으로 실제로 두통이 생길 수 있습니다. – Carl

+0

또한 로컬 데이터베이스에 작성된 기존 값을 사용하여 grandfathered 사용자와 새 사용자를 구별하는 경우 이미 유효성 검사 프로세스가 마련되어 있지 않으면 이러한 값이 위장 될 가능성이 있습니다 (예 : I 내 대답에 설명 된). – Carl

0

다운로드 수가 많은 앱에는 적합하지 않지만 2016 년 1 월부터 분기당 앱당 최대 500 개의 프로모션 코드를 부여 할 수 있습니다.

관련 문제