X-SDK iOS集成

在 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+)

Step 1:创建 iOS App 应用

创建应用时,选择应用类型「iOS」,并完善应用信息,包括应用名称(必填)及App Bundle ID(非必填)。

Step2:复制SDK代码进行集成

在创建完成一个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。

Step3:验证 SDK 集成是否生效

在完成第二步 SDK 代码集成后,你可以访问所集成 X-SDK 代码的App应用,就可以看到 X-SDK 集成的状态变为 绿色 ,点击会提示App连通中,可以对评价、问卷进行正常投放。 否则你将会看到「App 未连通」的红色提醒:

需要检查SDK代码是否正确安装,或者确认应用绑定的应用ID是否正确。

注意:如果在72小时内,X-SDK没有收到来自目标App的访问数据时,也会出现「App 未连通」的提醒,你可以再次进入App应用,状态即可恢复。

Step 4:投放问卷、评价,回收数据

当 SDK 集成完毕,即可使用浩客评价、问卷等相关能力;也可以邀请团队成员加入到你的应用中,协作进行管理。



X-SDK 接口能力

** X-SDK 的接口信息、参数、使用场景,请先查看 接口文档

在完成 X-SDK 集成后,可以使用相关接口能力进行用户身份验证、复杂的免打扰机制,完成更加复杂的场景,比如:

  • 传入用户身份信息,实现复杂的免打扰机制,以及对于人群的定向投放
  • 传入扩展属性信息,用于对某些场景的识别,获得更加细分的数据洞察
  • 手动弹出评价/问卷,用于用户完成某些动作后的,精准投放等

以下为 X-SDK 所具备的接口,参数类型请参考 接口文档 请确保已经阅读并且理解 X-SDK的整体介绍

1. identify 用户身份信息传递

接口信息,详细可查看:identify

以下为示例代码:

// uid is required, extraAttributes 可以传入其他用户属性,例如生日、会员等级、套餐信息等等。属性以 key:value 的形式传入,目前支持数字、字符串、日期类型的数据
Howxm.identify(Customer(uid: "当前用户的唯一ID (required)"
                      , extraAttributes: ["birthday": "2000-01-02"])
                      , success: {
                         // success callback
                      }, failed: {
                         // failed calback
})


2. event 抛出事件接口

接口信息,详细可查看: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
 })

注意:当触发方式为「通过传入事件触发」时,投放规则自动生效。

3. checkOpen 弹出策略检查接口

接口信息,详细可查看:checkOpen

checkOpen 接口会基于用户uid和免打扰策略来判断,是否需要给用户弹框显示问卷组件


以下为示例代码:

Howxm.checkOpen(campaignId: "campaignId", uid: "用户uid", success: {
   // success callback
 }, failed: {
 // 表示当未通过投放规则校验,投放失败
  // failed callback
 })


传入参数说明:

字段 说明 是否必填 类型 备注
campaignId 问卷/评价ID 必填 String 类型 某个问卷/评价ID,请从该问卷/评价的设置中获取
uid 用户id 必填 String 类型 用于识别唯一用户身份

4. open 弹出问卷接口

接口信息,详细可查看: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
 })