在 iOS 项目中引入 FinClip SDK 十分简单,参考如下步骤即可第一步:获取 SDK KEY 及 SDK SECRET
使用 SDK 需要申请 SDK KEY 及 SDK SECRET ,只有在 SDK 初始化的时候配置了正确的 SDK KEY 及 SDK SECRET ,才能初始化成功并正常使用。
创建应用注册用户需要登录「应用管理-新增合作应用」,完成应用创建
获取 SDK KEY 及 SDK SECRET创建应用并添加 Bundle ID后,若需要导出对应的 SDK KEY 与 SDK SECRET,请选择对应 Bundle ID 后的「复制」,即可通过 ctrl+v或command+v 进行粘贴 *** 作:
请注意:
SDK KEY:是合作应用能使用小程序 SDK 的凭证,如果 SDK Key 校验失败,则SDK 的所有 Api 都无法使用。SDK SECERT:是访问服务的安全证书,不要给第三方。关于创建应用与获取 SDK KEY 及 SDK SECRET 的详细 *** 作,见 「介绍- *** 作指引-企业端 *** 作指引-7.关联移动应用」一节。第二步:集成 SDK
这一步我们在前面的文章中已经有过介绍,可以参考 iOS 如何引入一个 SDK 这篇文章,来引入 FinApplet.framework 和FinAppletExt.framework。
第三步:添加SDK头文件在需要使用 FinClip 小程序 SDK 的地方,添加如下代码:
#import
如果还集成了扩展 SDK,那么调用扩展 SDK 中的 api,还需要加上下面的代码:
#import
当然,最方便的方式是在 pch 文件中添加以上代码,这样在使用的地方就不用再引用了。
第四步:初始化 SDK FATConfig *config = [FATConfig configWithAppSecret:@"SDK KEY" appKey:@"SDK SECRET"];
config.apiServer = @"https://www.finclip.com";
[[FATClient sharedClient] initWithConfig:config error:nil];
第五步:打开小程序
[[FATClient sharedClient] startRemoteApplet:@"app id" startParams:nil InParentViewController:self completion:^(BOOL result, NSError *error) {
NSLog(@"result:%d---error:%@", result, error);
}];
如果你想获取全部项目的示例 DEMO,可以点击下方下载。
Demo
demo.zip
5 MB
Android 端我们 Android 开发者应该都知道 Java 的口号,write once , run anywhere,而小程序平台可以 write once , run any miniprogram,小程序容器平台可以承载千万种各类的小程序 , 今天我们来研究下如何让自己App成为个容器,运行各类小程序。 这里借助 FinClip 平台完成这一项功能。Android FinClip SDK 集成
在集成 SDK 前需要先到平台申请 SDK Key 和 Secret 的,并且把你的小程序代码包上传到平台上,获得小程序 appID,客户端需要通过这些信息来驱动小程序,参照上面的文档 *** 作就行了, 这里不重复叙述。FinClip SDK 集成前,需得到如下信息 SDK KeySDK SecretapiURL //小程序平台的urlappID // 小程序的appId SDK 的集成主要由以下几步构成 获取最新的SDK 版本添加依赖修改混淆配置,添加 FinClip 的混淆配置初始化 FinClip SDK启动小程序 第一步:添加依赖
在 root 工程的 build.gradle 文件里面添加 Maven 仓库
maven {
url "https://gradle.finogeeks.club/repository/applet/"
credentials {
username "applet"
password "123321"
}
}
随后,在 app module build.gradle 文件添加依赖
implementation 'com.finogeeks.lib:finapplet:2.34.5'
第二步:修改混淆配置,添加 FinClip 的混淆配置
在 App 的 proguard-rules.pro 文件里面添加混淆配置
-keep class com.finogeeks.** {*;}
第三步:初始化 FinClip SDK
建议放在 Application#onCreate 方法下去初始化 FinClip SDK,如下 APP_KEY,APP_SECRET 等字段是在 build.gradle 配置编译动态生成的
BuildConfig.APP_KEY // Finclip SDK 的key 在平台上获取的BuildConfig.APP_SECRET //Finclip SDK 的secret 在平台上获取的FinAppConfig.ENCRYPTION_TYPE_SM // 加密类型BuildConfig.API_URL //如果不是私有化部署默认填写 https://mp.finogeeks.com 这个就行了
FinAppConfig config = new FinAppConfig.Builder()
.setSdkKey(BuildConfig.APP_KEY)
.setSdkSecret(BuildConfig.APP_SECRET)
.setApiUrl(BuildConfig.API_URL)
.setApiPrefix(BuildConfig.API_PREFIX)
.setDebugMode(BuildConfig.DEBUG)
.setEncryptionType(FinAppConfig.ENCRYPTION_TYPE_SM)
.build();
FinAppClient.INSTANCE.init(this, config, new FinCallback
defaultConfig {
applicationId "com.finogeeks.finclip.demo"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
buildConfigField "String", "APP_KEY", "\"22LyZEib0gLTQdU3MUauATBwgfnTCJjdr7FCnywmAEM=\""
// App Secret
buildConfigField "String", "APP_SECRET", "\"bdfd76cae24d4313\""
// API服务地址
buildConfigField "String", "API_URL", "\"https://mp.finogeeks.com\""
// API服务前缀
buildConfigField "String", "API_PREFIX", "\"/api/v1/mop/\""
ndk {
abiFilters "x86", "armeabi", 'armeabi-v7a', 'arm64-v8a'
}
}
第四步:启动小程序
Map params = new HashMap<>();
params.put("path", "pages/index/index");
String appId = "5fc8934aefb8c600019e9747";
FinAppClient.INSTANCE.getAppletApiManager().startApplet(MainActivity.this, appId, params);
注意事项
小程序是多进程设计,Application#onCreate 会多次初始化,建议添加如果代码,阻止小程序进程去初始化你其他的组件。
@Override
public void onCreate() {
super.onCreate();
if (FinAppClient.INSTANCE.isFinAppProcess(this)) {
return;
}
}
由于 FinClip SDK 部分代码由 C++ 编写并且加固, 所以不能被压缩,需添加如下配置:
packagingOptions {
// libsdkcore.so是被加固过的,不能被压缩,否则加载动态库时会报错
doNotStrip "*/x86/libsdkcore.so"
doNotStrip "*/x86_64/libsdkcore.so"
doNotStrip "*/armeabi/libsdkcore.so"
doNotStrip "*/armeabi-v7a/libsdkcore.so"
doNotStrip "*/arm64-v8a/libsdkcore.so"
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)