在 iOS App 应用中,X-SDK 是一个针对某个应用的 CocoaPods库,你可以在创建完成一个iOS应用或在应用设置的地方找到如何使用,在开始进行体验数据收集时,需要确保 X-SDK 已经成功集成到你的应用中。
浩客 iOS SDK 通过 Swift 进行开发,支持在 Podfile 引入 SDK并完成安装。
ios sdk 包下载地址:https://howxm.com/sdks/ios/1.3.7/Howxm.zip
注意:支持ios11.0+,开发环境:swift5.1+ (xcode11.0+)
创建应用时,选择应用类型「iOS」,并完善应用信息,包括应用名称(必填)及App Bundle ID(非必填)。
在创建完成一个iOS应用后,可以左侧「应用设置」里,可以找到SDK代码,通过 Podfile 引入浩客SDK,并完成初始化安装。
你可以自行完成 SDK 集成,也可以下载SDK代码交由研发人员处理。如有任何疑问请随时联系我们,会有专业客户顾问为你解答。
注意: initializeSDK 尽可能越早的调用,其他的API都依赖该API
iOS App 集成示例代码:
extension UIApplication {
var currentKeyWindow: UIWindow? {
UIApplication.shared.connectedScenes
.filter { $0.activationState == .foregroundActive }
.map { $0 as? UIWindowScene }
.compactMap { $0 }
.first?.windows
.filter { $0.isKeyWindow }
.first
}
var rootViewController: UIViewController? {
currentKeyWindow?.rootViewController
}
}
import Howxm
...
Howxm.initializeSDK(
appId: appId,
inViewController: UIApplication.shared.rootViewController!,
{
// success callack
Howxm.identify(Customer(uid: "当前用户的唯一ID (required)"
, extraAttributes: ["birthday": "2000-01-02"])
, success: {
// success callback
}, failed: {
// failed calback
})
}
注意:该代码只可应用于所绑定的 iOS App,在进行集成之前,请确认应用ID是否正确。
获取应用ID
你可以在 应用设置-App 设置 中直接复制应用ID。
在完成第二步 SDK 代码集成后,你可以访问所集成 X-SDK 代码的App应用,就可以看到 X-SDK 集成的状态变为 绿色 ,点击会提示App连通中,可以对评价、问卷进行正常投放。
否则你将会看到「App 未连通」的红色提醒:
需要检查SDK代码是否正确安装,或者确认应用绑定的应用ID是否正确。
注意:如果在72小时内,X-SDK没有收到来自目标App的访问数据时,也会出现「App 未连通」的提醒,你可以再次进入App应用,状态即可恢复。
当 SDK 集成完毕,即可使用浩客评价、问卷等相关能力;也可以邀请团队成员加入到你的应用中,协作进行管理。
** X-SDK 的接口信息、参数、使用场景,请先查看 接口文档
在完成 X-SDK 集成后,可以使用相关接口能力进行用户身份验证、复杂的免打扰机制,完成更加复杂的场景,比如:
以下为 X-SDK 所具备的接口,参数类型请参考 接口文档
请确保已经阅读并且理解 X-SDK的整体介绍
接口信息,详细可查看:identify
以下为示例代码:
// uid is required, extraAttributes 可以传入其他用户属性,例如生日、会员等级、套餐信息等等。属性以 key:value 的形式传入,目前支持数字、字符串、日期类型的数据
Howxm.identify(Customer(uid: "当前用户的唯一ID (required)"
, extraAttributes: ["birthday": "2000-01-02"])
, success: {
// success callback
}, failed: {
// failed calback
})
接口信息,详细可查看:event
// 接口定义
Howxm.event(code: code, attributes: attributes,
inViewController: inViewController, // 可选,默认使用initializeSDK中传入的inViewController
success: {
// success callback
}, failed: {
// failed callback
})
// Example
Howxm.event(code: "payment_click", attributes: ["product": "pro", "price": 9],
success: {
// success callback
}, failed: { (message: String?) in
// failed callback
})
注意:当触发方式为「通过传入事件触发」时,投放规则自动生效。
接口信息,详细可查看:checkOpen
checkOpen 接口会基于用户uid和免打扰策略来判断,是否需要给用户弹框显示问卷组件
以下为示例代码:
Howxm.checkOpen(campaignId: "campaignId", uid: "用户uid", success: {
// success callback
}, failed: {
// 表示当未通过投放规则校验,投放失败
// failed callback
})
传入参数说明:
字段 | 说明 | 是否必填 | 类型 | 备注 |
---|---|---|---|---|
campaignId | 问卷/评价ID | 必填 | String 类型 | 某个问卷/评价ID,请从该问卷/评价的设置中获取 |
uid | 用户id | 必填 | String 类型 | 用于识别唯一用户身份 |
接口信息,详细可查看:open
// customer 选填, 不传默认使用identify 中认证的用户,未identify则为匿名用户
// inViewController 选填,默认使用initializeSDK中传入的inViewController
Howxm.open(campaignId: "campaignId", customer: Customer(uid: "用户uid"), inViewController: inViewController); // campaignId 可以在问卷、评价编辑页链接中获取
注意:当触发自动弹出方式为「通过代码调用 Open 触发」时,建议代码调用 checkOpen 判断免打扰检测是否通过
Howxm.checkOpen(campaignId: "campaignId", uid: "用户uid", success: {
// success callback
// 通过投放规则校验, 打开弹框
Howxm.open(campaignId: "campaignId")
}, failed: {
// 表示当未通过投放规则校验,投放失败
// failed callback
})