2017-11-24 3 views
1

인앱 제품이 포함 된 Android 앱이 있습니다. 사용자는 인앱 제품을 구매하고 앱은 해당 기능을 잠금 해제합니다. 이제 질문이 있습니다. Google 설명서를 읽었을 때 문제에 대한 확실한 답이 아닌 것 같습니다 :인앱 구매를 검색하고 내 앱의 프리미엄 버전을 잠금 해제하는 방법은 무엇입니까?

앱이 시작할 때 사용 가능한 인앱 제품 목록을 검색 한 다음 목록 검색을 계속합니다. 구매 한 인앱 제품 인앱 상품이 사용 가능한 목록에 표시되면 기능을 잠금 해제합니다.

시작시 사용할 수있는 인앱 제품 목록을 확인하는 이유는 무엇입니까?

UI (구매 버튼)에 가격을 써야하기 때문에 다른 국가의 모든 가능한 가격을 하드 코딩하고 싶지 않습니다. 응답에는 사용 가능한 모든 인앱 제품과 가격이 이미 현지화되어 있으므로 매우 편리합니다.

시작시 구매 한 인앱 제품 목록을 확인하는 이유는 무엇입니까?

사용자가 인앱 제품을 구입했는지 확인한 다음 UI의 기능을 잠금 해제했는지 확인하고 싶습니다. Google 문서에 따르면 통화에 인터넷 연결이 필요하지 않으므로 그 이유는 무엇입니까? 방금 현지 Google Play API를 호출 할 때 인앱 JSON 제품을 로컬에 저장하지 않아도됩니까?

이제 내 문제는 사용할 수있는 인앱 제품에 대한 호출과 구입 한 제품에 대한 호출이 실패 할 수 있으며 사실 한 번 실패했습니다. 실패하면 어떻게해야합니까? 기능을 사용 중지 한 상태로 유지하는 것은 사용자가 제품을 분실했다고 생각할 수 있기 때문에 옵션이 아닙니다. 기능을 사용하도록 설정하는 것은 제품 구매를 한 적이없는 사람들에게 기능을 제공 할 수 있기 때문에 가능합니다. 그래서 나는 붙어있다. 재 시도가 충분합니까? 여기서 가장 좋은 연습은 무엇입니까?

답변

0

내가 알고있는 것처럼 :

사용자 앱의 프리미엄 버전을 사용할 응용 프로그램 내 제품을 구입. 일단 구입하면 기능을 사용하려면 더 이상 구매할 필요가 없습니다. 그래서 그것은 일회성 구매입니다. 당신은 항상 구글 API를 사용하여 응용 프로그램의 시작 부분에 프리미엄 기능의 상태를 얻으려고 순간

:

문제를 해결.

다음과 같이 할 수도 있습니다. 사용자가 프리미엄 기능을 구입 한 경우 이것을 SharedPreference로 저장하십시오. 예 : premiumVersion = true

사용자가 돌아가서 앱이 시작될 때마다 먼저 실패 할 가능성이 거의 없으므로 SharedPreference를 확인할 수 있습니다 (인터넷 연결이 필요하지 않음 등). premiumVersion == true 인 경우 Google API에 현재 상태를 묻지 마십시오. premiumVersion == false 인 경우에만 Google API를 사용하십시오. 이 경우 이전 시도가 실패했거나 사용자에게 프리미엄 기능이 없습니다.

사이드 노트 : premiumVersion == true 인 경우 false로 오버라이드하지 않도록하십시오!가격을 표시하기 위해

는 :

아무것도 귀하의 제품을 검색 할 때 잘못되면, 뭔가가 잘못된 메시지와 함께 사용자에게 오류 메시지가 메시지를 표시하고 그는 그것을 다시 시도해야합니다.

+0

좋아하지만 내 로컬 SQLite 데이터베이스에 플래그를 저장하는 것은 정말로 나쁜 생각입니다. 앱을 잠금 해제하는 것이 정말 쉽습니다. 3 번 반복해서 자동으로 다시 시도하고 3 번 오류가 발생하면 포기하고 오류 메시지를 표시하는 것은 어떨까요? –

+0

내가 말했듯이 Sqlite 데이터베이스가 아닌 SharedPreferences를 사용할 수 있습니다. SharedPreferences를 보호 할 수 있으므로 조작 할 수 없습니다. [이 대답은 여기를 참조하십시오] (https://stackoverflow.com/a/27756458/2734302) 물론 재시도 시스템을 구현하고 사용자에게 문제가 발생했음을 알릴 수 있습니다. – Al0x

+0

내가 아래 답변을 firebase 사용할 수 있습니까? –

0

당신은 단순히 화재 기반 로그인을 사용할 수있는 필드 & 실시간 데이터베이스 premium_enabled - 현명한

단계

참/거짓이 (사용자가 플레이 스토어에 대한 기존 Google ID로 다른 모바일 간다면이 도움이 될 것입니다)
  1. 앱에 Google 로그인을 추가하십시오.
  2. 화재 기반 user_id/email_id 및 premium_enabled 필드에 사용자를 입력하고 데이터를 저장합니다. 사용자가 항목 이 premium_enabled 수 있도록보다 구입 한 경우

    을 (당신은 당신의 요구 사항에 따라 필드를 추가 할 수 있습니다) - 오프라인 확인을 위해 진정한 & 또한 공유 사용하십시오 선호도를

관련 문제