弹窗 SDK (Android)
弹窗 SDK 会根据运营人员对用户的分组情况,下发弹窗消息
电商demo集成运营参考代码:https://github.com/growingio/AndroidDemo
一、集成SDK
1. 集成GrowingIO Android埋点SDK
添加弹窗SDK前请确保您已经集成了我们公司的埋点 SDK,版本需要在 2.6.9 及以上,详细情况请移步Android埋点SDK帮助文档。最低兼容的 Android 版本为 4.2 。
2. 添加依赖
2.1 在app build.gradle添加SDK依赖
dependencies {
...
//由于弹窗底层网络库依赖OkHttp3网络库,请添加OkHttp3依赖
implementation "com.squareup.okhttp3:okhttp:3.12.1"
//弹窗SDK依赖
implementation "com.growingio.android:gtouch:$gtouch_version"
}$gtouch_version 为弹窗SDK版本号,现最新的版本号为请参考SDK更新日志。
3. 需要的权限列表
所需权限同埋点SDK
4. 初始化SDK
请将以下GrowingTouch.startWithConfig加在您的Application 的 onCreate 方法中,且保证在埋点SDK初始化代码GrowingIO.startWithConfiguration后
6. 代码混淆
如果您启用了代码混淆,请务必在您的proguard-rules.pro文件里加入下面的代码:
二、重要配置
1 设置弹窗开关
1.1 setEventPopupEnable
设置弹窗的开关,可以在初始化的时候选择关闭弹窗功能,这样弹窗SDK就不会在APP的logo页和闪屏页显示弹窗,然后在APP的内容页打开时再打开弹窗开关。
1.2 参数说明
参数名
类型
必填
默认值
说明
enable
boolean
是
true
开关弹窗功能,true开启,false关闭
1.3 代码示例
2 设置Debug模式(只在调试时使用,上线请务必关闭)
2.1 setDebugEnable
查看数据采集发送日志,能够在Android Studio中通过Logcat查看GrowingTouch打印的数据发送日志,在 APP 的 Application onCreate 初始化SDK地方添加配置。
2.2 参数说明
参数名
类型
必填
默认值
说明
debugEnable
boolean
是
false
开启弹窗日志,true开启,false关闭
2.3 代码示例
3 设置弹窗显示超时时间
3.1 setEventPopupShowTimeout
埋点事件的产生到弹窗完全显示的超时时间,如网络情况可能会影响到弹窗的加载时间,或者两个弹窗埋点事件先后触发,前面一个弹窗的显示时间过长导致后面的弹窗事件超时等等。
3.2 参数说明
参数名
类型
必填
默认值
说明
eventPopupShowTimeout
long
是
5000
埋点事件的产生到弹窗完全显示的超时时间,单位ms。0<=有效值<=100000
3.3 代码示例
4 弹窗的事件监听
4.1 setEventPopupListener
通过监听获取事件和参数,您可以根据事件和参数以及您的业务场景执行相关的交互。
4.2 参数说明
4.3 代码示例
如果您的popupEventDecideShow方法返回true的话,您必须手动实现弹窗的样式,并调用相关api手动触发弹窗的展示,点击或关闭事件。
5 设置弹窗SDK异常上传开关
弹窗SDK会收集SDK内部异常上报服务端,方便开发更好的追踪弹窗SDK的问题,和完善弹窗SDK的功能。如果您不想帮助我们弹窗产品完善功能,或者和您的crash收集框架有冲突,您可以选择关闭此功能。
5.1 setUploadExceptionEnable
弹窗异常消息上报开关
5.2 参数说明
参数名
类型
必填
默认值
说明
uploadExceptionEnable
boolean
是
true
开关SDK异常上传功能,true开启,false关闭
5.3 代码示例
6. 设置用户注册时间
版本要求:1.2.0及以上
您可以设置用户注册时间,这样就可以在做分群选择时使用注册至今来筛选用户。
使用上传登录用户变量接口上传用户注册时间,您需要将key设置为CreateAt。
三、API介绍( GrowingTouch.class )
1 void setEventPopupEnable(boolean enable)
打开或关闭弹窗
2 void enableEventPopupAndGenerateAppOpenEvent()
打开弹窗并触发AppOpen事件。
应用场景时:担心弹窗SDK在APP启动的Logo页或者闪屏页显示弹窗,这时可以选择在初始化时关闭弹窗开关,然后在APP的内容页打开时再打开弹窗开关。
如果只是单纯调用`GrowingTouch.setEventPopupEnable(true)`只会打开弹窗开关,并不会触发AppOpen的弹窗事件。调用该API则会打开弹窗的同时触发一个AppOpen的弹窗事件。(AppOpen 对应的是触发时机选择“打开App时”)
3 boolean isEventPopupShowing()
弹窗是否正在显示
4 loadPopupWindowEvents()
loadPopupWindowEvents() 回调形式获取到弹窗数据列表,您可以在此自定义一些弹窗样式。
4.1 代码示例
4.2 弹窗相关数据结构
四、其他
1. 弹窗跳转原生Activity界面
若弹窗跳转链接为 GInApp://com.growingio.gtouch.InAppPageActivity?key1=value1&key2=value2 那么会打开原生界面 InAppPageActivity,并携带两个参数。
对应的Web弹窗页面配置如下图所示:
弹窗Web页面配置截图如下:

其中「自定义参数」意思是输入任何您自己的scheme(自定义协议),
比如: myapp://productdetails/itemabc ,然后在onclick事件回调中解析出来就行了
2. "打开APP时"事件触发的时机

打开APP时,无论是冷启动还是热启动,第一个Activity的onStart生命周期的时候触发。
3 okhttp 版本要求
需要升级到3.12.1,弹窗使用了新版的方法,否则会报错。
Last updated
Was this helpful?