Sift iOS SDK
集成指南
以下是如何在Objective-C iOS应用项目中集成Sift iOS SDK(Swift项目的步骤非常类似)。
安装库
您可以通过CocoaPods,Carthage和Swift 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。