1. OPPO keychain SDK接口文档

1.1. 初始化

方法 OppoKeyChainSdk.init(Context context)
说明 调用SDK接口前需保证已初始化,方法内部是内存级别操作,无耗时逻辑,无 需子线程异步,调用即完成初始化
返回值

1.2. 添加/更新

方法 updateItem(Context context, HashMap item,OnResultListener listener)
说明 ·添加或更新Item
·如果Item不存在,执行添加操作;存在则更新
·必须在非UI线程调用
参数 item ·添加或更新Item集合,item为字典结构 {"key": "xxx", "data":"yyy"},类型为 Map,“key”、“data”字段名固定且必须, 目前只支持“key”和“data”两个字段,key为 item的唯一标识
·示例:
HashMap item = new HashMap();
item.put("key", "test_key1");
item.put("data", "test_data1");
listener ·方法回调
public interface OnResultListener {
void onResult(Result result);

}
Result.code为0表示操作成功,其他失败, code详细定义见下文。
返回值

1.3. 查询

方法 queryItem(Context context, HashMap item, OnResultListener listener)
说明 ·查询Item
·必须在非UI线程调用
参数 item ·需要查询的Item,只填“key”一个字段
·示例:
HashMap item = new HashMap();
item.put("key", "test_key1");
item.put("data", "test_data1");
listener ·方法回调
public interface OnResultListener {
void onResult(Result result);

}
Result.code为0表示操作成功,Result.item为 查询结果,类型为Map。
返回值

1.4. 删除

方法 delItem(Context context, String key, OnResultListener listener)
说明 ·删除Item
·必须在非UI线程调用
参数 item ·需要删除的Item,只填“key”一个字段
·示例:
HashMap item = new HashMap();
item.put("key", "test_key1");
listener ·方法回调
public interface OnResultListener {
void onResult(Result result);
}
Result.code为0表示操作成功,其他失败。
返回值

1.5. 清除

方法 clearItems(Context context, OnResultListener listener)
说明 ·清除调用方应用所有Item
·必须在非UI线程调用
参数 listener ·方法回调 public interface OnResultListener {
void onResult(Result result);
}
Result.code为0表示操作成功,其他失败。
返回值

1.6. 判断本机是否支持keychain能力

方法 boolean isSupportKeyChain(Context context)
说明 ·判断本机是否支持keychain能力
如果业务调用接口前不做判断,且当前本机安装的移动服务版本较低,则会触发“自动跳转软件商店下载更新最新版本”(需另外依赖implementation "com.heytap.msp.sdk:msp-guide-sdk:1.0.0.1"),业务自 行评估体验
返回值 支持,true;否则,false

1.7. Result类说明

public class Result{
        //本次接口调用结果
        private int code;

        //结果描述
        private String message;

        //执行query时返回查询结果字典,其他调用该字段值是空
        private HashMap item;

        public void setCode(intcode){
            This.code=code;
        }

        public void setMessage(Stringmessage){
            this.message=message;
        }

        public void setItem(HashMapitem){
            this.item=item;
        }

        public int getCode(){
            return code;
        }

        public String getMessage(){
            return message;
        }

        public HashMa pgetItem(){
            return item;
        }
        @Override
        public String toString(){
            return "Result{"+
            "code = '"+ code +'\''+
            ", message= '"+ message +'\''+
            ",item = '"+(item != null?item.toString():null)+'\''
        '}';
    }
}

1.8. Result.code(目前已定义5个,以最终交付版为准)

cod message 说明
0 success 调用成功
-1 calling package check failed 调用方包名与callingUid不匹配
-2 empty items items参数为空
-3 empty key or data key或者data参数为空
-4 authfailed 鉴权失败
其他 IPC底层通信错误

1.9. 联调

  • 业务App侧集成keychain-sdk
  • 在oppo手机安装MspCoreApp
  • 调用keychain-sdk接口,callback回调结果
@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2024-01-23 11:14:51

results matching ""

    No results matching ""