0

전 프론트 엔드 개발자로서, 첫 번째 백엔드 작성을 시작합니다 (AWS를 사용하면 재앙이되지 않을 것입니다) . 나는 약간의 지침이 필요하거나, SO 또는 튜토리얼이나 다른 어떤 주제에 대한 링크가 될 수있다 - 나는 오랜 시간 동안 수색했으나 해결해야 할 문제를 찾는 방법을 모른다.앱 구매 백엔드 아키텍처 : 사용자 계정 및 "차용 된 계정"에서 앱 보호하기 다운로드

간단한 일 : 고객이 책을 판매합니다. 이 책을 보완하기 위해 현재 앱을 개발 중입니다. 이 앱의 각기 다른 부분은 앱마다 고유 한 가치가 있지만 각기 다른 책에 해당합니다 (앱을 사용하기 위해 책을 소유 할 필요가 없음). 사용자가 책을 소유 한 경우 AppStore에서 앱의 해당 부분을 무료로 다운로드 할 수 있어야한다는 아이디어가 있습니다. 그는 돈을 지불하기 위해이 콘텐츠를 구매하기 위해 IAP를 사용해야합니다.

것은 나는 다음과 같은 간단한 해결책을 마련했습니다

  • 우리 모두 판매 책 'ID를 가진 데이터베이스를 유지하고
  • 우리는 사용자가 ID (들)의 등록 및 입력 할 수 있도록 그들이 소유 한 책
  • 우리는 우리의 데이터베이스에 대해이 ID를 확인하고 다른 사용자가 이전에 id를 입력하지 않았는지 확인합니다.
  • id가 유효하면 우리는 사용자가 소유 한 책 (들)에 대응하는 콘텐츠를 다운로드하도록한다.

사용자는이 기기에서 자신의 계정에 로그인하면 여러 기기 (예 : iPad, iPhone, 아이의 iPhone ...)에서 콘텐츠를 다운로드 할 수 있습니다.

그러나 사용자가 친구에게 계정을 제공 한 다음 친구의 기기에서이 계정에 로그인하여 콘텐츠를 다운로드 한 다음 로그 아웃하고 앱을 사용하는 상황을 방지하고 싶습니다. 아무것도 사지 않았고 그는 책을 소유하지 않았다.

내 아이디어 : 사용자가 로그인해야합니다

  • 그가 내용은 (이전에 다운로드) 자신의 휴대 전화에 이미 경우에도 콘텐츠를 사용할 수있는 권리를 확인합니다. 사용자는 한 번에 하나의 기기에만 로그인 할 수 있습니다 (다른 기기에 로그인하면 첫 번째 기기에서 로그 아웃됩니다). 심각한 어려움 : 사용자는 인터넷에 연결되어있을 때만 앱을 사용할 수 있습니다. 모든 콘텐츠를 다운로드 했더라도 마찬가지입니다.

  • 사용자는 inapp 구매 또는 책 구입으로 3 가지 다운로드 권한을 얻을 수 있습니다. 심각한 불리한 점 : 사용자가 앱을 삭제하고 다시 설치하려고하면 어떻게됩니까? 기기를 이전 버전과 동일하게 유지할 수있는 확실한 수단이 없기 때문에 구입 한 부품을 다시 다운로드하면 1 회 계산됩니다. 적어도 iOS에는 해당되지 않습니다. vendorId라고하는 것이 있지만 신뢰할 만합니다. 시스템 업데이트시 변경.

  • 은 책 소유자에게는 최저 가격으로 (다른 사람에게는 일반 가격으로) 동일한 콘텐츠를 제공합니다. 이렇게하면 모든 잠금 장치를 (사용자의 iCloud 계정을 통해) Apple에 위임 할 것입니다. 잠금 해제 된 컨텐츠는 항상 IAP를 사용해야하고 구매가 완료되면 Apple은 모든 정보를 추적합니다.

  • 다른 방법으로 할 수 있습니까? 도와주세요.

고려하는 하나의 추가 점은도 있습니다 - 여러 장치가 동일한 계정에 로그인 한 콘텐츠를 다운로드 할 수 있습니다 - 우리는 "교실 계정을"만들기의 가능성을 가지고 싶습니다. 클라이언트는 허용되는 장치의 수와 데이터베이스에 대한이 수의 다운로드 수를 결정합니다.

+0

"도서 구매 ID가있는 데이터베이스"라고 생각하십니까? ID를 입력하는 것이 매우 편리해야합니다 (예 : ID에서 생성 된 바코드 사용). BTW,이 질문은 iOS, IAP 또는 Android와 관련이 없습니다. 대신 일반적인 시스템 설계 문제입니다. –

+0

예, 아마도 자동화 된 방법을 사용합니다. 그러나, 당신이 다른, 더 편리한 아이디어가 있다면 나와 공유하십시오 :) 좋아, 내가이 질문에서 이오스/안드로이드 태그를 제거하려고합니다. –

답변

0

당신은 어떻게 구별 할 수 있습니다

사용자는 여러 기기에서 콘텐츠를 다운로드 할 수 있습니다 (예를 들어 그의 아이 패드, 자신의 아이폰, 자신의 아이의 아이폰 ...) 그는 자신의 에 로그인하는 경우 이 기기의 계정

및 그러나

, 나는 다음, 사용자가 그의 장치 에이 계정에 로그인하고, 컨텐츠를 다운로드 친구, 그의 계정을 제공 할 때 상황을 방지하기 위해 싶습니다 그는 아무것도 사지 않았고 그는 책을 소유하지 않았지만 로그 아웃하고 앱을 사용합니다.

어쩌면 기술적으로 가능할 수도 있지만 그럴만 한 가치가 있는지 의문입니다. 제한적인 라이센스가 불법 복제를 방지하는 것보다 불편을 겪을 가능성이 더 큽니다. 이렇게하는 기술적 도전은 말할 것도 없습니다.

+0

이 주셔서 감사합니다. 네, 문제가 될만한 가치가 있는지 궁금합니다. 나는이 문제에 이미 존재할 수있는 명백한 솔루션을 생략하기를 원치 않으며 노련한 백엔드 개발자들에 의해 널리 사용되지만 나에게 알려지지 않았다. –