1
0
Fork 0

Create README.md

master
finogeeksdev 2020-03-15 19:20:12 +08:00 committed by GitHub
parent 84e919c124
commit 1c90aec9b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 92 additions and 0 deletions

92
README.md 100644
View File

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