> For the complete documentation index, see [llms.txt](https://onestore-dev.gitbook.io/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onestore-dev.gitbook.io/dev/cht/tools/alc.md).

# 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="/files/OSyZzLsQX2taLsP3jzCd" 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="/files/f2bLLY9mEaVsyBNn9LNK" alt=""><figcaption></figcaption></figure>
    * **Step 2.** 選擇已登錄之APP後，"商品狀況">"授權管理" 選擇註冊的App後，在選項中可確認授權金鑰((public key)；授權金鑰為使用ALC Library時的必須項目。<br>

      <figure><img src="/files/gCEMwpv9hyRBaZ2leNFZ" alt=""><figcaption></figcaption></figure>
    * **Step 3.** 根據 ALC Library指南開發應用程式。ALC Library指南請參考[這裡](/dev/cht/tools/alc/add-alc-library-dependency.md)。
    * **Step 4.** 使用者可於銷售軟體前確認授權，並於"授權管理"中"ALC測試管理"登錄測試。若登錄測試，無論是否購買應用程式，測試人員都會被視為擁有該應用程式正常授權；若測試者刪除時授權也會一併被刪除。<br>

      <figure><img src="/files/GfWzcFKsvO1zkj19aNSV" 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="/files/kRQZvjHgMNtcNiUN1pSm" 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](/dev/cht/tools/alc/add-alc-library-dependency.md)
* [ALC V2 Reference](/dev/cht/tools/alc/alc-v2-reference.md)
* [於Unity 中升級至 ALC SDK V2](/dev/cht/tools/alc/wu-unity-zhong-sheng-ji-zhi-alc-sdk-v2.md)
* [升級至ALC V2](/dev/cht/tools/alc/sheng-ji-zhi-alc-v2.md)
* [Unity中使用 ALC SDK V2](/dev/cht/tools/alc/unity-zhong-shi-yong-alc-sdk-v2.md)<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>
