iOS-SDK 集成说明

更新时间:2018/12/31
YouGuo SDK 全部版本均采用 HTTPS 协议进行网络传输,完全符合 Apple ATS 安全标准,请放心使用。
在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。

第一步:获取应用的AppKey与AdseatID

用户在创建好项目和应用后,在平台点击左侧栏的“SDK”菜单,然后选择快速集成按钮,选择要集成的应用,即可见该应用的AppKey了;如下图

jgp1

AppKey使用方法请见第三步中1章节 初始化SDK和3章节 具体例子;

第二步: SDK集成与配置

在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。
YouGuo提供 CocoaPods 和 手动集成 两种集成方式:

1 通过CocoaPods方式集成:

您在以CocoaPods 集成的过程中选择是否开启额外的Testin AB测试功能。Testin AB测试功能可以用于提升用户转化率或者进行灰度测试,详情请见:http://ab.testin.cn/landingpage/visualediting
您在以CocoaPods 集成的过程中选择是否开启额外的Bugout功能。Bugout是一款简洁,高效,免费的Bug管理协同工具,详情请见:https://bugout2.testin.cn/

首先需要确认已经安装了CocoaPods:

sudo gem install cocoapods
pod setup

前提:先执行pod update,然后执行pod search TestinDataAnalysis,是否可以查看到5.1.3版本 在工程的Podfile里面添加以下代码:

pod 'TestinDataAnalysis'

如不指定版本的话。请先把本地的sdk删掉 重新用cocopods导入

保存并执行:

$ pod install


例如:
#默认全部开启
pod 'TestinDataAnalysis'
#只开启有果广告功能
pod 'TestinDataAnalysis',:subspecs=>['TestinOnlyAD']
#只开启AB功能
pod 'TestinDataAnalysis',:subspecs=>['TestinOnlyAB']
#只开启AB和Data功能
pod 'TestinDataAnalysis',:subspecs=>['TestinOnlyABData']
#只开启BugOut功能
pod 'TestinDataAnalysis',:subspecs=>['TestinOnlyBugOut']

使用后缀为.xcworkspace的文件打开工程。

2 通过手动方式集成:

将下载得到的 TestinDataAnalysis.framework 拖入到的Xcode工程中,在弹出的options界面中勾选 Copy items if needed,并确保 Add to targets 勾选相应的 target:

jgp2

3 SDK相关配置:

向TARGETS -- > Build Phases --> Link Binary With Libraries 中添加依赖库。检查是否已经加入 TestinDataAnalysis.framework、Security.framework、CoreMotion.framework、AudioToolbox.framework、ImageIO.framework、SystemConfiguration.framework、CoreTelephony.framework、libz.tbd、libsqlite3.tbd、libicucore.A.tbd,如果没有,请手动加入:

jgp3

SDK依赖库有:

libz.dylib (Xcode早期版本中依赖库是 libz.1.dylib)
libsqlite3.dylib
libicucore.A.dylib
Security.framework
CoreMotion.framework
AudioToolbox.framework
ImageIO.framework
SystemConfiguration.framework
CoreTelephony.framework
WebKit.framework

( 如果使用的是 xcode7或更高版本,后缀为 tbd ) 在 TARGETS --> Build Settings --> Other Linker Flags 中设置链接器参数:-ObjC、-all_load

jgp4

检查 TARGETS --> Capabilities --> Keychain Sharing是否开启,如未开启请开启:

jgp5

以上步骤进行完后,编译工程。如果没有报错,恭喜你,集成 SDK 成功,可以进行下一步了。

第三步:相关初始化设置

1 初始化SDK:

在AppDelegate中引入头文件:

#import <TestinDataAnalysis/TestinDataAnalysis.h>
在工程的 AppDelegate 中的application:didFinishLaunchingWithOptions:方法中,调用初始化方法:
/**
TestinDataConfig 初始化方法
*/
TestinDataConfig * config = [TestinDataConfig shareConfig];

/**
初始化广告业务

@param adAppKey 平台申请的媒体id
@param config 相关配置信息
@param launchOptions your application delegate's launchOptions
*/
+(void)initWithAdAppKey:(NSString* _Nullable)adAppKey WithConfig:(TestinDataConfig*_Nullable)config launchOptions:(NSDictionary * _Nullable)launchOptions;
/**
拉取广告素材数据

@param adSeatId 广告位ID
@param successhander 拉取成功回调
@param failhander   拉取失败回调
*/
+(instancetype)loadAdDataByAdSeatId:(NSString *)adSeatId onReceverSuccess:(void (^)(id _Nonnull))successhander onReceverFail:(void (^)(id _Nonnull))failhander;

/**
广告位曝光
*/
-(void)onAdExpoSure;

/**
广告位点击
*/
-(void)onAdTrack;

2 TestinDataConfig的相关属性,用户可根据需求自行设置。

3具体集成例子:

初始化方法:

TestinDataConfig * config = [TestinDataConfig shareConfig];
config.adAppKey = @"cb24219a78fb41cfac709cfe749f3203";
[TestinDataAnalysis initWithAdAppKey:@"87b9c2ae54ace3757677ac17004cb9d" WithConfig:config launchOptions:launchOptions];

//方便使用,可以设置宏
#define ADSEATID @"W1811260001"

//数据回调
TestinAdNative * ad = [TestinAdNative loadAdDataByAdSeatId:adSeatId onReceverSuccess:^(id  _Nonnull resultData) {
        dic = resultData;
        //获取返回数据中的图片URL
        NSString* imageUrl = dic[@"adSeatUrl"];
        NSString *encodedString1 = [imageUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

        //对控件进行赋值
        [btn sd_setImageWithURL:[NSURL URLWithString:encodedString1] forState:(UIControlState)UIControlStateNormal];

        //调用广告曝光方法
        [ad onAdExpoSure];
    } onReceverFail:^(id  _Nonnull resultData) {

    }];

//主动点击接口
[ad onAdTrack];

results matching ""

    No results matching ""