앱에서 바로 제품 구매 사용(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

앱은 고객이 앱 내에서 구매할 수 있는 제품 및 기능을 제공할 수 있습니다. 여기서는 앱에서 이러한 제품을 사용하도록 설정하는 방법을 보여 줍니다.

고객은 처음 사용자용 앱 버전을 구매한 경우에만 앱에서 바로 구매 제품을 구입할 수 있습니다.

알아야 할 사항

기술

사전 요구 사항

  • 고객이 구매하는 기능을 추가할 Windows 런타임 앱

지침

단계 1: 앱의 라이선스 초기화

앱이 초기화되는 중이면 CurrentApp 또는 CurrentAppSimulator 초기화를 통해 앱에 대한 LicenseInformation 개체를 가져와 앱에서 바로 제품 구매를 사용하도록 설정합니다.

function appInit()
{
    // some app initialization functions

        // Get current product object 
        // Execute only one of these statements. 
        // The next line is commented out for testing.
        // currentApp = Windows.ApplicationModel.Store.CurrentApp;

        // The next line is commented out for production/release.
        currentApp = Windows.ApplicationModel.Store.CurrentAppSimulator;

        // We should have either a real or a simulated CurrentProduct object here.

        // Get the license info
        licenseInformation = currentApp.licenseInformation;

    // other app initializations function
}

참고  새 앱 내 제품을 처음 코딩하고 테스트할 때는 CurrentApp 개체 대신 CurrentAppSimulator 개체를 사용해야 합니다. 이렇게 하면 라이브 서버를 호출하는 대신 라이선스 서버에 대한 호출을 시뮬레이션하여 라이선스 논리를 확인할 수 있습니다. 이렇게 하려면 %userprofile%\AppData\local\packages\<package name>\LocalState\Microsoft\Windows Store\ApiData에 있는 "WindowsStoreProxy.xml" 파일을 사용자 지정해야 합니다. 처음으로 앱이 실행될 때 Microsoft Visual Studio 시뮬레이터에서 이 파일을 만들거나 런타임에 사용자 지정 파일을 로드할 수도 있습니다. 자세한 내용은 CurrentAppSimulator 설명서를 참조하세요.

 

단계 2: 앱에서 바로 제품 판매를 앱에 추가

앱 내 제품을 통해 제공하려는 각 기능에 대해 판매를 만들고 앱에 추가하세요.

중요  스토어에 앱을 제출하기 전에 고객에게 제공하려는 앱 내 제품을 앱에 모두 추가해야 합니다. 나중에 새 앱 내 제품을 추가하려면 앱을 업데이트하고 새 버전을 다시 제출해야 합니다.

 

  1. 앱에서 바로 판매 토큰 만들기

    앱에서는 각 앱 내 제품을 토큰으로 식별합니다. 이 토큰은 사용자가 정의하고 앱과 스토어에서 특정 앱 내 제품을 식별하는 데 사용하는 문자열입니다. 코딩하는 동안 토큰이 나타내는 올바른 기능을 빨리 식별할 수 있도록 앱에서 고유하고 의미 있는 이름을 지정하세요. 다음은 이름의 몇 가지 예입니다.

    • "SpaceMissionLevel4"
    • "ContosoCloudSave"
    • "RainbowThemePack".
  2. 조건부 블록에 기능 코딩

    고객에게 이 기능을 사용할 수 있는 라이선스가 있는지 테스트하는 조건부 블록에 앱 내 제품과 연결된 각 기능의 코드 줄을 넣어야 합니다.

    다음 예제에서는 라이선스별 조건부 블록에 featureName이라는 제품 기능을 코딩하는 방법을 보여 줍니다. featureName 문자열은 앱에서 이 제품을 고유하게 식별하고 스토어에서 앱을 식별하는 데도 사용되는 토큰입니다.

    
    if (licenseInformation.productLicenses.lookup("featureName").isActive) 
    {
        // the customer can access this feature
    }
    else 
    {
        // the customer can't access this feature
    }
    
  3. 이 기능의 구매 UI 추가

    앱 내 제품을 통해 제공되는 제품 또는 기능을 고객이 구매할 방법도 앱에서 제공해야 합니다. 스토어에서 전체 앱을 구매한 것과 동일한 방법으로 구매할 수는 없습니다.

    고객이 이미 앱 내 제품을 소유하고 있는지 테스트하고, 없는 경우 구매할 수 있도록 구매 대화 상자를 표시하는 방법은 다음과 같습니다. "show the purchase dialog" 주석을 구매 대화 상자(예제: 친숙한 "앱 구매!" 단추가 있는 페이지)의 사용자 지정 코드로 바꾸세요.

    function buyFeature1() {
        if (!licenseInformation.productLicenses.lookup("featureName").isActive)
        {
            // The customer doesn't own this feature, so 
            // show the purchase dialog.
    
            // note: currentApp is a reference to CurrentAppSimulator from a previous declaration
            currentApp.requestProductPurchaseAsync("featureName", false).then(
                function () {
                    //Check the license state to determine if the in-app purchase was successful.
                }, 
                function () {
                    // The in-app purchase was not completed because 
                    // there was an error.
                });
        } 
        else
        {
            // The customer already owns this feature.
        }
    }
    

단계 3: 테스트 코드를 최종 호출로 변경

이 단계에서는 앱 코드의 모든 CurrentAppSimulator 참조를 CurrentApp로 변경합니다. WindowsStoreProxy.xml 파일은 더 이상 제공할 필요가 없으므로 앱 경로에서 제거하세요. 다음 단계에서 앱에서 바로 판매를 구성할 때 참조하기 위해 저장해 둘 수도 있습니다.

단계 4: 스토어에서 앱에서 바로 제품 판매 구성

스토어에 앱을 제출하기 전에 앱 제출 워크플로에 앱 내 제품을 각각 추가하세요. 여기서 앱 내 제품의 토큰, 가격 및 기능 수명을 지정합니다. 테스트할 때 WindowsStoreProxy.xml에서 설정한 구성과 동일하게 구성해야 합니다.

단계 5: 스토어에서 앱 내 제품 설명

앱 패키지를 스토어로 업로드한 후 앱을 제출할 때설명 페이지에서 각 앱 내 제품에 대한 설명을 입력할 수 있습니다. 앱이 여러 언어를 지원하는 경우 앱이 지원하는 모든 언어로 각 앱 내 제품을 설명해야 합니다.

앱 내 제품이 앱에 어떤 기능을 추가하는지 정확하게 설명하는 구체적이고 간결한 설명을 입력하세요. 제품의 가치가 앱 자체에서 제공하는 기능보다 우수하다는 것을 입증하지 못하면 판매하기 어렵습니다. 앱 내 제품 설명의 특정 부분에 대한 자세한 내용은 앱 설명을 참조하세요.

설명

고객에게 소모성 앱 내 제품 옵션을 제공하려는 경우 앱에서 바로 소모성 제품 구매 사용 항목을 진행하세요.

영수증을 사용하여 사용자가 앱 내 제품을 구매했는지 확인해야 할 경우 영수증을 사용하여 제품 구매 확인을 검토하세요.

관련 항목

앱에서 바로 소모성 제품 구매 사용

체험 앱 및 앱에서 바로 구매 샘플