sdk_flutter

Creator: coderz1093

Last updated:

0 purchases

sdk_flutter Image
sdk_flutter Images
Add to Cart

Description:

sdk flutter

[toc]
推啊Flutter-SDK对接文档 #
1 准备 #
1.1 合作方媒体在 推啊媒体平台 注册账号 #
1.2 在后台获取 appKey、appSecret 等参数 #
1.3 申请广告位ID #
2 SDK包导入 #
2.1 项目的pubspec.yaml文件中添加 #
sdk_flutter: ^1.0.0
copied to clipboard
3 AndroidManifest配置 #
3.1 权限 #
//(sdk内部已经处理相关权限问题,如果遇到冲突咨询对应开发即可)
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
copied to clipboard
4 初始化SDK #
4.1 初始化(重要) #
//推啊appkey和appSecret从媒体管理后台获取 咨询运营人员 记得替换成自己的
//基础SDK初始化
TFConfig.init(appKey,appSecret);
copied to clipboard
5 加载广告(选择合适的广告类型) #
5.1 开屏广告接入 #
(开屏广告嵌入代码说明(详见demo SplashPage.dart代码))
第一步:代码引入实例
_mSplashAd?.loadAd(
slotId: "283674",
userId: "user-123",
pContext: context,
onClickCallBack: () {
debugPrint("素材被点击了");
},
onAdCloseCallBack: () {
debugPrint("素材关闭了");
},
onLoadFailedCallBack: (code, message) {
debugPrint("请求失败 ${code} message = ${message}");
},
onLoadSuccessCallBack: () {
debugPrint("请求成功");
},
)
copied to clipboard
5.2 横幅/Banner广告接入 #
(横幅广告嵌入代码说明(详见demo BannerPage.dart代码))
第一步:代码引入示例(Widget)
_mBannerAd = BannerWidget(
slotId: slotId,
userId: "user-123",
context: context,
onClickCallBack: () {
debugPrint("素材被点击了");
}
);
copied to clipboard
5.3 浮标/icon广告接入 #
(浮标广告嵌入代码说明(详见demo IconPage.dart代码))
第一步:代码引入示例(Widget)
mIcon = IconWidget(
slotId: slotId, //广告位ID
userId: "user-123", //用户ID
context: context,
isDraggable: false,
isRounded: false,
onClickCallBack: () {
debugPrint("素材被点击了");
},
onAdCloseCallBack: () {
debugPrint("素材关闭了");
},
onLoadFailedCallBack: (code, message) {
debugPrint("请求失败 ${code} message = ${message}");
},
onLoadSuccessCallBack: () {
debugPrint("请求成功");
},
);
copied to clipboard
5.4 弹窗广告接入 #
(普通插屏广告嵌入代码说明(详见demo InterstitialActivity代码))
第一步:代码直接引入示例
_showPopupAd() {
Navigator.of(context).push(PageRouteBuilder(
opaque: false,
pageBuilder: (context, animation, secondaryAnimation) {
return PopupWidget(
slotId: "283685", //广告位ID
userId: "user-123", //用户ID
context: context,
onClickCallBack: () {
debugPrint("素材被点击了");
});
},
transitionsBuilder: (context, animation, secondaryAnimation, child) {
return FadeTransition(
opacity: Tween(begin: 0.0, end: 1.0).animate(
CurvedAnimation(parent: animation, curve: Curves.fastOutSlowIn)),
child: child,
);
},
));
}
copied to clipboard
5.5 自定义广告接入(支持tab页或其他特殊场景) #
(自定义广告嵌入代码说明(详见demo CustomPage.dart代码))
注意:==自定义广告需要单独调用 广告曝光 和 广告点击 事件==
点击事件:_mCustomAd.openActivity();
曝光事件:_mCustomAd.onExposed();
第一步:代码直接引入示例
_showView = FutureBuilder(
future: _requestData(),
builder: (context, snapshot) {
if (snapshot.hasData) {
// 通过数据构建界面
_mData = snapshot.data;
return getShowWidget(context);
} else {
return Container();
}
},
);

//请求数据
Future<ResultBean<AdBean>> _requestData() async {
var adSlot = _slotId;
var userId = _userId;

ResultBean<AdBean> result = await _mCustomAd.loadAd(
pContext: _mContext,
slotId: adSlot,
userId: userId,
onAdLoadSuccess: (ResultBean<AdBean> data) {
_mCustomAd.onExposed();
});
return result;
}
copied to clipboard
第二步:广告曝光的时候必须调用
_mCustomAd.onExposed();
copied to clipboard
第三步:广告点击的时候必须调用
_mCustomAd.openActivity();
copied to clipboard
关于自定义广告素材活动加载:
ResultBean
{
"activityUrl" : "活动链接",
"imageUrl" : "素材图片链接",
"reportClickUrl" : "素材图片点击曝光链接",
"reportExposureUrl" : "素材图片加载成功曝光链接",
"extTitle" : "标题",
"extDesc" : "描述",
"imageUrlList" : "素材集合"
}
copied to clipboard



字段名称
字段类型
字段备注




activityUrl
String
活动链接


imageUrl
Number
素材图片链接


reportClickUrl
String
素材图片点击曝光链接


reportExposureUrl
String
素材图片加载成功曝光链接


extTitle
String
标题


extDesc
String
描述


imageUrlList
List
素材集合



使用方式(推荐使用):
活动打开交给SDK处理:
onPressed: () {
_mCustomAd.openActivity();
})
copied to clipboard
5.6 信息流接入 #
(信息流广告嵌入代码说明(详见demo InfoStreamPage.dart代码))
_mInfoStreamAd1 = InfoStreamWidget(
slotId: slotId,
userId: userId,
context: context,
type: 1,
onClickCallBack: () {
debugPrint("素材被点击了");
},
onLoadFailedCallBack: (code, message) {
debugPrint("请求失败 ${code} message = ${message}");
},
);
copied to clipboard
6 错误码 #



错误码
说明




40003
参数错误


40004
广告位不能为空


40005
广告位ID不合法


40006
媒体appkey不能为空


40007
媒体appKey不合法


40008
媒体appSecret不合法,参数验签失败


40009
广告活动或素材未配置


50001
服务器错误


50002
广告填充不足



7 常见问题 #
Android5.1(22)及以下版本部分活动落地页显示异常:
官方WebView对页面支持有BUG,建议将minSdkVersion 设置为 23
copied to clipboard
H5投放和SDK投放的收益区别?
SDK接入后,整体收益可提升15%~50%,具体提升了以下能力:

1)精准广告填充:通过RTA功能实现精准投放,获得更多头部广告主预算

2)转化链路优化:自有下载器,提醒用户安装,大幅提升安装激活效率;活动页面预加载,页面抵达率从95%提升至99.9%,用户体验佳,后续可投放更多大型主题活动;

3)素材算法及自有DMP:素材算法模型可提升入口CTR;推啊DMP帮助广告主实现精准投放,进而提升竞价能力,大大提高媒体主流量变现效率。
copied to clipboard
H5、API、SDK三种接入方式有哪些区别?
H5(手动投放):为纯链接投放,需要媒体方在后台手动获取活动链接

API(手动投放):需联调接口,支持虚拟奖品发放和充值,对接简单

SDK投放:需发版,需集成推啊SDK到媒体的应用,接入SDK后进行系统智能投放
copied to clipboard
为什么集成sdk后没有报错,但是没有广告返回?
检查是否新建广告位,如没有,需先在推啊媒体管理后台新建广告位;

检查广告位是否为开启状态;

如上述两步都正常,可联系媒体运营检查相关广告配置。
copied to clipboard
什么情况下曝光为0?
因推啊的广告都是异步加载的。若广告没有加载完成时,调用了曝光接口,上传的数据就会为空。
copied to clipboard
自定义广告位,sdk返回的activityUrl怎样进行调用?支持浏览器访问吗?要媒体自己处理吗?
详情请看自定义广告关于接入方式的描述
copied to clipboard
h5页面能接入推啊sdk么?需要怎么操作
可以,需要媒体自己开发h5和安卓之间的通用跳转协议,在用户点击进入推啊广告时,调起对应协议即可。如有问题,可咨询推啊技术。
copied to clipboard
激励互动、种红包,使用SDK,需要注意哪些问题?
激励互动:需重点测试一下发奖流程,用户拿到奖后是否能正常充值;

种红包:如您是从api更换为sdk对接,需重点测试虚拟物品的继承性(如用户A在api方式下有1000个金币,更换为sdk方式是否还有1000个金币)
copied to clipboard
加载广告时,参数说明:



场景
说明




只传deviceid
1、用户无法切换账号,只要在相同手机上有玩,都视作一个用户 2、如果用户手机隐私权限没有开,则拿不到deviceid,某些活动会出现用户无法参与活动的情况


只传userid
可以切换账号,一个手机可以存在多个用户参与活动


既传deviceid也传userid
以userid为准



其他问题请咨询对接媒体运营。

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.

Related Products

More From This Creator