首页 > 编程语言 >App内拉起小程序的设计方案

App内拉起小程序的设计方案

时间:2023-08-21 12:34:15浏览次数:40  
标签:FinClip 内拉起 App 程序 SECRET 设计方案 KEY SDK 页面

热更新是指软件不通过运营商店的软件版本更新审核,直接通过应用自行下载的软件数据更新的行为。 单来说,就是在用户下载安装APP之后,打开App时遇到的即时更新。热更新是一种各大手游等众多App常用的更新方式。 热更新的工作原理就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复 BUG 和发布功能,让开发者得以绕开苹果的审核机制,避免长时间的审核等待以及多次被拒造成的成本。

什么是小程序运行时框架?

FinClip 的小程序编程模型是分为多个页面,每个页面有自己的 template、CSS 和 JS,实际在运行的时候,业务逻辑的 JS 代码是运行在独立的 JavaScript 引擎中,每个页面的 template 和 CSS 是运行在各自独立的 WebView 里面,页面之间是通过函数 NavigateTo 进行页面的切换。

每个 WebView 里面的页面和公共的 JavaScript 引擎里面的逻辑的交互方式是通过消息服务,页面的一些事件都会通过这个消息通道传给 JavaScript 引擎运行环境,这个运行环境会响应这个事件,做一些 API 调用,可调到客户端凡泰小程序提供的一些能力,处理之后会把这个数据再重新发送给对应的页面渲染容器来处理,把数据和模板结合在一起来,在产生最终的用户界面。如下图:

如何在App里拉起小程序?

以下操作均是使用FinClip 小程序容器去实现的。

iOS端操作如下:

第一步:获取 SDK KEY 及 SDK SECRET
使用FinClip SDK需要申请 SDK KEY 及 SDK SECRET ,只有在SDK初始化的时候配置了正确的 SDK KEY 及 SDK SECRET ,才能初始化成功并正常使用。

1.1 创建应用

需要登录FinClip管理后台「应用管理-新增合作应用」,完成应用创建;

1.2 获取 SDK KEY 及 SDK SECRET

创建应用并添加 Bundle ID后,选择对应 Bundle ID 后的「复制」,就可以导出对应的 SDK KEY 与 SDK SECRET了。

  • SDK KEY:是合作应用能使用小程序SDK的凭证,如果SDK Key校验失败,则SDK的所有Api都无法使用。
  • SDK SECERT:是访问服务的安全证书,不要给第三方。

 

第二步:集成 SDK

集成sdk需要来引入 FinApplet.framework 和FinAppletExt.framework。具体操作方法可以去详细查看官方的的文档。iOS如何引入一个SDK:https://design.finclip.com/technology_book/start-applet/02-应用开发入门/004.html

 

第三步:添加SDK头文件

在需要使用 FinClip 小程序 SDK 的地方,添加如下代码:

#import <FinApplet/FinApplet.h>

如果还集成了扩展 SDK,那么调用扩展 SDK 中的 api,还需要加上下面的代码:

#import  <FinAppletExt/FinAppletExt.h>

当然,最方便的方式是在 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,可以到他们的小程序应用市场(https://www.finclip.com/market)里去找代码包下载。




标签:FinClip,内拉起,App,程序,SECRET,设计方案,KEY,SDK,页面
From: https://www.cnblogs.com/Xxx1m/p/17645700.html

相关文章

  • app字体大小的研究
    模仿手机本身字体1.手机状态栏的中国移动,高度是16px模仿经典应用......
  • 哪篇论文宣布了 HTAP 数据库的诞生? StoneDB带您解读《A Common Database Approach for
    theme:condensed-night-purple开启掘金成长之旅!这是我参与「掘金日新计划·12月更文挑战」的第4天,点击查看活动详情本文是 StoneDB学术分享会专栏的第五篇,我们来分享一下HTAP学术界上比较经典的一篇论文《ACommonDatabaseApproachforOLTPandOLAPUsinganIn-M......
  • 运行 'RuoYiApplication' 时出错: 模块 'ruoyi-admin' 没有 JDK
    项目运行良好,关机重新打开项目时出现“运行'RuoYiApplication'时出错:模块'ruoyi-admin'没有JDK”导致运行失败,经检查项目中已经配置SDK解决办法:重新加载Maven,或者直接点项目右侧的刷新按钮  ......
  • 解决CondaVerificationError: setuptools appears to be corrupted
    问题描述使用Anaconda创建新环境,创建环境时或创建虚拟环境后进入到虚拟环境中安装Python,指定Python版本号小于3.7时,总是会出现如下报错:尝试使用condaclean--all并一路点y,无果而终。解决方案定位到指定包的位置,例如上图中红框展现出来的文件路径,进入到该路径下,将提示已......
  • 鑫达惠购系统APP功能架构介绍
    鑫达惠购是一款新电商模式的购物分销系统,基于分销裂变的商业价值行为,快速地分享邀请用户注册。这个系统的模式有个特别的亮点,基于全网公排的模式快速推动用户在商城上的购买活动。1000人团队讲解,根据你下单时间的先后顺序,系统自动匹配1000人给你,他们提现,你就能拿到他们提现金额的0.......
  • perlapp exe 分析
    通过script定位跟进,定位extractvoid*__fastcalldec_script_40CBB0(BFS*res_bfs,constchar*fname,constchar*a3){//[COLLAPSEDLOCALDECLARATIONS.PRESSKEYPADCTRL-"+"TOEXPAND]StackCookie=qword_4162E8;buffer=0i64;if((unsigned......
  • 对 uniapp 网络请求 uni.request 进行封装
    前言uniapp是一款基于Vue.js框架的跨平台开发工具,可以将代码编译成H5、小程序、App等不同平台的应用。在进行uniapp开发时,网络请求是必不可少的环节。为了方便开发,我们可以封装一些网络请求方法,以便在多个页面中复用,并且可以统一处理错误信息等问题,提高开发效率和代码质量。本文将......
  • Uni-App获取用户已安装应用列表
    //获取用户已装应用列表plus.android.importClass("java.util.ArrayList");plus.android.importClass("android.content.pm.PackageInfo");plus.android.importClass("android.content.pm.PackageManager");constApplicationInfo=plus.android.im......
  • 1.7 App快速预览单张模板
    一、App快速预览单张模板1.环境准备将PC设备与移动设备切换至同一网络环境下。有两种方法:1)手机给电脑开热点2)手机和电脑连接同一热点注:为防止电脑IP未切换到无线网络的IP,请拔掉有线网。2.访问单张模板1)打开FineReport设计器,打开任意一张普通报表或决策报表,以产......
  • 【Oracle Real Application Cluster Database】创建Service资源
    每个数据库都有一个或多个service名称,service名称是提供给客户端连接到数据库实例的名称。创建数据库会默认创建与数据库同名的service,默认的service实现所有实例的负载均衡,可以认为数据库的所有实例是默认创建的service的首选节点。手工创建的service资源区分首选节点与备用节点......