2013-03-15 3 views
4

본질적으로 내 앱의 "프로"버전 인 인앱 구매 사용을 조사하고 있습니다. 앱 자체는 무료이지만 한 번 사용자가 프로 콘텐츠 (단 1 점)를 구매할 수있는 옵션이 있습니다. "프로"콘텐츠는 이미 앱에 있으며 다운로드 할 필요가 없다면 단순히 "잠금 해제"할 것입니다.iOS 인앱 구매 아니오 백엔드

  1. Apple 지침에서 허용 되었습니까?
  2. 오직 1 개의 비 소모품 만 구입할 수 있으므로 백엔드 서버를 사용할 필요가 없다고 생각합니다.
    • 다시 가이드 라인에서 허용되는 내용입니까?
    • NSUserDefaults에 결과를 저장하는 것이 안전하고 간단하며 다른 장치에 설치 한 경우 구입 한 SKPayment 복원에서 가져 오는 것이 안전합니까?

나는 여러 가지 다른 질문을 검토 한 결과.

  • Retrieve purchased information in In-App purchase
  • 그리고 그 내 접근이 유효 함을 시사하는 것,하지만 난 그 일이 최근에 변경된 알고 내가 데려 갈거야 있는지 확인하려면 올바른 접근법.

    감사합니다.

    답변

    3
    1. 문제 없습니다 컨텐츠는 내장하지 데.

    2. 모범 사례이 여러 가지 다른 모바일 앱 스토어에 대한도 마찬가지입니다 (응용 프로그램과 서버 사이의 인증 프로토콜과 서버에서 수신 확인을 수행하는 것입니다). 기기에서 확인을 수행하는 경우 기존 도구를 사용하여 IAP 확인 및 콘텐츠 도용을 수행 할 수 있습니다. 몇 가지 정보는 https://developer.apple.com/library/ios/#releasenotes/StoreKit/IAP_ReceiptValidation/을보십시오.

    서버는 필수는 아니지만 권장됩니다. 콘텐츠 보호가 서버 유지 관리의 번거 로움에 가치가 있는지 만 말할 수 있습니다.

    나는 J. Freeman과 NSUserDefaults의 스트레이트 스토리지가 약하다는 것에 동의한다. 물건을 로컬 파일에 저장하지만 형식은 장치에 연결되어 있으며이를 생성하기 위해 서버에서 계산 된 키가 필요합니다. 마지막으로 SKPaymentQueue restoreCompletedTransactions를 사용하여 다른 장치에서 구입 한 항목을 가져와야합니다. 복원 된 트랜잭션 또한 서버에서 확인 된 영수증을 가져야합니다.

    +0

    링크가 작동하지 않습니다 (Apple 문서에서는 항상 그렇듯이). 이거 야? https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html –

    +0

    서버에서 유효성을 검사하기 위해 거기에서 링크 된 문서. – DrC

    1

    네, 괜찮습니다. 인앱 구매를 수행하기 위해 백엔드가 필요하지 않으며 내장 된 콘텐츠로 제공하는 것이 좋습니다.

    NSUserDefaults에 잠금 해제 된 정보를 저장하는 것이 쉽지만 구매 방식을 위조 할 수 있어야합니다. 키 체인에 잠금 해제 정보를 저장해야합니다.