UserReport 2.0.6

UserReport 2.0.6

AudienceProject维护。




architecture overview

CocoaPods Compatible Platform Xcode 9.0 iOS 9.0+ Swift 4.2 License

需求

  • Xcode 9.0+
  • iOS 9.0+

安装

UserReport iOS SDK可以以多种方式安装。

CocoaPods

CocoaPods是一个面向Objective-C和Swift的集中式依赖关系管理器。您可以在这里了解更多。

  1. 将项目添加到您的Podfile中。

    pod 'UserReport'
  2. 运行pod install,然后打开.xcworkspace文件以启动Xcode。

  3. 导入UserReport框架。

    import UserReport

Swift Package Manager

Swift Package Manager是用于管理Swift代码分发的工具

  1. 转到文件 > Swift 包 > 添加包依赖...
  2. UserReport SDK的Github URL放进去
  3. 选择“Branch: ‘master’
  4. 选择合适的目标

手动

要手动安装它,请将 UserReport 项目拖入您的 Xcode 应用项目或将其作为 git 子模块添加。在您的项目文件夹中输入

$ git submodule add [email protected]:AudienceProject/userreport-ios-sdk.git

配置 Info.plist

更新您的 Info.plist 中的消息,以便告知用户 app 请求使用数据用于跟踪的原因

<plist ...>
    <dict ...>

        <key>NSUserTrackingUsageDescription</key>
        <string>This identifier will be used to deliver personalized ads to you.</string>

    </dict>
</plist>

用于屏幕/部分跟踪的应用

配置

使用您的 PUBLISHER_IDMEDIA_ID 配置 UserReport iOS SDK。

您可以在 UserReport 的媒体设置页面找到 PUBLISHER_IDMEDIA_ID

// Configure
UserReport.configure(sakId: "PUBLISHER_ID", mediaId: "MEDIA_ID")

屏幕跟踪

自动跟踪

如果您想自动测量所有屏幕视图,您的应用程序的 ViewController 应继承自 UserReportViewController 类。

自动跟踪示例

class ViewController: UserReportViewController {
    ...
}

手动跟踪

跟踪有两种类型

  • 屏幕视图跟踪(《UserReport.trackScreenView()`)
  • 章节视图跟踪(《UserReport.trackSectionScreenView()`)

如果一个媒体(网站)有一个单一的主题,可以使用《UserReport.trackScreenView()`》进行跟踪。

如果网站有不同章节,例如《健康》、《国际新闻》和《本地新闻》,则应同时使用《UserReport.trackScreenView()`》和《UserReport.trackSectionScreenView(sectionId)》进行跟踪。在UserReport中的媒体设置页面上可以找到特定章节的“sectionId”。

手动屏幕跟踪示例

class ViewController: UIViewController {
    override open func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        // Tracking screen view
        UserReport.trackScreenView()
    }
}

手动章节跟踪示例

class ViewController: UIViewController {
    override open func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        // Tracking section view (use both functions)
        UserReport.trackScreenView()
        UserReport.trackSectionScreenView(sectionId)
    }
}

不要混合自动和手动跟踪

如果你使用《UserReport.trackSectionScreenView》和/或《UserReport.trackScreenView()`》方法,应禁用自动跟踪。正如您在手动跟踪示例中看到的那样,`ViewController`并不从《UserReport ViewController》继承。

调查用途

配置

使用您的《SAK_ID》、您的《MEDIA_ID》以及用户信息来配置UserReport iOS SDK。

您的《SAK_ID》和《MEDIA_ID》可以在UserReport中的媒体设置页面上找到。

// Create user object (optional)
let user = UserReportUser()
user.email = "[email protected]"

// You can also specify a email hash
user.emailMd5 = "MD5_EMAIL_HASH"
user.emailSha1 = "SHA1_EMAIL_HASH"
user.emailSha256 = "SHA256_EMAIL_HASH"

// Provide additional social network information
user.facebookId = "FACEBOOK_ID"

//It is possible to override the default rules for when a survey will appear.
//However, the settings parameter is optional.
let settings = UserReportSettings()
settings.sessionScreensView = 5
settings.inviteAfterNSecondsInApp = 20

// Configure
UserReport.configure(sakId: "YOUR_SAK_ID", mediaId: "YOUR_MEDIA_ID", user: user, settings: settings)

显示模式

调查可以以两种方式显示

  • .alert - 以警告视图的方式显示调查(默认)
  • .fullScreen - 以全屏模式显示调查,类似于模态视图控制器

要更改显示模式,请指定以下内容:

UserReport.setDisplayMode(.fullscreen)

更改设置

要更新显示调查的默认规则,请使用以下方法:尽管建议通过配置方法传递 UserReportSettings,但仅当您想更改已启动应用的规则时才使用此方法。

let settings = UserReportSettings()
settings.sessionScreensView = 5
settings.inviteAfterNSecondsInApp = 20

UserReport.updateSettings(settings)

静音

要防止调查出现在重要屏幕上,可以使用一个 mute 变量。

UserReport.mute = true

不要忘记将值恢复到 false

更新用户信息

当更改用户数据时,还应将更新后的数据发送到 UserReport iOS SDK。

let user = UserReportUser()
user.email = "[email protected]"

UserReport.updateUser(user)

会话信息

UserReport SDK 根据屏幕查看次数和应用程序的使用时间保存数据。如果需要,您可以从 session 变量中获取这些数据。会话包含以下值:

  • screenView - 当前会话中查看的屏幕数量
  • totalScreenView - 所有会话中查看的屏幕总数
  • sessionSeconds - 当前会话中在应用中花费的秒数
  • totalSecondsInApp - 应用中花费的所有时间的秒数
  • localQuarantineDate - 调查下次不会再次显示的日期
  • settings - 调查出现的当前设置
// Session information about the running time of the application and screen views
let session = UserReport.session

// Get current settings for appear survey
let currentSetting = session?.settings

手动操作

如果您决定亲自进行问卷调查,可以使用以下方法

UserReport.tryInvite()

匿名跟踪模式

如果启用了匿名跟踪:所有请求都将发送到“禁止跟踪”域名,IDFA将永远不会发送。要启用匿名模式,可以使用以下方法

UserReport.setAnonymousTracking(true)

IDFA

SDK依赖于IDFA,因此发布应用程序时请务必勾选相应的复选框。

许可证

用户报告iOS SDK采用Apache许可证2.0发布。查看LICENSE以获取详细信息。