# ALC Developer Guide

## **ALC概要**

* ONE store提供授權認證服務(Application License Checker)，僅有透過ONE store設定產品的使用者才可以存取函式庫。
* 透過ALC可以即時確認使用軟體的用戶是否擁有有效授權(是否透過ONE store設定)，並僅提供有效使用者存取函式庫。
* ONE store ALC是以網路為基礎的服務，它會向ONE store伺服器詢問該使用者當下是否擁有有效授權並進行相關判斷。該詢問會向裝有該應用程式之裝置的ONE store service提出需求後，ONE store service會向ONE store伺服器傳送需求並接收結果。<br>

  <figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2FpyPf1alujNRvFsm0Mq3o%2F1.png?alt=media&#x26;token=fa20b930-5d47-43cf-ac40-fa70e43e9619" alt=""><figcaption></figcaption></figure>

### ALC Library

ONE store提供可下載的Library，且可從應用程式上輕鬆確認授權。Library兼具應用程式與ONE store service和ONE store伺服器通訊時所有必備功能，透過應用程式Library提供的API便能確認是否為有效授權。

* #### **開發及測試環境設定** <a href="#applicationlicensecheckeralc-shuo-ming-she-zhi-kai-fa-ji-ce-shi-huan-jing" id="applicationlicensecheckeralc-shuo-ming-she-zhi-kai-fa-ji-ce-shi-huan-jing"></a>
  * 開發環境建議 : 為將ALC Library套用至應用程式中，需以下開發環境：
  * Android 5.0以上版本(API版本需21以上)
  * Java SDK 1.6 版本
  * Android studio 3.0 以上版本<br>
    * ### 設定 <a href="#applicationlicensecheckeralc-shuo-ming-she-zhi" id="applicationlicensecheckeralc-shuo-ming-she-zhi"></a>

      * **Step 1.** 在Apps >透過“登錄商品”，輸入預計登錄的商品與包體名。

      <figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2FmwTRXuHqzMkWs1rLV0Wi%2F2.png?alt=media&#x26;token=4fe4d772-9b06-45d0-9e43-d9719813d648" alt=""><figcaption></figcaption></figure>
    * **Step 2.** 選擇已登錄之APP後，"商品狀況">"授權管理" 選擇註冊的App後，在選項中可確認授權金鑰((public key)；授權金鑰為使用ALC Library時的必須項目。<br>

      <figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2FlrUo61PsaaywacolIwni%2F3.png?alt=media&#x26;token=69ef35a0-f0e5-4a59-96e3-f419f33873eb" alt=""><figcaption></figcaption></figure>
    * **Step 3.** 根據 ALC Library指南開發應用程式。ALC Library指南請參考[這裡](https://onestore-dev.gitbook.io/dev/cht/tools/alc/add-alc-library-dependency)。
    * **Step 4.** 使用者可於銷售軟體前確認授權，並於"授權管理"中"ALC測試管理"登錄測試。若登錄測試，無論是否購買應用程式，測試人員都會被視為擁有該應用程式正常授權；若測試者刪除時授權也會一併被刪除。<br>

      <figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2F5Q2Enuk6vuIv2GEqQr7i%2F4.png?alt=media&#x26;token=ab73adb2-5c91-483a-9c8b-4797255aca50" alt=""><figcaption></figcaption></figure>
    * 使用Test ID查詢要使用的Test ID（ONE store用戶帳號）\
      \* 請將ONE store的帳號註冊為測試帳號（可使用的ID類型：ONE store，Naver，facebook，google ID)
    * 確認已查詢地Test ID後，選擇“註冊”鍵後，註冊成為測試人員。註冊成功之測試人員可以透過Test ID管理中進行刪除。
    * **Step 5.**&#x70BA;銷售App，用户可以上傳APK，並且可以確認是否套用ALC。
      * 套用ALC：顯示Library内api版本（ex. 1）
        * 未套用ALC時：顯示未套用\ <br>

          <figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2FO4WQyEr5Bv3S7wf7cHh3%2F5.png?alt=media&#x26;token=99906f67-e3d4-46f9-a47d-7d2114c83828" alt=""><figcaption></figcaption></figure>
* #### **套用前注意事项** <a href="#applicationlicensecheckeralc-shuo-ming-ying-yong-qian-zhu-yi-shi-xiang" id="applicationlicensecheckeralc-shuo-ming-ying-yong-qian-zhu-yi-shi-xiang"></a>
  * 套用ALC Library前，請確認以下內容，
    * 由於ALC為網路服務，確認授權時須於連線狀態下進行；而未連接網路時，用户可以使用授權緩存快取進行操作。
    * ALC測試人員註冊只限於單個應用程式軟體；若要在不同應用程式軟體中進行ALC測試，須於該App商品的"授權管理"中新註冊為測試人員。
    * ALC測試環境與為進行In-App測試之Sandbox無關。
    * “ONE store service”需於用戶設備中完成安裝。電信公司銷售之智慧型手機基本內建“ONE store service”，若為自行購買或是海外購買之裝置，因未內建於智慧型手機內，請透過以下連結下載最新版本[下載](http://m.onestore.co.kr/mobilepoc/etc/downloadGuide.omp?PrePageNm=/main)

### **ALC Library套用指南** <a href="#applicationlicensecheckeralc-shuo-ming-alclibrary-ying-yong-zhi-nan" id="applicationlicensecheckeralc-shuo-ming-alclibrary-ying-yong-zhi-nan"></a>

* [add-alc-library-dependency](https://onestore-dev.gitbook.io/dev/cht/tools/alc/add-alc-library-dependency "mention")
* [alc-v2-reference](https://onestore-dev.gitbook.io/dev/cht/tools/alc/alc-v2-reference "mention")
* [wu-unity-zhong-sheng-ji-zhi-alc-sdk-v2](https://onestore-dev.gitbook.io/dev/cht/tools/alc/wu-unity-zhong-sheng-ji-zhi-alc-sdk-v2 "mention")
* [sheng-ji-zhi-alc-v2](https://onestore-dev.gitbook.io/dev/cht/tools/alc/sheng-ji-zhi-alc-v2 "mention")
* [unity-zhong-shi-yong-alc-sdk-v2](https://onestore-dev.gitbook.io/dev/cht/tools/alc/unity-zhong-shi-yong-alc-sdk-v2 "mention")<br>

### **下載 ALC** <a href="#applicationlicensecheckeralc-shuo-ming-xia-zai-alc" id="applicationlicensecheckeralc-shuo-ming-xia-zai-alc"></a>

* ALC(Application License Checker) Library可透過[git hub](https://github.com/ONE-store/app_license_check)進行。

<br>
