2015-01-07 2 views
3

현재 인앱 구매를 위해 Unity3D 및 Soomla를 사용하여 모바일 게임을하고 있습니다. 현재 비 소모품에 대한 '복원'기능을 구현하려고합니다 (광고가 없으면 1). 이것을하기 위해서; "OnRestoreTransactionsFinished"가 true로 수신되면 "SoomlaStore.RestoreTransactions"함수를 사용하고 항목을 복원합니다.Soomla OnRestoreTransactionsFinished가 항상 TRUE를 받았습니다

문제는 "OnRestoreTransactionsFinished"가 호출 될 때마다 해당 장치/계정이 이전에 항목을 구매하지 않았더라도 수신 한 값이 항상 TRUE라는 것입니다. Soomla 웹 사이트에 따르면; 조작 HASS 성공 트랜잭션을 복원하거나

를 실패 할 경우라는 부울 값은 내가 여기서 뭔가를 오해하고 있는가

성공한다? 계정에서 이전에 상품을 구매하지 않았더라도 값은 항상 true입니까? 즉, 항목을 복원해야하는지, 내 방식이 완전히 잘못되었는지를 확인하기 위해 다른 것을 사용해야 할 필요가 있습니까? 고맙습니다.

+2

여러 가지 것들을 테스트하고 연구 한 후에 나는 일을 바꾸는 방법을 결정했습니다. 나는 다른 기능을 발견했다. "StoreInventory.GetItemBalance"는 문자열 (itemId)을 받아 int를 반환합니다. 이렇게하면 계정에서 이전에 상품을 구매했는지 여부를 확인할 수 있습니다. – rabbit87

답변

1

향후 독자를 위해 ... OnRestoreTransactionsFinished는 트랜잭션이 복원되었는지 여부를 반환합니다. 그것은 어떤 제품이나 어떤 것을 말하지 않습니다.

RestoreTransactions 함수 호출은 복원 된 각 항목에 대해 OnMarketPurchased 이벤트를 호출하므로이를 사용하여 복원 된 각 항목으로 앱을 업데이트 할 수 있습니다.