FinClip Android DEMO
本專案提供在Android 環境中運行小程式的DEMO 範例
https://www.finclip.com/ ?
官方網站| 範例小程式| 開發文件| 部署指南| SDK 整合指南| API 清單| 元件清單| 隱私承諾
有沒有想過,開發好的微信小程式能放在自己的APP 裡直接運行,只需要開發一次小程序,就能在不同的應用中打開它,是不是很不可思議?
有沒有試過,在自己的APP 中引入一個SDK ,應用中不僅可以打開小程序,還能自定義小程序接口,修改小程序樣式,是不是覺得更不可思議?
這就是FinClip ,就是有這麼多不可思議!
在工程的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 "
}
}
}
}
implementation 'com.finogeeks.lib:finapplet:+'
整合SDK 之後,為了避免SDK 中部分不能被混淆的程式碼被混淆,需要在工程的混淆規則設定檔中增加以下設定:
-keep class com.finogeeks.** {*;}
我們強烈建議在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的初始化,也不需要在小程式進程中執行。
舉個例子?
應用程式使用了一些第三方函式庫,這些函式庫需要在應用程式啟動時先初始化,那麼在Application 中執行初始化時,只有當機為宿主程序時才需要初始化這些第三方函式庫,小程式行程就是不需要初始化這些函式庫的。
因此,在初始化SDK之前,一定要判斷目前進程是哪一個進程,如果是小程式進程,就不進行任何操作了:
if ( FinAppClient . INSTANCE . isFinAppProcess ( this )) {
return ;
}
FinAppClient . INSTANCE . getAppletApiManager (). startApplet ( this , "appid" );
小程式ID 與微信小程式ID 不一樣喔! (這裡是特別指FinClip 平台的ID )
點擊這裡查看Android 快速整合文檔
.
├─.github
│
├─.idea 由IDE自动生成,无需关注
│
├─app 项目源码主目录
│ │
│ │ build.gradle 应用构建配置
│ │
│ │ proguard-rules.pro 混淆配置
│ │
│ ├─release 构建应用生成的apk目录
│ │
│ └─src
│ ├─androidTest 单元测试目录,由IDE自动生成,无需关注
│ │
│ ├─main 应用源码主目录
│ │ │ AndroidManifest.xml 应用清单文件
│ │ │
│ │ ├─java 应用源码目录
│ │ │
│ │ └─res 资源文件目录
│ │ ├─drawable darwable资源目录
│ │ │
│ │ ├─drawable-v24 darwable资源目录
│ │ │
│ │ ├─layout 布局文件目录
│ │ │
│ │ ├─mipmap-anydpi-v26 图片资源目录
│ │ │
│ │ ├─mipmap-hdpi 图片资源目录
│ │ │
│ │ ├─mipmap-mdpi 图片资源目录
│ │ │
│ │ ├─mipmap-xhdpi 图片资源目录
│ │ │
│ │ ├─mipmap-xxhdpi 图片资源目录
│ │ │
│ │ ├─mipmap-xxxhdpi 图片资源目录
│ │ │
│ │ └─values 各项资源值配置目录
│ │
│ └─test 单元测试目录,由IDE自动生成,无需关注
│
└─gradle gradle版本配置目录,一般情况下无需关注
以下內容是您在FinClip 進行開發與體驗時,常見的問題與指引訊息
微信掃描下面二維碼,追蹤官方公眾號「凡泰極客」 ,以獲得更多精彩內容。
微信掃描下面二維碼,加入官方微信交流群,以獲得更多精彩內容。