인앱 제품이 포함 된 Android 앱이 있습니다. 사용자는 인앱 제품을 구매하고 앱은 해당 기능을 잠금 해제합니다. 이제 질문이 있습니다. Google 설명서를 읽었을 때 문제에 대한 확실한 답이 아닌 것 같습니다 :인앱 구매를 검색하고 내 앱의 프리미엄 버전을 잠금 해제하는 방법은 무엇입니까?
앱이 시작할 때 사용 가능한 인앱 제품 목록을 검색 한 다음 목록 검색을 계속합니다. 구매 한 인앱 제품 인앱 상품이 사용 가능한 목록에 표시되면 기능을 잠금 해제합니다.
시작시 사용할 수있는 인앱 제품 목록을 확인하는 이유는 무엇입니까?
UI (구매 버튼)에 가격을 써야하기 때문에 다른 국가의 모든 가능한 가격을 하드 코딩하고 싶지 않습니다. 응답에는 사용 가능한 모든 인앱 제품과 가격이 이미 현지화되어 있으므로 매우 편리합니다.
시작시 구매 한 인앱 제품 목록을 확인하는 이유는 무엇입니까?
사용자가 인앱 제품을 구입했는지 확인한 다음 UI의 기능을 잠금 해제했는지 확인하고 싶습니다. Google 문서에 따르면 통화에 인터넷 연결이 필요하지 않으므로 그 이유는 무엇입니까? 방금 현지 Google Play API를 호출 할 때 인앱 JSON 제품을 로컬에 저장하지 않아도됩니까?
이제 내 문제는 사용할 수있는 인앱 제품에 대한 호출과 구입 한 제품에 대한 호출이 실패 할 수 있으며 사실 한 번 실패했습니다. 실패하면 어떻게해야합니까? 기능을 사용 중지 한 상태로 유지하는 것은 사용자가 제품을 분실했다고 생각할 수 있기 때문에 옵션이 아닙니다. 기능을 사용하도록 설정하는 것은 제품 구매를 한 적이없는 사람들에게 기능을 제공 할 수 있기 때문에 가능합니다. 그래서 나는 붙어있다. 재 시도가 충분합니까? 여기서 가장 좋은 연습은 무엇입니까?
좋아하지만 내 로컬 SQLite 데이터베이스에 플래그를 저장하는 것은 정말로 나쁜 생각입니다. 앱을 잠금 해제하는 것이 정말 쉽습니다. 3 번 반복해서 자동으로 다시 시도하고 3 번 오류가 발생하면 포기하고 오류 메시지를 표시하는 것은 어떨까요? –
내가 말했듯이 Sqlite 데이터베이스가 아닌 SharedPreferences를 사용할 수 있습니다. SharedPreferences를 보호 할 수 있으므로 조작 할 수 없습니다. [이 대답은 여기를 참조하십시오] (https://stackoverflow.com/a/27756458/2734302) 물론 재시도 시스템을 구현하고 사용자에게 문제가 발생했음을 알릴 수 있습니다. – Al0x
내가 아래 답변을 firebase 사용할 수 있습니까? –