Add ALC library dependency
添加 ALC Library 从属项目
项目顶端 build.gradle 文件中,注册 ONE store maven 地址。
Android Studio (version: bumblebee) 中添加 settings.gradle
hljs.highlightAll();
下面应用软件的 build.gradle 文件中,添加 ONE store ALC Library从属项目
hljs.highlightAll();
AndroidManifest.xml中添加queries
以下两种情况,请参考ONE store 公告进行设置。
Android 11 以上 (Target SDK 30 以上) ,请添加 queries。
hljs.highlightAll();
为ONE store Login添加configuration
项目顶端build.gradle 文件中注册 maven 地址
添加ALC Library从属项目时,流程同上。
hljs.highlightAll();
下面应用软件的 build.gradle 文件中,添加 添加 ONE store configuration Library从属项目。
hljs.highlightAll();
AppLicenseChecker 初始化
使用Application License Checke 要求用户的购买许可证,需生成AppLicenseChecker的 instance。 必须通过开发者中心颁发的许可证密钥来验证许可证。 此外,是否拥有有效许可证的结果是通过 LicenseCheckerListener 传递的,初始化时需创建Listener。
保存许可证密钥
为了安全起见, 建议通过服务器接收许可证密钥并使用,而不是保存在应用程序内代码。
Callback 注册
AppLicenseChecker 初始化时,必须注册 LicenseCheckerListener LicenseCheckeerListener 是为确认许可验证而提供的接口。许可验证结果调用 LicenseCheckeerListener 方法之一。 granted()、denied() 、error()三种方法,可进行简单的结果处理。 error() 类型传递错误代码和消息。 有关错误代码,请参考下面的响应代码。
许可证验证请求
调用许可证验证时,通过与 ONE store 服务器的通信传递许可证。用户因网络故障或飞行模式等原因无法正常访问ONE store服务器时,一般采使用缓存策略,保证缓存License有效期内应用软件的正常运行。 如果不想使用缓存策略,可通过 strictQueryLicense API 不使用缓存的许可证。
QueryLicense API (Cached API) 调用
协同缓存策略操作。 一般情况下,通过ONE store服务器接收用户购买历史的License,但因网络故障或飞行模式等原因无法访问ONE store服务器时,使用本地缓存的License来保证有效期内的正常运行。
StrictQueryLicense API (Non-Cached API) 调用
不使用缓存的许可证。 如果在网络故障或飞行模式下使用该 API, 因为无法访问 ONE store 服务器,用户无法使用应用程序 。
断开连接
建议通过调用AppLicenseChecker的destroy函数,断开ONE store服务。
响应代码
下表是从 ONE store ALC Library传递到应用程序的Error响应代码和消息。 使用Library的应用程序必须处理响应代码。
Response Code | Value | Description(KR) | Description(CN) | How to handle Solutions |
---|---|---|---|---|
RESULT_OK | 0 | 성공 | 成功 |
|
ERROR_CLIENT_NOT_ENABLED | 1010 | 원스토어에 연결할 수 없습니다. 원스토어 앱 실행이 필요합니다. | 无法连接到 ONE store。 需要运行 ONE store应用程序。 |
|
ERROR_SERVICE_UNAVAILABLE | 2000 | 서비스를 이용할 수 없는 상태입니다. | 服务不可用 | 请咨询 ONE store |
ERROR_DATA_PARSING | 2001 | 파라메터가 유효하지 않습니다. | 参数无效 | 请咨询 ONE store |
ERROR_SIGNATURE_VERIFICATION | 2002 | 라이선스 키가 맞지 않거나 구매 내역이 없는 유저 입니다. | 许可证密钥不匹配或用户没有购买历史记录 | 请在ONE store开发者中心确认许可证密钥 |
ERROR_SERVICE_TIMEOUT | 2100 | 서비스 응답이 없습니다. | 服务未响应 | 请检查 网络状态 |
ERROR_USER_LOGIN_CANCELD | 2101 | 사용자가 로그인을 취소하였습니다. | 用户取消登录 | 请登录ONE store |
ERROR_INSTALL_USER_CANCELED | 2103 | 원스토어 서비스 설치를 취소하였습니다. | 已取消安装 ONE store 服务 | 请登录ONE store |
ERROR_NOT_FOREGROUND | 2104 | 백그라운드 서비스에서는 진행할 수 없습니다. | 后台服务 无法运行 |
|
RESULT_UNKNOWN | -1 | 알 수 없는 오류가 발생하였습니다. | 出现未知错误 | 请咨询 ONE store |
RESULT_USER_CANCELED | 1 | 사용자가 로그인을 취소하였습니다. | 用户取消登录. | 请咨询 ONE store |
RESULT_SERVICE_UNAVAILABLE | 2 | 단말 또는 서버 네트워크 오류가 발생하였습니다. | 终端或服务器网络出错 | 请检查 网络状态. |
RESULT_ALC_UNAVAILABLE | 3 | ALC api 버전 정보가 낮습니다. 해당 라이브러리를 업데이트 해주세요. | ALC api 版本过低。 请更新Library | 请将ALC Library 更新到最新版本。 |
RESULT_DEVELOPER_ERROR | 5 | 파라메터가 유효하지 않습니다. | 参数无效 | 请咨询 ONE store |
RESULT_ERROR | 6 | 정의되지 않은 기타 오류가 발생하였습니다. | 发生了其他未定义的错误 | 请咨询 ONE store |
Last updated