댓글 검색 목록

[기타] chrome extention - 38. 일회성 결제

페이지 정보

작성자 운영자 작성일 20-11-06 14:46 조회 648 댓글 0

Chrome 웹 스토어에서 Chrome 앱, Chrome 확장 프로그램 또는 Chrome 테마에 대해 사용자에게 비용을 청구하도록 선택하면 몇 가지 옵션을 사용할 수 있습니다. Chrome 웹 스토어에는 Chrome 웹 스토어 결제라고 하는 일회성 결제 시스템이 내장되어 있습니다.


Chrome 앱의 경우 Chrome 웹 스토어 API와 함께 Payments 판매자 계정으로 가상 상품을 판매하는 옵션이 있습니다.


참고 : Chrome 웹 스토어 결제 수단은 호스팅 된 앱에 사용할 수 없습니다.


무료 평가판 제공 


Chrome 앱 및 Chrome 확장 프로그램의 경우 제한된 기간 동안 사용자에게 전체 액세스 권한을 부여하거나 사용 가능한 기능을 제한하는 무료 평가판을 제공 할 수 있습니다. 개발자 대시 보드에서 해당 확인란을 선택한 다음 Licensing API를 사용하여 유료 버전으로의 업그레이드 경로와 함께 사용자가 보유한 라이선스의 종류와 보유 기간을 확인하여 무료 평가판을 활성화 할 수 있습니다.


Chrome 웹 스토어 라이선스 API 


Chrome Web Store Licensing API를 사용하여 사용자가 항목에 대해 결제했는지 또는 무료 평가판을 사용한 기간을 확인할 수 있습니다. Licensing API는 Chrome 웹 스토어 라이선스 서버에 쿼리하여 특정 사용자가 무료 평가판을 사용하는지 또는 항목에 대해 지불했는지 확인할 수 있는 간단한 REST 기반 API입니다.


Contents

  1. Before you get started
  2. Using one-time payments
  3. Verifying payment and offering free trial
  4. Migrating from a free to a paid experience
  5. Sample Chrome App

시작하기 전에 


아직 계정이 없는 경우 Google Payments 판매자 계정을 열고 해당 계정을 상점과 연결해야 합니다.


참고 : 앱을 판매 할 수 있는 위치 및 수수료에 대한 자세한 내용은 결제 : 지역, 수수료 및 계층을 참조하십시오.


일회성 결제 사용 


Chrome 웹 스토어 개발자 대시 보드의 목록 페이지에서 일회성 결제를 설정하고 무료 평가판 옵션을 제공 할 수 있습니다. Chrome 웹 스토어는 각 사용자의 라이선스를 관리하고 REST API를 통해 해당 정보를 노출합니다.


일회성 결제를 활성화하려면 :


  1. Chrome 웹 스토어 목록에서 가격을 선택하고 설정합니다.
  2. Google API 콘솔에서 Chrome 웹 스토어 API를 활성화합니다.
  3. manifest.json을 업데이트하여 필요한 범위와 권한을 추가하십시오.
  4. 앱에 코드를 추가하여 라이선스를 확인하세요.

Chrome 웹 스토어 목록 업데이트 


항목에 대해 일회성 결제를 활성화하려면 아래 단계를 따르십시오.


  1. 목록의 가격 및 결제 섹션에서 가격 변경을 클릭합니다.
  2. 이 항목은 Chrome 웹 스토어 결제를 사용합니다 를 선택하고 드롭 다운에서 일회성 결제를 선택합니다.
  3. 해당하는 경우 항목에 대한 무료 평가판을 제공하려는 경우 이 항목은 무료 평가판 모드를 지원합니다 를 선택합니다.
  4. 마지막으로 확인을 클릭하여 항목의 대시 보드로 돌아갑니다.

cws-dd-payment.png 


가격 선택 


Chrome 웹 스토어 결제를 사용하는 경우 18 개 계층 중에서 선택하거나 지원되는 각 지역에 대해 고유 한 맞춤 가격을 설정할 수 있습니다.


cws-dd-tiers.png 

항목의 가격을 변경하려면 목록의 가격 및 결제 섹션에서 원하는 등급을 선택하세요. 혼합을 선택하여 각 지역에 대한 사용자 지정 가격을 설정 한 다음 지역 섹션에서 각 지역에 대한 가격을 선택할 수도 있습니다.


다양한 계층 및 현지 통화 가격에 대한 자세한 내용은 결제 : 지역, 수수료 및 계층을 참조하십시오.


결제 확인 및 무료 평가판 제공 


사용자에게 라이선스가 있는지 확인하려면 Chrome Web Store Licensing API를 쿼리하면 됩니다.


다음은 라이선스 API를 사용하는 데 필요한 프로세스에 대한 개요입니다.

  • 현재 사용자의 ID 토큰을 가져옵니다.
  • 라이선스 서버에 인증 된 요청을 합니다.
  • 응답을 확인하십시오.

manifest.json 업데이트 


라이선싱 API를 사용하기 전에 manifest.json 파일을 수정하고 새 범위 및 잠재적으로 새 권한을 추가해야 합니다.


  1. 아직 하지 않은 경우 Chrome ID API를 활성화합니다. 자세한 내용은 사용자 인증을 참조하세요.
  2. 아직 하지 않은 경우 Google API 콘솔에서 Chrome 웹 스토어 API를 활성화합니다.
  3. manifest.json 파일에서 :
    1. Add https://www.googleapis.com/ to the permissions section.
    2. Add https://www.googleapis.com/auth/chromewebstore.readonly to the scopes subsection of the oauth2 section.
{
  "permissions": [
    "storage",
    "identity",
    "https://www.googleapis.com/"
  ],
  "oauth2": {
    "client_id": "665859454684-s6nmohpktccl2srxvc67thbmpclpa36v.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/auth/plus.login",
      "https://www.googleapis.com/auth/chromewebstore.readonly"
    ]
  }
}

라이센스 확인 


사용자가 웹 스토어 항목을 구입했거나 무료 평가판을 사용하고 있는지 확인하려면 다음을 수행하십시오.


  1. chrome.identity.getAuthToken()을 사용하여 현재 사용자 인증 토큰을 가져옵니다.
  2. https://www.googleapis.com/chromewebstore/v1.1/userlicenses/ <YOUR_APP_ID>에 대한 사용자 액세스 토큰과 앱 ID로 XHR을 만듭니다.
  3. JSON 응답을 구문 분석하고 라이선스를 확인하고 결과를 저장합니다.
var CWS_LICENSE_API_URL = 'https://www.googleapis.com/chromewebstore/v1.1/userlicenses/';
var req = new XMLHttpRequest();
req.open('GET', CWS_LICENSE_API_URL + chrome.runtime.id);
req.setRequestHeader('Authorization', 'Bearer ' + token);
req.onreadystatechange = function() {
  if (req.readyState == 4) {
    var license = JSON.parse(req.responseText);
    verifyAndSaveLicense(license);
  }
}
req.send();

참고 : 테마는 JavaScript를 실행하지 않고 라이센스를 확인할 수 없기 때문에 테마에 대한 무료 평가판 경험을 제공 할 수 없습니다.


응답 처리 및 구문 분석 


라이선스 서버에서 받은 응답은 사용자에게 액세스 권한이 있는지 여부, 사용자가 가져야 하는 액세스 수준 및 응답이 유효한 기간의 세 가지를 알려줍니다. 사용자에게 액세스 권한이 있는지 여부 만 알고 싶다면 결과 필드의 값을 확인하십시오. 사용자가 무료 평가판을 받아야 하는지 여부를 알고 싶다면 accessLevel 필드의 값을 확인하십시오.


샘플 JSON 라이선스 개체

{
  "kind": "chromewebstore#license",
  "itemId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "createdTime": "1377660091254",
  "result": true,
  "accessLevel": "FULL",
  "maxAgeSecs": "2052"
}

 Field Name

 Description

 kind

 Chrome 웹 스토어 라이선스를 식별합니다.

 itemId

 앱 또는 확장 프로그램 ID

 createdTime

 라이센스가 생성 된 날짜로 Unix 타임 스탬프로 반환 됩니다. 을 사용하여 무료 평가판의 기능을 특정 기간으로 제한 할 수 있습니다.

 result

 사용자에게 라이선스 (전체 또는 평가판)가 있는지 여부, 참 또는 거짓

 accessLevel

 FREE_TRIAL, FULL or NONE

 maxAgeSecs

 응답이 유효한 시간입니다. 해당 시간이 지나면 앱에서 라이선스 서버를 다시 쿼리 하여 사용자의 액세스가 변경되었는지 확인해야 합니다.


응답 캐싱 


성능을 개선하고 속도 제한에 부딪히지 않으려면 chrome.storage.sync API를 사용하여 라이선스 데이터를 로컬로 캐시하고 주기적으로 만 새로 고침해야 합니다. 동기화 데이터에 라이센스 데이터를 저장하면 사용자가 로그인 한 모든 컴퓨터에서 동기화 됩니다.


또한 라이선스 서버가 응답 할 때까지 사용자 인터페이스를 차단하거나 Chrome 앱 또는 확장 프로그램에서 사용자를 잠그지 말고 대신 사용자가 응답을 받을 때까지 제한된 유예 기간 동안 계속할 수 있도록 허용하세요. 최소 하루나 이틀의 유예 기간을 제공하면 사용자가 네트워크에 연결되지 않을 수 있는 오프라인 상황에서도 Chrome 앱 또는 확장 프로그램이 계속 제대로 작동합니다.


무료 평가판 경험 처리 


사용자에게 무료 평가판을 제공하기로 결정한 경우 사용자가 구매하기 전에 사용해 볼 수 있는 몇 가지 방법이 있습니다. 가장 일반적인 두 가지 방법은 제한된 시간 동안 전체 액세스를 제공하거나 제한된 기능 세트를 제공하는 것입니다. 물론이 두 가지를 결합하거나 자체 인센티브를 제공하여 사용자가 유료 버전으로 업그레이드하도록 장려 할 수도 있습니다.


제한된 시간 액세스 


라이선스 API를 사용하면 라이선스가 사용자에게 처음 발급 된 날짜를 포함하여 제한된 시간 동안 평가판을 쉽게 제공 할 수 있습니다. createdDate를 현재 날짜와 비교하면 사용자가 무료 평가판을 사용한 기간을 알 수 있습니다.


var licenseStatus;
if (license.result && license.accessLevel == "FULL") {
  console.log("Fully paid & properly licensed.");
  licenseStatus = "FULL";
} else if (license.result && license.accessLevel == "FREE_TRIAL") {
  var daysAgoLicenseIssued = Date.now() - parseInt(license.createdTime, 10);
  daysAgoLicenseIssued = daysAgoLicenseIssued / 1000 / 60 / 60 / 24;
  if (daysAgoLicenseIssued <= TRIAL_PERIOD_DAYS) {
    console.log("Free trial, still within trial period");
    licenseStatus = "FREE_TRIAL";
  } else {
    console.log("Free trial, trial period expired.");
    licenseStatus = "FREE_TRIAL_EXPIRED";
  }
} else {
  console.log("No license ever issued.");
  licenseStatus = "NONE";
}

참고 : 주요 업데이트 또는 상당한 시간이 지난 후 사용자가 새 기능을 사용해보고 항목이 어떻게 변경되었는지 확인할 수 있도록 항목을 다시 시도하도록 허용 할 수 있습니다.


제한된 기능 세트 


사용자에게 무료 평가판을 제공 할 수있는 또 다른 방법은 유료 버전으로 업그레이드 할 때까지 제한된 기능 세트를 제공하는 것입니다. 예를 들어, 주어진 시간에 열리는 파일 수 또는 사용자가 결제를 요청하기 전에 편집 할 수있는 총 파일 수를 제한 할 수 있습니다.


무료에서 유료 환경으로 마이그레이션 


무료 환경에서 유료 환경으로 마이그레이션하기로 결정한 경우 변경하기 전에 항목을 설치 한 사용자에게 제공 할 환경을 고려해야 합니다. 결정은 귀하의 몫이지만 이러한 사용자를 완전한 유료 환경으로 전환하는 것이 좋습니다.


변경하기 전에 항목을 설치 한 사용자는 FREE_TRIAL 라이선스를 갖게 됩니다. 가격 변경 전에 사용자가 항목을 설치했는지 확인하려면 라이선스에서 createdTime 값을 확인하여 처음 설치 한시기를 확인할 수 있습니다.


샘플 Chrome 앱 


Chrome Web Store Licensing API 사용 방법을 보여주는 간단한 Chrome 앱은 다음을 참조하세요.


Chrome 웹 스토어에서 게시 된 앱을 설치하고 실행하여 무료 평가판을 사용해 볼 수 있습니다.




댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.