1
0
Fork 0
phizclip-android-demo/README.md

91 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 五行代码让APP运行小程序
## 1、在工程的build.gradle中需要配置的内容
在工程的`build.gradle`中添加maven仓库的地址
```groovy
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://gradle.finogeeks.club/repository/applet/"
credentials {
username "applet"
password "123321"
}
}
}
}
```
## 2、在gradle中依赖SDK
```groovy
implementation 'com.finogeeks.lib:finapplet:2.12.39'
```
## 3、 配置混淆规则
集成SDK之后为了避免SDK中部分不能被混淆的代码被混淆需要在工程的混淆规则配置文件中增加以下配置
```properties
-keep class com.finogeeks.** {*;}
```
## 4、SDK初始化
我们强烈建议在`Application`中对SDK进行初始化初始化SDK需要传入的各项参数如下
```java
FinAppConfig config = new FinAppConfig.Builder()
.setSdkKey("22LyZEib0gLTQdU3MUauATBwgfnTCJjdr7FCnywmAEM=") // 需替换为自己的SDK Key
.setSdkSecret("bdfd76cae24d4313") // 需替换为自己的SDK Secret
.setApiUrl("https://mp.finogeeks.com") // 需替换为对应后端服务的地址
.setApiPrefix("/api/v1/mop/") // 需替换为对应后端服务的接口请求路由前缀
.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的初始化也不需要在小程序进程中执行。例如应用使用了一些第三方库这些库需要在应用启动时先初始化那么在`Application`中执行初始化时,只有当前进程为宿主进程时才需要初始化这些第三方库,小程序进程是不需要初始化这些库的。
因此在初始化SDK之前一定要判断当前进程是哪一个进程如果是小程序进程就不进行任何操作了
```java
if (FinAppClient.INSTANCE.isFinAppProcess(this)) {
return;
}
```
* **SDK Key** 和 **SDK Secret** 可以从免费一键部署的社区版的管理后台获取。
* **apiUrl** 为小程平台后端服务的地址。
* **apiPrefix** 为小程平台后端服务的接口请求路由前缀。
* **小程序id** 为在管理后台上架的小程序appid。
* 上述的参数可以在前文服务器部署的后台界面上获取,亦可以在没有部署服务端的情况下在[https://mp.finogeeks.com](https://mp.finogeeks.com)快速注册,免费获取。
* 具体的操作方法请参考 [Android集成](https://mp.finogeeks.com/mop/document/runtime-sdk/sdk-integrate/android.html)