2017-12-27 43 views
0

현재 James Montemagno의 InAppBillingPlugin을 사용하여 내 앱에 가입 프로그램을 배포하고 있습니다.InAppBillingPlugin을 통한 구매 복원

잘 작동하지만 앱에서 구매 기능을 복원해야하며 이에 대한 문제가 발생했습니다.

나는 documentation에서 설명한 과정을 수행했지만 GetPurchaseAsync() 함수를 호출하면 얻을 수있는 Enumerable 객체에는 아무 것도 없습니다. 내가 내 진짜 애플 스토어 계정으로 시도

You can see the complete object in the picture

, 나는 생산의 실제 응용 프로그램과 함께 제품을 구입하고 개발에 내 응용 프로그램 내 구입을 복원하기 위해 노력했다.

내가 이것을 고칠 수있는 방법을 알고 있다면 매우 도움이 될 것입니다.

+0

예기치 않은 일이 생길 때 lib가 소스 코드를 다운로드하고 내부 프로젝트를 완전히 디버깅하기 위해 포함시켜야하며 이유는 무엇입니까? –

+0

프로덕션 환경에서 구매할 때 개발시 구매를 복원 할 수 없습니다. 둘 다 별도의 InApp 구매 URL이 있습니다. –

답변

0

실제 Apple 계정을 사용하여 개발 환경에서 프로덕션 응용 프로그램을 테스트하지 마십시오. 그것은 작동하지 않습니다.
개발 환경으로 인앱 구매를 테스트하려는 경우. Apple 계정을 테스트 사용자 계정으로 변경하고 샌드 박스 환경을 사용하십시오. 앱의 자체 테스트 계정을 만드는 방법에 대해서는 다음을 참조하십시오 : Create a sandbox tester account.
"[Environment : Sandbox]"텍스트가 프롬프트의 일부로 나타나며 테스트 환경에 연결되었음을 나타냅니다. 제품 정보 검색 방법에 대한 자세한 내용은 here을 참조하십시오.

+0

감사합니다. 샌드 박스를 알고 있으며 이미 시도했지만 열거 형 구매에는 PurchaseToken이없는 구매 만 포함되어 있습니다. 따라서 App In Purchase 제품을 사용해보십시오. – nicar

+0

@nicar 구매하면 얻을 수있는 정보를 샌드 박스에서 얻을 수 있다고 생각합니다. –

+0

구매를 복원 할 때 사용한 코드 : 'var purchases = await billing.GetPurchasesAsync (ItemType.InAppPurchase); foreach (구매시 var 구매) { if (purchase.PurchaseToken! = null) ' 마지막 "if"의 코드는 호출되지 않으며 내가 구매했을 때 다음 코드가 표시됩니다. [Purchase Enumerable] (https://imgur.com/upIGZBs) 반송 된 모든 개체는 동일한 TransactionDateUtc와 정확히 동일한 것을 포함하며 ID 만 다릅니다. 샌드 박스에서의 구매가 다른 날에 수행되었으므로 어느 것이 적합하지 않습니다. – nicar