Sift 2.2.0

Sift 2.2.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2024年7月

Gary LeeEduard ChumakPramod JainRuslan MiestierovMark PierottiArtem DvornichenkoSasha BogoliiIhor Prysiazhnyi维护。



Sift 2.2.0

  • Sift Science

Sift iOS SDK

集成指南

以下是如何在Objective-C iOS应用项目中集成Sift iOS SDK(Swift项目的步骤非常类似)。

安装库

您可以通过CocoaPodsCarthageSwift Package Manager将SDK添加到iOS项目中。

通过CocoaPods

  • 将以下内容添加到您的Podfile中:pod 'Sift'(这使用最新版本)。

  • 运行pod install

通过Carthage

  • 将以下内容添加到您的Cartfile中:github "SiftScience/sift-ios"(这使用最新版本)。

  • 运行carthage update

通过Swift Package Manager

  • 在根项目文件夹内,创建一个类型为可执行文件的 Swift 包:swift package init --type executable。这将创建包括隐藏的​.gitignore​.build/​等初始文件和文件夹。

  • Package.swift 中添加依赖项:open Package.swift

      // swift-tools-version:5.1
      // The swift-tools-version declares the minimum version of Swift required to build this package.
      import​ ​PackageDescription
      
      let package = Package(
          name: "exampleApp",
          dependencies: [
              // Dependencies declare other packages that this package depends on.
              ​// .package(url: /* package url */, from: "1.0.0"),
              .​package​(​url​: "https://github.com/SiftScience/sift-ios.git"​, ​from​: "2.1.4"​)
          ],
          ​targets​: [
              ​// Targets are the basic building blocks of a package. A target can define a module or a test suite.
              ​// Targets can depend on other targets in this package, and on products in packages which this package depends on.
              ​.target(
                  name: "exampleApp",
                  dependencies: ["sift-ios"]), // Don’t forget to add sift-ios in target dependencies.
              .testTarget(
                  name: "exampleAppTests",
                  dependencies: ["exampleApp"]),
          ] 
      )
    
  • 保存 Package.swift 文件,Xcode 将构建该文件,否则请运行 swift package generate-xcodeproj(Xcode 项目默认生成并被排除在 Git 之外)。您还可以使用您的 xcconfig 文件:swift package generate-xcodeproj --xcconfig-overrides Config.xcconfig

Xcode 11 更新

  • 对于 Xcode 11,无需执行上述步骤。您可以直接在菜单 File > Swift Packages > Add Package Dependency 中添加包依赖
  • 将存储库的 URL(https://github.com/SiftScience/sift-ios.git)粘贴到上面的字段中,然后点击“下一步”。
  • Xcode 将引导您完成剩余步骤。您可以使用 import sift_ios

推荐步骤

  • 将以下内容添加到您应用程序的 Info.plist 文件中

    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>cydia</string>
    </array>
    

    我们通过各种信号检测越狱设备,其中之一是是否安装了 Cydia。从 iOS 9 开始,您必须将您想要检查的 URL 情境添加到白名单中,此步骤仅为 Cydia 添加到列表中。

初始化库

SDK 在后台工作,因此您需要在应用程序启动时初始化 SDK。通常,在 application:didFinishLaunchingWithOptions: 中初始化 SDK 更有意义。

以下是在 AppDelegate.m 中您将需要执行的操作

  • 添加 #import "Sift/Sift.h"

  • 如果不存在,则添加 application:didFinishLaunchingWithOptions: 实例方法,并插入以下代码片段(将占位符字符串替换为您的 Sift 账户凭据)

    Sift *sift = [Sift sharedInstance];
    [sift setAccountId:@"YOUR_ACCOUNT_ID"];
    [sift setBeaconKey:@"YOUR_JAVASCRIPT_SNIPPET_KEY"];
    
  • (推荐)如果您的应用程序使用运动传感器(加速度计、陀螺仪或磁力计),并且您想要将运动数据发送到 Sift,请添加以下行

    [sift setAllowUsingMotionSensors:YES];
    

    这将启用 SDK 在后台偶然收集运动数据。

  • 如果您的应用程序使用用户位置数据,但您不希望将其发送到 Sift,请添加以下行

    [sift setDisallowCollectingLocationData:YES];
    

跟踪用户

Sift 需要用户 ID 来跟踪使用此应用程序的用户。一旦用户 ID 可用(例如,用户登录后),请设置用户 ID

[[Sift sharedInstance] setUserId:@"USER_ID"];

如果用户注销,请通过调用以下方法来取消设置用户 ID

[[Sift sharedInstance] unsetUserId];

许可证

Sift iOS SDK遵循MIT许可证发布。有关详情,请参阅文件LICENSE。

Sift iOS SDK包含Charcoal Design的GZIP库,该库在zlib宽松许可证下发布。有关详情,请参阅文件Sift/Vendor/NSData+GZIP.h和Sift/Vendor/NSData+GZIP.m。