事件上报:
SDK集成参考上一篇文章,代码的调用就一个方法
AppEventsLogger mLogger = AppEventsLogger.newLogger(context);
例如,普通事件上传
mLogger.logEvent(“event_name”, bundle);
支付事件比较特殊
Currency curr = Currency.getInstance(currency);//currency为币种String类型,例如:USD
BigDecimal purchaseAmount = new BigDecimal(payPrice);
mLogger.logPurchase(purchaseAmount, curr, bundle);
注意:在facebook事件上报测试平台,当金额为小数点后面为0时(例如1.0),可以正常获取到,但是在小数点后面不为0时(例如1.1),则获取不到,valueToSum 后面没有值,这是正常的,可以在事件详情中看到,实际上value已经上传了。
测试流程:
1、注意事项:
1、手机与电脑要同时登陆一个账号,如果长时间没有数据,需要重新登录一下手机与电脑端facebook
2、同一个账号尽量不要频繁换电脑
3、代码中的调试开关要打开,上线之前要关闭
4、确保facebook APP 正常联网,可以收发信息(国内需要梯子)
5、确保apk的签名文件 的密钥散列已经填写到了“应用”->“基本”->"Android"=>密钥散列输入框
6、若需要web2APP 实现延迟深度链接(DDL),且项目中有AppsFlyer,建议先调试完成AppsFlyer;因为fb相对简单,最主要的是后台配置正确(启动Activity配置项,经试验没啥影响,但包名要有,还有散列值,所有key都要填写上,否则SDK相关功能会不可用,或有空值等异常行为)
2、事件上报
应用广告帮手可以测试应用内的应用事件,确保应用可以向 Facebook 发送事件。
- 打开应用广告帮手。
- 在选择应用部分选择您的应用,然后选择提交。
- 前往底部,并选择测试应用事件。
- 启动应用,并发送事件。事件将显示到网页上。
3、深度链接
a.延迟深度链接
点击【测试深度链接】,弹出如下左图弹窗,选择”延迟发送“,填写链接(Facebook SDK将会收到这个地址),弹出右图,到此网页操作部分完成,剩下的就是首次启动APP操作
b.测试非延迟的深度链接
同样的方法,区别就是单独选择“发送通知”,然后在Facebook App会收到一个通知消息,点击消息进入web页响应链接地址(如果是个APP scheme,则会提示打开APP或直接跳转APP内部)。注意:如果此地填写的是AF平台的Onelink,则在facebook sdk收到onelink后,AF SDK会收到onelink被触发,然后 AF SDK 也会做出回调。
总结:
事件上报部分总体很简单。
整个facebook开发期间,值得注意的是,签名文件的配置(facebook平台),手机VPN联网,账号登录统一等问题要弄明白,否则测试的时候会很麻烦。