Howtank Widget SDK
要生成框架,我们只需要运行以下命令:
sh ./make_build.sh
要将生成的框架发布到 Cocoapod 和 Swift 包管理器,请运行以下命令:
sh ./publish_podspec.sh
LATEST_VERSION = 2.3.0
集成指南
技术概览
- Howtank iOS 小组件 是一个库,一旦包含在您的应用程序中,就可以显示
Howtank 聊天
。 - 在用户点击之前,它处于
折叠
状态,静静地等待用户操作。 - 一旦被用户点击,它将切换到
展开
状态,与 Howtank 服务器交换聊天数据。 - 组件非常轻量级,以保持您的应用程序。
- 本文档解释了如何将组件安装到
Swift
或Objective C
应用程序中。
示例应用程序
-
Swift 应用程序: http://cdn.howtank.com/sdk/ios/HowtankWidgetSample-1.0.0.zip
-
Objective-c 应用: https://cdn.howtank.com/sdk/ios/HowtankWidgetObjcCDemo-1.1.0.zip
运行演示应用程序的步骤
- 解压文件并运行以下命令(您需要安装CocoaPods)
pod install cd my-project
- 双击
Howtank Widget Sample.xcworkspace
以在Xcode
中打开演示项目 - 请阅读
ViewController.swift
文件的内容。它已全部文档化,并解释如何设置和运行小部件。
- 解压文件并运行以下命令(您需要安装CocoaPods)
安装
- 在您的项目文件夹中,在
Podfile
中添加pod ‘HowtankWidgetSwift’, ‘LATEST_VERSION’
- 然后在终端中运行
Pod install
命令。
快速设置
1. 小部件初始化
为了让 HowtankWidget 运行,您只需在您的 AppDelegate
类中添加以下几行代码
Swift
HowtankWidget.shared.configure(hostId: "YOUR_HOST_ID", delegate: nil)
Objective-C
[[HowtankWidget shared] configureWithHostId:"YOUR_HOST_ID" delegate: nil];
其中
名称 | 描述 | 是否必须 |
---|---|---|
YOUR_HOST_ID | 由 Howtank 团队提供的标识符 | 是 |
2. 小部件初始化
您可能希望在某些控制器上显示小部件,而不是在其他控制器上,或在您的应用的各个位置显示小部件。在任何情况下,您都需要在所有 ViewControllers
的 viewWillAppear
函数中调用以下方法
Swift
// Howtank Widget specific configuration
HowtankWidget.shared.browse(show: SHOW_WIDGET, pageName: "PAGE_NAME", pageUrl: "PAGE_URL");
Objective-C
// Howtank Widget specific configuration
[[HowtankWidget shared] browseWithShow:SHOW_WIDGET pageName:"PAGE_NAME" pageUrl: “PAGE_URL"];
其中
名称 | 描述 | 是否必须 |
---|---|---|
SHOW_WIDGET | 布尔值,表示是否在此控制器上显示小部件 true 或不显示 false 。默认情况下,小部件是隐藏的。 |
是 |
PAGE_NAME | 字符串,表示当前控制器(例如 产品页面 或 产品 – Apple iPhone )。您的社区成员在聊天时会读取此信息,因此越精确越好 |
是 |
PAGE_URL | 字符串,表示当前页面的 URL。大多数应用使用 URL 进行深度链接。同样,此 URL 可以被成员点击,使他们可以精确地查看用户正在查看的内容。示例包括: http://www.mywebsite.com/product/1234 或 myapp://product/1234 | 是 |
就这样!Howtank 小部件应该出现在您应用的底部右角。请注意,由于我们需要查询服务器以确定是否显示小部件,因此这可能需要几秒钟。
3. 高级配置
默认配置使小部件在几行代码内运行。但是,您可以使用以下参数对其进行重载。请注意,configure
应始终是最后一个调用。
示例 初始化示例
Swift
HowtankWidget.shared.verboseMode(true).configure(hostId: "YOUR_HOST_ID", delegate: nil)
Objective-C
[[[HowtankWidget shared] verboseMode:true] configureWithHostId: “YOUR_HOST_ID” delegate: nil];
详细模式 当出现错误时,启用更详细的日志记录。只有在与 Howtank 团队进行调试时,在调试模式下将此设置为 true
。
verboseMode(true|false)
4. 添加代理
在调用配置方法时,您可以注册您的类为 HowtankWidgetDelegate
。
Swift
HowtankWidget.shared.configure(hostId: "HOST_ID", andDelegate: self)
Objective-C
[HowtankWidget shared] configureWithHostId:"HOST_ID" delegate:self];
当特定操作发生时,以下方法将被调用
小部件事件
func widgetEvent(event: WidgetEventType, paramaters: [String : Any]?) {
// Called when a specific widget event occurs
}
该方法在触发特定事件时被调用,通常由用户触发。以下事件可能会被触发
事件名称 | 描述 |
---|---|
.initialized | 当小部件正确初始化并且聊天处于活动状态时 |
.opened | 在用户点击聊天气泡时触发 |
.disabled | 当将聊天气泡拖放到删除区域并释放时 |
.displayed | 当小部件气泡显示时。请注意,此方法可能会被触发多次! |
.hidden | 当小部件气泡被隐藏时 |
.unavailable | 当小部件不可用时。参数 reason 指示原因 |
.linkSelected | 当用户点击聊天中的链接时调用。您可以根据需要适当处理点击的链接。默认情况下,当用户点击链接时没有任何操作。 |
5. 转换跟踪器集成
您可以跟踪两种类型的目标:通用
和 购买
。
通用目标跟踪 当你想要跟踪的目标在控制器上实现时,必须调用以下跟踪器
Swift
HowtankWidget.shared.conversion(name: "GOAL_NAME")
Objective-C
[[HowtankWidget shared] conversionWithName:@"GOAL_NAME"]
其中
名称 | 描述 | 是否必须 |
---|---|---|
GOAL_NAME | 字符串,您想要跟踪的目标的名称。您可以有多个目标(例如,购买、注册、订阅等)。我们的平台将为每个跟踪的目标自动生成报告。 | 是 |
购买 此特定跟踪器允许您提供有关购买的更多信息
Swift
let purchaseParameters = PurchaseParameters(newBuyer: IS_NEW_BUYER, purchaseId: "PURCHASE_ID", valueAmount: VALUE_AMOUNT, valueCurrency: VALUE_CURRENCY)
// Send the purchase conversion tag
HowtankWidget.shared.conversion(name: "GOAL_NAME", purchaseParameters: purchaseParameters)
Objective-C
PurchaseParameters* purchaseParameters = [[PurchaseParameters alloc] initWithNewBuyer:IS_NEW_BUYER purchaseId:@"PURCHASE_ID" valueAmount:VALUE_AMOUNT valueCurrency: VALUE_CURRENCY];
// Send the purchase conversion tag
[[HowtankWidget shared] conversionWithName:@"GOAL_NAME" purchaseParameters:purchaseParameters];
其中
名称 | 描述 | 是否必须 |
---|---|---|
GOAL_NAME | 字符串,您想要跟踪的目标的名称。您可以有多个目标(例如,购买、注册、订阅等)。我们的平台将为每个跟踪的目标自动生成报告。 | 是 |
IS_NEW_BUYER | true :这是此用户的首次购买 false :此用户是回头客 |
是 |
PURCHASE_ID | 字符串,这是您的系统中的购买标识符 | 是 |
VALUE_AMOUNT | 购买金额(双精度浮点数) | 是 |
GOAL_NAME | 使用任何提供的枚举情况(.euro 、.dollar 、.pound 或带有 ISO 货币代码字符串的自定义值(例如,USD 、EUR 、GBP 等) |
是 |