定义接入活动所对应的SDK接口
玩法页使用
社媒按钮使用(必须)
权限设置
注意:iOS社媒跳转须配置Info.plist中配置键LSApplicationQueriesSchemes
,否则社媒跳转会失败。LSApplicationQueriesSchemes
的配置示例如下:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>sinaweibo</string>
</array>
打开活动页视图
根视图须使用NavigationController控制导航的app项目(根视图使用TabBar指向NavigationController亦可)[Campaign loadUrlWithUrl:@""];
配置活动页语言
[Campaign setLangWithLang:@"zh"];
配置导航栏
使用系统导航栏
活动页使用的导航栏默认为自定义导航栏,如果需要使用系统导航栏请进行下面的配置
[CampaignOptions enableNativeNavigation];
配置导航栏样式
配置自定义导航栏样式
UIButton *backBtn = [UIButton new];
[backBtn setTitle:@"返回" forState:UIControlStateNormal];
[backBtn setTitleColor:UIColor.systemBlueColor forState:UIControlStateNormal];
[CampaignOptions setNavigationBarHeightWithHeight:44.f]; //设定导航栏高度
[CampaignOptions setNavigationBarBgColorWithColor:UIColor.whiteColor]; //设定导航栏背景颜色
[CampaignOptions setNavigationBarTitleFontWithFont:[UIFont boldSystemFontOfSize:17.f]]; //设定导航栏标题字体
[CampaignOptions setNavigationBarTitleColorWithColor:UIColor.blackColor]; //设定导航栏标题颜色
[CampaignOptions setNavigationBarLoadingTextWithText:@"Loading..."]; //设定活动页面加载时导航栏显示标题
[CampaignOptions setNavigationBarBackButtonWithButton:backBtn]; //设定导航栏标题返回按钮
玩法页监听
活动页显示/关闭监听
Campaign.linkWillAppearListener = ^(NSData *data) {
//视图即将显示监听
};
Campaign.linkDidAppearListener = ^(NSData *data) {
//视图显示完毕监听
};
Campaign.linkWillDisappearListener = ^(NSData *data) {
//视图即将关闭监听
};
Campaign.linkDidDisappearListener = ^(NSData *data) {
//视图关闭完毕监听
};
登录回调
活动页面点击需要登录时触发
Campaign.linkLoginListener = ^(NSData *data) {
//拉起/跳转登录页
};
社媒按钮点击回调
活动页面中点击社媒分享按钮时触发
注意:实现该回调需要自己自定义社媒拉起能力。Campaign.linkShareListener = ^(LinkShareListener *data) {
//跳转到指定社媒app
};
自定义事件回调
活动页面需要去完成某个自定义事件时触发
Campaign.linkEventlistener = ^(NSData *data) {
NSLog(@"%@", data.scheme);
};
回调结果(data)说明:
参数 | 必须 | 类型 | 说明 |
---|---|---|---|
arguments | 是 | string | 用户点击的事件参数,可以通过订阅该参数,打开相应的App页面 格式: turbolink://[事件ID]:[事件KEY] |
scheme | 是 | string | 用户点击的事件ID |
campaignUrl | 是 | string | 活动URL, 可以在打开并完成事件后,Webview跳转该地址来返回活动页 |
点击事件埋点回调
活动页面点击页面按钮时触发
Campaign.linkPointsListener = ^(NSData *data) {
};
组件跳转监听埋点回调
针对在活动内呈现的组件,有时候我们期望用户点击进入到App内的某个模块。需要使用到该监听。 如:用户中奖后,希望用户点击”去使用”就跳转到奖品使用界面。 支持:奖品、自由组件
活动页面点击需要登录时触发
Campaign.linkRedirectListener = ^(NSData *data) {
//跳转到使用奖品页/自由组件目标页
};
获取活动详情
通过活动id、活动链接id或者活动页地址获取到对应的活动信息
// 根据安装/打开事件返回的链接id查找
[Campaign infoWithLinkHash:@"hashId" complation:^(CampaignInfoModel * data, NSError * error) {
}];
// 根据活动id查找
[Campaign infoWithCampaignId:@"campaignId" complation:^(CampaignInfoModel * data, NSError * error) {
}];
// 根据活动地址查找
[Campaign infoWithUrl:@"https://campaign-url" complation:^(CampaignInfoModel * data, NSError * error) {
}];
启用/关闭延迟打开活动页
//开启延迟
[Campaign enableDelayAutoCampaign];
//关闭延迟
[Campaign disableDelayAutoCampaign];
//打开延迟的页面
[Campaign delayAutoCampaignShow];