開始
下載 APOLLO SDK
請 聯繫我們 ,並簡要說明您的應用程序和聯繫信息。
使用 .jar 文件
將 com.scomatech.contross-*.jar
放入您項目的 app/libs
目錄中。
app/libs
├── ...
├── com.spectratech.controllers-0.02.0.jar
└── ...
在項目的 app build.gradle 中,請確保包括:
dependencies {
...
implementation fileTree(dir: 'libs', include: ['*.jar'])
...
}
初始化
我們將在整個 SDK 部分展示 kotlin 示例
getInstance
SDK 使用單例模式,這是為了確保只創建一個實例。使用 getControllerInstance(context, callbackDelegate)
來創建實例。創建完成之後,通過 releaseControllerInstance()
釋放。
connectController
獲取示例之後,接下來要做的是與安全模塊建立通信通道。使用 connectController()
和 disconnectController()
分別連接和斷開連接。
一旦連接上,就可以開始為專用對象實施特定的函數。
enableDebugLog
在開發期間,您可以通過 enableDebugLog(true)
打開調試日誌。這允許在控制台中打印所有函數、回調函數及其輸入及輸出。這個調試日誌在默認情況下是關閉的。
請注意,日誌可能包含敏感數據,因此在發布版本中應該關閉此功能。
onError
有時可能會存在錯誤情況,會通過 onError
回調返回。
transactionFlowController 示例
abstract class ApolloTransactionController(private val context: Context) : TransactionFlowDelegate {
private var transactionFlowController: TransactionFlowController? = null
fun connect() {
if (transactionFlowController == null) {
// get instance
transactionFlowController = getControllerInstance(context, this)
// enable debug log display in console
SPDeviceController.enableDebugLog(true)
// establish the communication channel with secure module
transactionFlowController?.connectController()
}
}
fun disconnect() {
transactionFlowController?.disconnectController()
transactionFlowController?.releaseControllerInstance()
}
override fun onError(errorType: ControllerError.Error?, message: String?) {
// handle error here
}
}