服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

手把手系列:如何将小程序游戏引入自有APP?(iOS篇)

日期: 来源:凡泰极客收集编辑:陈熙

点击蓝字

关注我们


自FinClip  诞生以来,一直有不少开发者询问官方 FinClip 什么时候可以支持微信小游戏?实际上,从去年开始我们就把支持微信小游戏的计划做进了产品的 Roadmap。2022年底,我们终于在新年之前实现了对小游戏的支持!


近期,我们将面向开发者们发起产品公测!我们诚挚的邀请各位来参与FinClip  支持小游戏的内测体验活动,欢迎大家来试用、拍砖。By the way,官方也为参与公测的大家准备了丰富的礼物~敬请期待!


言归正传,本期手把手系列将为大家演示将小程序游戏引入自有app的操作流程!



在 iOS 项目中引入 FinClip SDK ,实现小程序游戏在App中运行,操作如下:


第一步:获取凭据( SDK KEY 及 

SDK SECRET)


首先,集成 SDK 需要先在 FinClip 平台中创建应用并绑定小程序游戏应用,获得每个应用专属的SDK KEY及SDK SECRET后,随后就可以在集成 SDK 时填写对应的参数。打开小程序时 SDK 会自动初始化,并校验SDK KEY,SDK SECRET与BundleID(Application ID)是否正确,这一步正确了才能初始化成功并正常使用。


1.1 创建小程序游戏


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


注册用户需要登录「宿主应用-新增合作应用」,完成应用创建


1.2 获取 SDK KEY 及 SDK SECRET


新增应用后,可以展开应用名称,在下方的列表中点击「添加 BundleID」,在出现的弹窗中输入需要绑定应用的 BundleID。


配置 BundleID


完成 BundleID 的填写,并点击确定按钮后,您会看到如上图所示的界面。其中的SDK KEY,SDK SECRET与API SERVER是您在集成小程序 SDK 时需要要到的凭据。


⚠️请注意:


  • SDK KEY:是合作应用能使用小程序 SDK 的凭证,如果 SDK Key 校验失败,则SDK 的所有 Api 都无法使用。

  • SDK SECERT:是访问服务的安全证书,不要给第三方。


第二步:集成 SDK


FinClip 小程序 SDK 目前支持pod集成或者手动集成。此次操作仅介绍pod集成方式。更多详细内容可以查看官方文档。


2.1安装pod环境


Cocoapods 提供了一个非常简单的依赖管理系统,避免手动导入产生的错误,非常方便。官方安装指南(英文) (opens new window)或CocoaPods安装教程(中文) (opens new window)。

sudo gem install cocoapods
pod setup


2.2 创建Podfile文件


如果你不需要使用扩展 SDK,那么在podfile中只依赖FinApplet.framework即可。如果你需要使用扩展 SDK 中的 API,那么你还需要依赖FinAppletExt.framework.


注意:从2.8.5版本开始,FinClip 小程序 SDK 拆分为多个SDK:

FinApplet(核心SDK)、FinAppletExt、FinAppletBDMap、FinAppletGDMap、FinAppletWebRTC、FinAppletBLE、FinAppletAgoraRTC、FinAppletContact、FinAppletClipBoard、FinAppletWXExt。


其中只有FinApplet是必须的,其他扩展 SDK 可根据实际情况选择集成。


2.3 安装或更新依赖


然后,执行 pod update 或者 pod install 即可。


2.4 打开工程


执行完 pod update 或者 pod install ,打开工程目录,找到xxx.xcworkspace文件,双击打开即可。


3. 增加权限描述


根据您的实际需求,集成响应的SDK,并在工程info.plist文件中增加权限配置


如果您集成所有的 SDK,那么需要配置的权限包括:相册、相机、麦克风、位置、蓝牙、通讯录。这些权限,全都是调用相应的api和组件时才会触发。


第三步:添加SDK头文件


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

#import <FinApplet/FinApplet.h>


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

#import  <FinAppletExt/FinAppletExt.h>


当然,最方便的方式是在 pch 文件中添加以上代码,这样在使用的地方就不用再引用了。


第四步:初始化 SDK


在工程的AppDelegate中的以下方法中,调用 SDK 的初始化方法。

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"servers" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:plistPath];
NSMutableArray *storeArrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
storeConfig.sdkKey = dict[@"sdkKey"];
storeConfig.sdkSecret = dict[@"sdkSecret"];
storeConfig.apiServer = dict[@"apiServer"];
storeConfig.apmServer = dict[@"apmServer"];
if ([@"SM" isEqualToString:dict[@"cryptType"]]) {
storeConfig.cryptType = FATApiCryptTypeSM;
} else {
storeConfig.cryptType = FATApiCryptTypeMD5;
}

[storeArrayM addObject:storeConfig];
}
FATConfig *config = [FATConfig configWithStoreConfigs:storeArrayM];
[[FATClient sharedClient] initWithConfig:config error:nil];



本次测试需要使用微信的登录,获取用户信息等能力,因此需要进行初始化注册组件。

// 准备扩展api
[[FATExtClient sharedClient] fat_prepareExtensionApis];


并在AppDelegate.m中增加下面的代码。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
/* 微信登录和分享 */
if ([WXApi handleOpenURL:url delegate:[FATWXApiManager sharedManager]]) {
return YES;
}
return YES;
}

// iOS 9.0 之前
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
/* 微信登录和分享 */
// `WeChatHandleURLDelegate ` 为 `WXApiDelegate`代理文件
if ([WXApi handleOpenURL:url delegate:[FATWXApiManager sharedManager]]) {
return YES;
}
return YES;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
/* 微信登录和分享 */
if ([WXApi handleOpenURL:url delegate:[FATWXApiManager sharedManager]]) {
return YES;
}
return YES;
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
return [WXApi handleOpenUniversalLink:userActivity delegate:[FATWXApiManager sharedManager]];
}


第五步、handleOpenURL处理


一般来说小游戏都需要支持外部通过链接打开,便于分享。则需要做如下处理。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([[FATClient sharedClient] handleOpenURL:url]) {
return YES;
}
return YES;
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
if ([[FATClient sharedClient] handleOpenURL:url]) {
return YES;
}
return YES;
}


第六步、打开小程序

FATAppletRequest *request = [[FATAppletRequest alloc] init];
request.appletId = @"小程序id";
request.apiServer = @"服务器地址";
request.transitionStyle = FATTranstionStyleUp;
request.startParams = startParams;

[[FATClient sharedClient] startAppletWithRequest:request InParentViewController:self completion:^(BOOL result, FATError *error) {
NSLog(@"打开小程序:%@", error);
} closeCompletion:^{
NSLog(@"关闭小程序");
}];


其他关于 FinClip 小程序 SDK 的 API介绍,请查看 API 说明文档。


打开效果如下:



各位开发者可以上手试试看,有任何问题都可以向官方提出哦!



点击阅读原文查看更多官方文档链接!




END.



「 FinClip 」


FinClip 是凡泰极客旗下的核心产品,基于小程序无需下载安装、随需随用、自动升级的特性,构造了面向企业、具备自主管控运行能力的 FinClip 小程序中心(FinClip Operation Center),赋能企业拥有自己的数字化基建。任何企业的 App,均可以通过嵌入 FinClipSDK 而立刻获得运行小程序的能力;而通过部署 FinClip ,即可在运行小程序的同时,建立自己的应用商店、成规模地管理自己的应用生态,按需引入或向外分发内容与服务。



「凡泰极客」


凡泰极客成立于2017年,致力于通过一套自主创新、中立可靠、灵活开放的企业级云原生数字引擎为数字世界的高效运行提供坚实的基础支撑,加速推动百行千业数字化转型。凡泰极客核心产品 FinClip 凭借其插件化、嵌入式、轻量而灵活的产品特点及行业领先优势,已在银行、证券、政企、电商、航空、园区、零售、教育、传媒、地产等多个行业成功落地。




相关阅读



你好,交通银行

我们的办公桌

我们做了一点“微小”的工作

凡泰极客入选《2021中国FinTech TOP50》


你好,招商证券!凡泰极客中标招商证券小程序平台建设项目



相关阅读

  • 小游戏流量变现瓶颈,新增长点是超级App?

  • 点击蓝字关注我们2018年微信在其6.6.1版本中宣布支持小游戏,之后的几年,但凡能掀起各大社交平台上病毒式传播的,几乎都是小游戏。小游戏玩法简单,传播机制简单,套路简单,连赚钱的
  • 分账户管理,让理财更自由

  • 文/何挺在日常生活中,大多数人无法做到对自己的财富进行精细化管理,吃饭、购物、娱乐、投资理财...的钱用的都是同一张卡,支出管理很乱,也没有对未来用度的规划。从生活角度讲,把
  • 好书推荐 | 这不是爱,这是情感操纵

  • 基本信息书名:The Gaslight Effect作者:Robin Stern出版时间:2007年5月推荐理由自信自立自强,远离煤气灯人理智设置善良与亲密的边界,警惕陷入情感操纵的陷阱活出自我,了解黑暗又
  • 面对经济不确定性,该怎么“苟”

  • 冰川思想库研究员丨关不羽天凉好个秋,每个人多少都能感受到几分凉意,心态也有些微妙。前段时间,重启供销社、试点社区食堂,引发一时热议。有评论说是过度紧张,倒也不错。微妙也好
  • 希望有一天,不必在她们前面加上“女性”二字

  • 2020年年底,戴锦华老师在媒体采访中用“停滞”描述那一年,两年过去了,我们仍然能或多或少地感受到这种“停滞”,以及这种状态为我们带来的种种困惑与愤怒。但我们也能看到,在愤怒
  • 草稿拾遗 039 期

  • 你好,我是潦草学者,这是第 39 期草稿拾遗。智慧造就了他的孤独,就好像多年以前,孤独造就了他的智慧。via. 《禅与摩托车维修艺术》

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 小游戏流量变现瓶颈,新增长点是超级App?

  • 点击蓝字关注我们2018年微信在其6.6.1版本中宣布支持小游戏,之后的几年,但凡能掀起各大社交平台上病毒式传播的,几乎都是小游戏。小游戏玩法简单,传播机制简单,套路简单,连赚钱的
  • 重磅!周末突发大事件,这些消息影响下周股市

  • 来源:东方财富网发布日期:12月18日本周末影响市场的重要资讯有:中央经济工作会议在北京举行;商务部就美国将36家中国实体列入美出口管制“实体清单”答记者问;央行副行长刘国强称
  • 一分钟看懂 | 北交所上市公司——禾昌聚合

  • 为帮助投资者快速了解北交所上市公司,全国股转公司 北京证券交易所投资者教育基地精心推出“一分钟看懂北交所上市公司”系列短视频。本期,我们和投资者一起走进“
  • 退市在即?又一ST“末路狂奔”

  • 来源:东方财富网发布日期:12月20日今天A股继续调整,格力地产、新华制药、海南椰岛等近期热门股纷纷遭受重挫,而前期“跌麻了”的*ST泽达却成了“明星”。01此前20天跌超70%说起*
  • 活动预告丨云上课堂【第16期】读懂上市公司报告

  • 上市公司报告是上市公司根据证监会发布的《上市公司信息披露管理办法》,定期和不定期对公司自身信息进行披露的报告,涵盖公司发行、上市后经营情况、再融资等所有需要向投资者