本文档将介绍如何将 Copilot 应用集成到 iOS App 中
一、iOS SDK 使用说明
1、使用示例
添加依赖
指定阿里云仓库索引
source "https://github.com/aliyun/aliyun-specs.git"
添加依赖
pod 'AliyunMobiCopilot', '1.0.1'
执行 pod install
,保存设置
使用 SDK
引入头文件
#import "AliyunMobiCopilot/AliyunMobiCopilot.h"
在调用层声明要实现的协议AliyunMobiCopilotDelegate
@interface CopilotPage () <AliyunMobiCopilotDelegate>
@property (nonatomic, strong) WKWebView *webView;
@property (nonatomic, strong) AliyunMobiCopilot *aliyunMobiCopilot;
@end
初始化 SDK
self.aliyunMobiCopilot = [
[AliyunMobiCopilot alloc]
initWithWebView:self.webView
url: @"https://runtime-stage.mobiapp.cloud/workspace171343386479015/apps/172854875547671/"
accessToken:@""
delegate:self
];
2、详细说明
初始化接口
接口定义:- (instancetype)initWithWebView:(WKWebView *)webView url:(NSString *)url accessToken:(NSString *)accessToken delegate:(id<AliyunMobiCopilotDelegate>)delegate;
参数定义
参数 | 类型 | 是否必填 | 说明 |
webView | WKWebView * | 是 | 用于加载和显示内容的 Web 视图 |
url | NSString * | 是 | Copilot 应用 URL |
accessToken | NSString * | 是 | 开发环境应用:不需要传递 accessToken 生产环境应用:通过 GenerateNativeUserToken 接口 生成 accessToken,传递给 SDK |
delegate | id<AliyunMobiCopilotDelegate> | 是 | 处理事件的代理对象 |
加载 Copilot 应用
接口定义:- (void)loadCopilot;
更新身份验证令牌
接口定义:- (void)updateAccessToken:(NSString *)accessToken;
accessToken 过期时间为 300 秒,需要在过期时间内通过 RefreshNativeUserToken 接口 重新获取,通过 [aliyunMobiCopilot updateAccessToken: @"nextAccessToken"];
设置新的 accessToken
AliyunMobiCopilotDelegate 协议说明
方法名 | 类型 | 说明 |
-handlerMobiErrorWithCode:message: | NSString *code, NSString *message | 当 Mobi 环境中发生错误时调用 |
-handlerMobiNavigateErrorWithRouterKey:code:message: | NSString *routerKey, NSString *code, NSString *message | 当发生导航错误时调用 |
-handlerNavigateTo:routerParams: | NSString *routerKey, NSDictionary *routerParams | 当触发导航事件时调用 |
错误码说明
错误码 | 说明 |
AccessTokenError | AccessToken 过期 |
NavigateError | 跳转错误,如参数无法序列化 |
updateAccessTokenError | 更新 AccessToken 错误 |
二、iOS SDK Demo 工程使用说明
1、通过 Copilot 应用模板创建应用,发布应用到开发或生产环境
2、下载 Demo 仓库到本地,工程文件夹为:mobi-copilot-ios-demo,项目结构:
.
├── Podfile
├── README.md
└── mobi-copilot-ios-demo
├── CopilotPage
├── LeavePage
├── MeetingPage
└── main.m
3、获取应用运行信息
从应用环境信息获取应用地址
4、将应用 url 和 accessToken 作为参数传递给 SDK
将 Copilot 应用的开发环境访问链接,配置到工程的mobi-copilot-ios-demo/CopilotPage/CopilotPage.m
文件中。
设置 url 和 accessToken 传参
开发环境应用:不需要传递 accessToken
生产环境应用:通过 GenerateNativeUserToken 接口 生成 accessToken,传递给 SDK
accessToken 过期时间为 300 秒,需要在过期时间内通过 RefreshNativeUserToken 接口 重新获取,通过
[aliyunMobiCopilot updateAccessToken: @"nextAccessToken"];
设置新的 accessToken。
5、运行 Demo
安装依赖
pod install
使用 Xcode 启动项目 Product -> Run
启动登录访问开发环境的 Copilot 应用,生产环境使用 accessToken 免登
成功访问到 Copilot 应用,再向 Copilot 表达请假或预定会议室的意图时,Copilot 将下发跳转到 Native 的页面的功能路由,并匹配相关的页面表单项。
6、问题解答
如果启动项目遇到错误:Framework 'Pods_mobi_copilot_ios_demo' not found
请删除 Frameworks 引用,再次启动项目