作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397)
本文将详细介绍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中添加
dependencies {
implementation fileTree(include: ['.jar', '.aar'], dir:'libs')//或者// implementation files("/libs/wps-sdk-xxx.aar")
.....
}
2.2 SDK初始化
在第三方应用Application中的onCreate方法中调用
调用 WpsSdk.getInstance().init(...)进行初始化
参考示例代码:
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个人版
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
WpsSdk.getInstance().init(this);
}
}
2.3.2.2 高级形式,SDK初始化时可以进行一些配置
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初始返回值
-
不关心初始化结果(返回值)
-
默认配置
WpsSdk.getInstance().init(this);
-
-
自定义配置
WpsSdk.getInstance().init(this,config);
-
关心初始化结果(返回值),通过ResulCallback回调得到初始化结果Result
//初始化
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,吹牛摸鱼嗨起来!