WPS二次开发系列:WPS SDK初始化

本文将详细介绍WPS SDK初始化,帮您能够更好的在项目中接入WPS SDK实现自己的应用和WPS应用进行通信交互。

1.集成前的准备

1.1申请集成资料:

向WPS官方发送邮件申请,邮件格式如下

邮件模板:
发起人 :有需要申请接入WPS移动端的企业或者个人
邮件主题: XXX公司XXX项目---WPS Android端 SDK二次开发集成申请
邮件发送: m_open_sdk@wps.cn
邮件内容
请明确包含申请项目背景规模、集成应用第三方APP包名、 具体需求 ******、******集成周期等

以上面格式发送邮件申请后,WPS方审核通过后会以邮件回复的相关集成资料(SDK&Demo&集成文档)

2.开始集成

2.1 环境配置

在自己项目工程中导入wps-sdk依赖库(wps_sdk.aar)

  • 将wps-sdk-xxx.aar 拷贝到项目中的libs目录下
  • 在项目build.gradle中添加
java 复制代码
dependencies {
    implementation fileTree(include: ['*.jar', '*.aar'], dir:'libs')//或者//    implementation files("/libs/wps-sdk-xxx.aar")
     .....
}

2.2 SDK初始化

在第三方应用Application中的onCreate方法中调用

调用 WpsSdk.getInstance().init(...)进行初始化

参考示例代码:

java 复制代码
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        SdkConfig config = new SdkConfig.Builder()
                //开启日志开关
                .setEnableDebug(BuildConfig.DEBUG)
//                .setWpsPackageName("cn.wps.moffice_i18n_TV") //传入WPS的包名,比如需要调用TV版等,默认调用WPS版本不需要设置
                .build();
        //初始化
        WpsSdk.getInstance().init(this,  config, new ResultCallback() {
            @Override
            public void onCallback(Result result) {
                if (result.code == 0){
                    Toast.makeText(MyApplication.this, "WPS SDK初始成功", Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(MyApplication.this, "初始化失败:"+result, Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

2.3 初始化注意事项说明

2.3.1 SDK初始化代码的调用位置?

  • SDK的初始化建议在自己应用MyApplication的onCreate方法中进行,如上文示例代码
  • 如果自己的是多进程架构的,需要注意SDK的初始化和后续SDK调用API保持同一个进程

2.3.2 SDK初始代码形式

2.3.2.1简单默认形式,默认使用WPS个人版
java 复制代码
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        WpsSdk.getInstance().init(this);
    }
}
2.3.2.2 高级形式,SDK初始化时可以进行一些配置
java 复制代码
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        SdkConfig config = new SdkConfig.Builder()
                //开启日志开关
                .setEnableDebug(BuildConfig.DEBUG)
//                .setWpsPackageName("cn.wps.moffice_i18n_TV") //传入WPS的包名,比如需要调用TV版等,默认调用WPS版本不需要设置
                .build();
        WpsSdk.getInstance().init(this,config);
    }
}

📌
PS: 注意可以通过setWpsPackageName来控制SDK打开的WPS版本,对于非应用市场通用的WPS版本,如WPS企业版,WPS TV版等版本,可以通过指定包名进行操作。

2.3.2.3 关注SDK初始返回值
  • 不关心初始化结果(返回值)
    • 默认配置
java 复制代码
WpsSdk.getInstance().init(this);
  • 自定义配置
java 复制代码
      WpsSdk.getInstance().init(this,config);
  • 关心初始化结果(返回值),通过ResulCallback回调得到初始化结果Result
java 复制代码
//初始化
WpsSdk.getInstance().init(this,  config, new ResultCallback() {
    @Override
    public void onCallback(Result result) {
        if (result.code == 0){
            Toast.makeText(MyApplication.this, "WPS SDK初始成功", Toast.LENGTH_SHORT).show();
        }else {
            Toast.makeText(MyApplication.this, "初始化失败:"+result, Toast.LENGTH_SHORT).show();
        }
    }
});

最后如果能够帮助到您,请动动发财的小手来个一键三连💪,老铁们有兴趣可以加Q群:250325397,吹牛摸鱼嗨起来!

相关推荐
-SOLO-1 分钟前
Android Event 日志完全指南
android
壮哥_icon1 小时前
【Android 系统开发】从掉帧卡顿到丝滑:高频硬件中断(IRQ)的 CPU 亲和性性能优化实战
android·性能优化
千里马学框架1 小时前
Android Framework 新手学习踩坑建议指南
android·智能手机·性能优化·framework·aaos·车载开发·系统工程师
懒鸟一枚1 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我123453 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑3 小时前
Sentinel安装
java·后端·微服务
狂奔solar4 小时前
ARMA 模型:从白噪声到万能逼近器
android
渣渣灰飞4 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
qq_422828625 小时前
android 图形学之图层数据送显及合成图层(七)
android
凤凰院凶涛QAQ5 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构