程序接口

特别注意:只有调用退出登录方法,才会有游戏时长和活跃用户等指标。一次完整会话链路核心设计有三步:

1、init
2、login

(中间任意消费和自定义事件)

3、logout

程序接口包括 玩家登录付费行为分析自定义事件统计 三种:

玩家登录

  1. // 开始登录
  2. CAAccount.loginStart(
  3. String channel // 获客渠道,指获取该客户的广告渠道信息
  4. );
  5. // 登录成功
  6. CAAccount.loginSuccess(
  7. String uid, // 用户ID
  8. int age, // 年龄
  9. int sex, // 性别
  10. String channel // 获客渠道,指获取该客户的广告渠道信息
  11. );
  12. // 登录失败
  13. CAAccount.loginFailed(
  14. String reason // 登录失败原因
  15. );
  16. // 退出登录 (我们已经考虑和完善处理玩家异常登出操作)
  17. CAAccount.logout();

付费行为分析

非实际付费渠道,只是收集付费行为

  1. // 开始支付
  2. CAPayment.payBegin(
  3. int amount, // 现金金额或现金等价物的额度。例如1元传入100,100元则传入10000
  4. String orderID, // 订单ID,唯一标识一次交易。
  5. String payType, // 支付方式。如:支付宝、苹果iap、银联支付、爱贝支付聚合等。
  6. String iapID, // 商品ID。玩家购买的充值包类型。例如:人民币15元600虚拟币包
  7. String currencyType, // 请使用ISO 4217中规范的3位字母代码标记货币类型。充值货币类型
  8. String virtualCurrencyAmount, // 充值获得的虚拟币额度。
  9. String accountID, // 消费的账号 苹果是appleid 安卓是??
  10. String partner, // 支付渠道
  11. String gameServer, // 玩家充值的区服。
  12. String level, // 玩家充值时的等级。
  13. String mission // 玩家充值时所在的关卡或任务。亦可传入一个玩家打到的最高关卡
  14. )
  15. // 支付成功
  16. CAPayment.paySuccess(
  17. int amount, // 现金金额或现金等价物的额度。例如1元传入100,100元则传入10000
  18. String orderID,
  19. String payType,
  20. String iapID,
  21. String currencyType,
  22. String virtualCurrencyAmount,
  23. String accountID,
  24. String partner,
  25. String gameServer,
  26. String level,
  27. String mission
  28. );
  29. // 支付失败
  30. CAPayment.payFailed(
  31. int amount, // 现金金额或现金等价物的额度。例如1元传入100,100元则传入10000
  32. String orderID,
  33. String payType,
  34. String iapID,
  35. String currencyType,
  36. String virtualCurrencyAmount,
  37. String accountID,
  38. String partner,
  39. String gameServer,
  40. String level,
  41. String mission,
  42. String reason // 充值失败的原因
  43. );
  44. // 支付取消
  45. CAPayment.payCanceled(
  46. int amount, // 现金金额或现金等价物的额度。例如1元传入100,100元则传入10000
  47. String orderID,
  48. String payType,
  49. String iapID,
  50. String currencyType,
  51. String virtualCurrencyAmount,
  52. String accountID,
  53. String partner,
  54. String gameServer,
  55. String level,
  56. String mission
  57. );

自定义事件统计

事件 ID 可以任意填写,事件内容及标签灵活自定义。例如:

  1. "evetID":"barrier",
  2. "eventValue":{
  3. "关卡数" : "魔法瓶",
  4. "玩家级别" : "100",
  5. "玩家战力" : 100,
  6. "复活次数" : 100,
  7. }

长度限制: eventid(事件ID) 200;tagkey(标签id) 200 ;tagvalue(标签值) 200。

例子中:”barrier” 为 eventID ; “关卡数” 为 tagkey;”魔法瓶” 为 tagvalue。

自定义事件内置了一些默认模板,包括玩家信息、关卡统计、任务统计、道具统计等,具体可查看 默认模版 部分的文档内容。注意:事件 ID 不可使用关键字:initpaytaskbarrieritemadvertisingrolevirtual,以免和默认模板的数据产生混淆。

后台根据事件内定义的标签进行相关统计和漏斗分析。

接口中eventdata不能传空值,空值将无法进行后续的统计分析工作。

  1. // 开始事件
  2. CACustomEvent.onStarted(
  3. final String eventID, // 事件ID
  4. JSONObject eventData // 自定义数据(JSONObject)不要传空值
  5. );
  6. // 事件完成
  7. CACustomEvent.onSuccess(
  8. final String eventID,
  9. JSONObject eventData // 自定义数据(JSONObject)不要传空值
  10. );
  11. // 事件取消
  12. CACustomEvent.onCancelled(
  13. final String eventID,
  14. JSONObject eventData // 自定义数据(JSONObject)不要传空值
  15. );
  16. // 事件失败
  17. CACustomEvent.onFailed(
  18. final String eventID,
  19. JSONObject eventData,
  20. String reason // 失败原因
  21. );