2013-09-05 2 views
1

Metro 앱에서 인앱 구매를 사용하려고하는데 전혀 작동하지 않는 것 같습니다. 오류가 없으며 반환 값은 빈 문자열입니다. 내 코드는 다음과 같습니다.메트로 인앱 구매를 작동시키는 방법은 무엇입니까?

await CurrentAppSimulator.RequestProductPurchaseAsync("bonus", false); 
if (!licenseInformation.ProductLicenses["bonus"].IsActive) { 
    error="purchase didn't work?"; 
} 

그리고 오류가 발생합니다. WindowsStoreProxy.xml 파일을 만들었습니다. 이런 식으로 보입니다.

<Product ProductId="bonus" LicenseDuration="10"> 
     <MarketData xml:lang="en-us"> 
      <Name>Bonus pretend feature</Name> 
      <Price>1.00</Price> 
      <CurrencySymbol>$</CurrencySymbol> 
      <CurrencyCode>USD</CurrencyCode> 
     </MarketData> 
    </Product> 
    ... 
    <LicenseInformation> 
    <App> 
     <IsActive>true</IsActive> 
     <IsTrial>true</IsTrial> 
    </App> 
    <Product ProductId="bonus"> 
     <IsActive>false</IsActive> 
    </Product> 
    </LicenseInformation> 

"true"를 입력하면이 특정 제품을 구입 한 것으로 간주하므로이 파일을 읽은 것 같습니다. 나는 documentation을 확인하고 나는 거기에 모든 것을하고있는 것처럼 보입니다.

코드가 RequestProductPurchaseAsync를 호출하면 반환 값을 선택하라는 대화 상자가 표시됩니다. S_OK를 선택한 다음 Continue를 클릭하십시오. 나는 반환 값으로 빈 문자열을 얻는다. 문제는 첫 번째 인수로 입력 한 문자열에 관계없이 동일한 결과를 얻고 있다는 것입니다.

나는 뭔가를 놓쳤을 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 이걸 어떻게 진단 할 수 있습니까?

편집 : 분명히이 작업을 수행하는 트릭은 앱이 평가판 모드가 아닌지 확인하는 것입니다. 이것이 기본값입니다.

하지만 어떻게 진단 할 수 있습니까? 문제가 발생하면 오류 메시지를 어떻게받을 수 있습니까? 예를 들어 앱이 평가판 모드이기 때문에 구매에 실패한 것과 같은 유용한 오류를 알려주는 API를 얻으려면 어떻게해야합니까?

답변

1

다른 사람들과도이 문제에 대해 의견을 나눴습니다. 나는 코드를 구현했으며 앱은 상점에 있으며 불만은 없다. 단계별 설명을하겠다.

1 -> 링크 코드에 익숙 하시길 바랍니다. In app purchase

2 -> 앱을 기본적으로 실시간으로 설정해야합니다. 평가판 모드에서 개발자 머신에서 실행하는 것은 불가능합니다.

3 -> 코드도

await CurrentAppSimulator.RequestProductPurchaseAsync("product1"); 

라이브 currentapp하는 currentappsimulator 변경이 부분 번.

Windows 스토어에서 처리되는 전체 프로세스가 실행됩니다.

4 -> 인앱 구매 제품이 상점에 없다면 (앱을 스토어에 업로드하는 동안 앱내 구매 제품을 모두 나열해야 함) 해당 제품이 자동으로 오류가 발생합니다.

5 -> 다음 자체에 오류 메시지가 ..

이러한 모든 당신은 응용 프로그램 구매에 모두 함께이 응용 프로그램을 필요로 윈도우 스토어에서 처리를 줄 것이다 어떤 신용 카드 정보 존재하지 않는 경우. 이제는 클라이언트 앱 (앱)과 Windows 스토어간에 금전적 인 협상은 무엇입니까? Google은 다른 비즈니스에서와 같이 돈을 몇 퍼센트 씩 듭니다.

평가판에서 사용하지 못할 수있는 이유 : 일부 사용자로부터 비용을 차감 할 수있는 방법을 제공하는 경우, 평가판 버전의 앱이 powershell 파일을 통해 배포되며 앱 구매에 도움이 될 수도 있습니다. 합법적도 :)

내가 지난번에 내가 그 같은 질문에 대답하는 것을 멈추게했다는 것을 아무도 믿지 않았다.

+0

+1 도움이됩니다. 따라서 올바르게 이해한다면, 일단 앱을 배포하면 의미있는 오류 메시지가 나타납니다. 그러나 잘못된 제품 이름을 넣거나 시험 버전을 사용하면 침묵의 오류가 발생합니다. – redtuna

+2

앱을 업로드하고 앱의 제품 이름을 잘못 입력하면 제품을 찾을 수 없다는 오류가 발생합니다. 앱을 업로드 할 지 잘 모르겠 으면 atrial release를 만들고 in app이 작동하는지 여부를 확인하십시오. 그런 다음 필요에 따라 정식 버전을 출시하십시오. – Anobik

+2

다른 버전의 평가판 앱의 개발자 버전은 돈과 유통면에서 잠재적 인 위험이되므로 구입하지 마십시오. currentapp.purchase ...로 변경하면 오류 메시지를 볼 수 있습니다. – Anobik

관련 문제