ios-native-sdk
一个轻量级的 SDK,允许轻松地将 eko 项目集成到 iOS 应用中
API
EkoPlayerView
这个是实现 Eko播放器的视图。它还将播放器的事件转发到整个应用中。
静态
EkoPlayerView.clearData()
清除所有 EkoPlayerView 的 Webview 数据,包括:缓存、cookies 和javascript 存储。注意:由于 iOS 中 Webview 数据在应用级别共享,调用此方法将清除所有 Webview 的数据。
属性
delegate : EkoPlayerViewDelegate
查看 EkoPlayerViewDelegate 获取更多信息
urlDelegate: EkoUrlDelegate
可选。如果没有设置任何代理,URL将会在默认浏览器中打开。查看 EkoUrlDelegate 获取更多信息
shareDelegate: EkoShareDelegate
可选。如果没有设置任何代理,将通过原生iOS分享对话框分享URL。查看 EkoShareDelegate 获取更多信息
appName: String
应用名用于分析目的。如果在未设置的情况下,将默认使用包标识符。警告:设置此属性将会重置整个WebView。
方法
init()
EkoPlayerView 可以通过编程方式初始化或通过故事板来包含。
load(projectId: String, options: EkoOptions)
将加载并显示一个 eko 项目。EkoPlayerView 将在准备播放项目时显示加载动画。
参数 | 类型 | 描述 |
---|---|---|
projectId | String |
要显示的项目 id |
options | EkoOptions |
项目交付的选项。有关更多详细信息,请参见 EkoOptions。 |
play()
将尝试开始播放 eko 项目。任何错误将通过 EkoPlayerViewDelegate 报告。如果在玩家准备就绪之前尝试播放,可能会发生错误。
pause()
将尝试暂停 eko 项目。任何错误将通过 EkoPlayerViewDelegate 报告。如果在玩家准备就绪之前尝试暂停,可能会发生错误。
invoke(method: String, args: [Any], errorHandler: @escaping (Error) -> Swift.Void)
将调用开发者网站上定义的任何播放器函数,并通过回调函数返回响应。
参数 | 类型 | 描述 |
---|---|---|
method | String |
要调用的播放器方法。 |
args | Any |
传递给方法的任何参数(必须可序列化为 json) |
errorHandler | 函数 |
错误处理器。 |
这是一个应用应该实现的协议。事件和其他信息将通过代理从SDK传递给应用。
方法
onEvent(event:String, args: [Any])eko播放器引发多个事件。应用可以通过在调用load()时提供事件名称来监听这些事件。每当触发load()中传入的事件时,将调用此函数。
参数
类型
描述
事件
String
引发的事件的名称。
args
Any
在引发事件时可能传递的任何参数。
onError(error: Error)当发生错误时调用。这可能会在加载过程中发生(如果提供了无效的项目ID或无法打开项目链接),或者如果传入的事件包含损坏的数据(缺少事件名称等)。
参数
类型
描述
错误
错误
描述问题的错误。
EkoUrlDelegate链接出事件代理。
方法
onUrlOpen(url: String)一个Eko项目中可以存在从内部输出的链接。当需要发生链接输出时,此函数将被调用。代理负责打开URL。
参数
类型
描述
url
String
要打开的URL。
EkoShareDelegate分享意图的代理。
Methods
onShare(url: String)一个Eko项目内可以通过分享按钮或ekoshell发生分享意图。每当发生分享意图时,这个函数将被调用。
参数
类型
描述
url
String
项目的规范URL。
EkoOptions
Properties = {“autoplay”: "true"}
params: Map影响交付的嵌入参数列表。
events: String[] = []应该转发到应用的事件列表。
cover: UIView.Type? = EkoDefaultCover.self用于覆盖 eko 项目加载的 UIView。设置为 nil
以禁用。将由 EkoPlayerView 初始化。
默认玩家事件
eko.canplay触发器,当播放器已缓冲足够媒体以开始播放时。仅在 showCover=true
和 autoplay=false
时添加。
eko.playing仅在 showCover=true
和 autoplay=true
时添加。
附加说明请注意这是一个静态框架。如果您想使用动态版本,请下载仓库,将MACH_O_TYPE
改为dynamiclib
并重新构建。只有动态框架支持Storyboard兼容性。
这是一个应用应该实现的协议。事件和其他信息将通过代理从SDK传递给应用。
方法
onEvent(event:String, args: [Any])
eko播放器引发多个事件。应用可以通过在调用load()时提供事件名称来监听这些事件。每当触发load()中传入的事件时,将调用此函数。
参数 | 类型 | 描述 |
---|---|---|
事件 | String |
引发的事件的名称。 |
args | Any |
在引发事件时可能传递的任何参数。 |
onError(error: Error)
当发生错误时调用。这可能会在加载过程中发生(如果提供了无效的项目ID或无法打开项目链接),或者如果传入的事件包含损坏的数据(缺少事件名称等)。
参数 | 类型 | 描述 |
---|---|---|
错误 | 错误 |
描述问题的错误。 |
EkoUrlDelegate
链接出事件代理。
方法
onUrlOpen(url: String)
一个Eko项目中可以存在从内部输出的链接。当需要发生链接输出时,此函数将被调用。代理负责打开URL。
参数 | 类型 | 描述 |
---|---|---|
url | String |
要打开的URL。 |
EkoShareDelegate
分享意图的代理。
Methods
onShare(url: String)
一个Eko项目内可以通过分享按钮或ekoshell发生分享意图。每当发生分享意图时,这个函数将被调用。
参数 | 类型 | 描述 |
---|---|---|
url | String |
项目的规范URL。 |
EkoOptions
Properties
= {“autoplay”: "true"}
params: Map影响交付的嵌入参数列表。
events: String[] = []
应该转发到应用的事件列表。
cover: UIView.Type? = EkoDefaultCover.self
用于覆盖 eko 项目加载的 UIView。设置为 nil
以禁用。将由 EkoPlayerView 初始化。
默认玩家事件
eko.canplay
触发器,当播放器已缓冲足够媒体以开始播放时。仅在 showCover=true
和 autoplay=false
时添加。
eko.playing
仅在 showCover=true
和 autoplay=true
时添加。
附加说明
请注意这是一个静态框架。如果您想使用动态版本,请下载仓库,将MACH_O_TYPE
改为dynamiclib
并重新构建。只有动态框架支持Storyboard兼容性。