iOS SDK 集成文档

iOS SDK 集成文档

个数是个推旗下基于大数据的应用统计产品,从用户属性、使用行为、行业对比等多指标多维度进行全面的移动应用统计分析,帮助APP运营者深层次挖掘用户需求,准确了解自身行业地位,从而更好地指导产品运营。

1.获取应用 Appid

1、登录 个推开发者中心 ,进入个数应用统计

gs1

2、创建个数应用,并获取 AppId

gs1

2.打开项目工程

启动 Xcode, 打开您之前创建的 Xcode 项目工程

3. 配置个数 SDK

3.1 CocoaPods 集成方式

3.1.1 安装 CocoaPods

安装方式简单 , Mac 下都自带 ruby,使用 ruby 的 gem 命令即可下载安装:

$ sudo gem install cocoapods
$ pod setup

3.1.2 准备Podfile

使用时需要新建一个名为 Podfile 的文件(若已存在该文件不需要重新创建),如下格式,将依赖的库名字依次列在文件中即可:

target 'YourTargetName' do
    platform :ios, "7.0"
    pod 'GCSDK'
end

注意事项:

(1)、在 App 内投放广告,获取 IDFA 可通过苹果审核。

(2)、App 内无广告,但由于先前投放的特定广告,可参考如下勾选,通过苹果审核。

勾选如图:

3.1.3 完成 GCSDK 导入

将编辑好的 Podfile 文件放到你的项目根目录中,执行如下命令即可:

$ cd "<path/to/project>"
$ pod install

3.2 Xcode 集成方式

我们提供的一个 SDK 开发工具包,包含了 iOS SDK 的全部所需资源。

3.2.1 解压缩后的文件目录结构

  • GTCountDemo: SDK 演示 Demo,能更好的展示个数 SDK 功能点。
  • 资源文件:

    1、包含集成 SDK 所需的静态 .a 库。

    2、注意事项:

    (1)、在 App 内投放广告,获取 IDFA 可通过苹果审核。

    (2)、App 内无广告,但由于先前投放的特定广告,可参考如下勾选,通过苹果审核。

    勾选如图:

    注意: 为了获取精准的统计结果,需添加 AdSupport.framework 库支持

3.2.2 资源包内容图示

文件 说明
接入文档/个数集成文档.h 个数集成文档
资源文件/GTCountSDK.h 个数 SDK 头文件
资源文件/libGTCountSDK.a 个数 SDK 主包静态库
资源文件/libGTCommonSDK.a 个数 SDK 工具库
Demo工程/GTCountDemo/ 个数 demo 工程

注意:
libGTCountSDK.a、libGTCommonSDK.a 使用 lipo 工具将
支持 i386、x86_64、arm64、armv7 的代码打包到了一起,所以这个库将同时支持 simulator 和 device,支持 iOS 版本为 7.0 及以上。

3.2.3 个数 SDK 静态库设置

右击添加文件,导入资源文件目录下的文件。

3.2.4 添加依赖库 (必须,如下图)

添加系统库支持:

  • libsqlit3.tbd
  • libz.tbd
  • AdSupport.framework

3.4.5 设置 Other Linker Flags

找到主工程的 target -> Build Setting -> Linking -> Other Linker Flags,将其设置为 -ObjC(如图所示):

4. SDK API 说明

4.1 初始化启动接口

接口描述:

使用统计功能以前,需要先启动 SDK,该接口用于在 App 运行时启动个数 SDK。

接口定义:

/**
 初始化启动接口

 @param appId 开发者中心生成的 appId
 @param channelId 渠道名称,默认为 'appstore'
 */
+ (void)startSDKWithAppId:(NSString *)appId withChannelId:(NSString *)channelId;

接口说明:

AppDelegate didFinishLaunchingWithOptions 方法中:通过平台分配的 APPID 启动个数 SDK。

参数 参数说明
appId 应用标识 APPID
channelId 渠道名称,如果为 nil,默认为 'appstore'

接口示例:


#import 'GTCountSDK.h'
#define kGcAppId @"xxxxxxx"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 启动个数 SDK
   [GTCountSDK startSDKWithAppId:kGcAppId withChannelId:@"appstore"];
   return YES;
 }

4.2 SDK 实例

接口描述:

个数 SDK 实例,用于获取和设置 SDK 相关配置属性。

接口定义:

/**
 SDK 实例,用于获取和设置 SDK 相关配置属性。
 */
+ (instancetype)sharedInstance;

接口示例:

#import 'GTCountSDK.h'
#define kGcAppId @"xxxxxxx"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 启动个数 SDK
   [GTCountSDK startSDKWithAppId:kGcAppId withChannelId:@"appstore"];
   // 使用 SDK 实例的 reportStrategy 属性设置上报策略。
   [[GTCountSDK sharedInstance] setReportStrategy:GESHU_STRATEGY_WIFI_ONLY]
   // 使用 SDK 实例的 sessionTime 属性获取 sessionTime 的值。
   NSLog(@"sessionTime %ld",[[GTCountSDK sharedInstance]sessionTime]);
   return YES;
 }

4.3 App 会话时长 Session 设置

接口描述:

设置会话时长(默认 30000 ms,单位毫秒),在应用退到后台后停留时间超过会话时长,视为一次新的应用会话。

接口定义:

/**
 设置会话时长(默认 30000 ms,单位毫秒),在应用退到后台后停留时间超过会话时长,视为一次新的应用会话。
 */
@property (nonatomic, assign)NSUInteger sessionTime;

接口示例:

#import 'GTCountSDK.h'
#define kGcAppId @"xxxxxxx"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 启动个数 SDK
   [GTCountSDK startSDKWithAppId:kGcAppId withChannelId:@"appstore"];
   // 设置 session
   [[GTCountSDK sharedInstance] setSessionTime:3000];
   return YES;
 }

文档中心搜索