SDK 集成指南
优质
小牛编辑
129浏览
2023-12-01
1. iOS 快速集成
1.1 修改Podfile文件,增加FinApplet依赖
source 'https://github.com/CocoaPods/Specs.git'
pod 'FinApplet'
1.2 五行代码完成SDK初始化
在工程的 AppDelegate 中的以下方法中,调用 SDK 的初始化方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *appKey = @"SDKKEY";
FATConfig *config = [FATConfig configWithAppSecret:@"SECRET" appKey:appKey];
config.apiServer = @"https://api.finclip.com";
config.apiPrefix = @"/api/v1/mop";
[[FATClient sharedClient] initWithConfig:config error:nil];
return YES;
}
1.3 打开小程序
NSString *appId = @"小程序id";
// 打开小程序
[[FATClient sharedClient] startRemoteApplet:appId startParams:nil InParentViewController:self completion:^(BOOL result, NSError *error) {
NSLog(@"result:%d---error:%@", result, error);
}];
提示
- SDK KEY 和 SECRET 可以从社区版的管理后台中获取;
- apiServer 为当前小程序后端的服务地址,也即前文所输入的
IP:端口
; - 小程序id 为在管理后台上架的小程序唯一ID(在小程序上架时自动生成);
- 上述的参数可以在前文服务器部署的后台界面上获取,也可以在没有部署服务端的情况下在 FinClip 官网 (opens new window) 注册体验;
- 关于 SDK 集成的具体方法,请参考 iOS集成 文档;
- 重要事情说四遍,您可以在官方的 Github 仓库 (opens new window)中查看示例代码;
- 请注意 APP 的Bundle Id 需要与管理后台中添加的保持一致,可在【企业端-应用管理】中查看。
2. Android 快速集成
2.1 在工程的build.gradle中需要配置的内容
在工程的build.gradle
中添加maven仓库的地址:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:3.5.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.60"
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
maven {
url "https://gradle.finogeeks.club/repository/applet/"
credentials {
username "applet"
password "123321"
}
}
}
}
2.2 在gradle中依赖SDK
implementation 'com.finogeeks.lib:finapplet:+'
2.3 配置混淆规则
集成SDK之后,为了避免 SDK 中部分不能被混淆的代码被混淆,需要在工程的混淆规则配置文件中增加以下配置:
-keep class com.finogeeks.** {*;}
2.4 SDK初始化
我们强烈建议在Application
中对SDK进行初始化,初始化SDK需要传入的各项参数如下:
FinAppConfig config = new FinAppConfig.Builder()
.setAppKey("SDKKEY")
.setAppSecret("SECRET")
.setApiUrl("https://api.finclip.com")
.setApiPrefix("/api/v1/mop/")
.setGlideWithJWT(false)
.build();
FinCallback<Object> callback = new FinCallback<Object>() {
@Override
public void onSuccess(Object result) {
// SDK初始化成功
}
@Override
public void onError(int code, String error) {
// SDK初始化失败
Toast.makeText(AppletApplication.this, "SDK初始化失败", Toast.LENGTH_SHORT).show();
}
@Override
public void onProgress(int status, String error) {
}
};
FinAppClient.INSTANCE.init(this, config, callback);
SDK采用多进程机制实现,每个小程序运行在独立的进程中,即一个小程序对应一个进程。在初始化SDK时,要特别注意的一点是:小程序进程在创建的时候,不需要执行任何初始化操作,即使是小程序SDK的初始化,也不需要在小程序进程中执行。
举个例子