[关闭]
@iamzealotwang 2014-09-15T04:15:19.000000Z 字数 1887 阅读 833

VIP & 验证 系统

VIP


级别定义


模块ID

vipPurchaseDialog

级别权限


购买界面流程

Created with Raphaël 2.1.2用户点击购买全屏BlockY(成功)/N(失败+用户取消)关闭全屏Block显示验证LoadingLoop请求后端验证隐藏验证Loading是否验证成功显示购买成功购买成功End显示购买失败购买失败End关闭全屏Block取消/失败 购买Endyesnoyesno

VIP配置表

此处配置表仅仅为了说明,最终配置表为开发目录下 VipPurchaseConfig.json文件

VIP按1月31天进行计算

  1. //在productCountryGroupMapingArray中定义每个Group对应哪些国家Key
  2. {
  3. "productCountryGroupMapingArray": [
  4. {
  5. "groupName": "gourp_CN",
  6. "mappingCountryArray": [
  7. "zh_CN"
  8. ]
  9. },
  10. {
  11. "groupName": "group_EN",
  12. "mappingCountryArray": [
  13. "en_US",
  14. "en_CA",
  15. "en_EN",
  16. "en_AU",
  17. "en_SGP"
  18. ]
  19. }
  20. ],
  21. //productInfoArray下面定义每个Group的信息
  22. "productInfoArray": [
  23. {
  24. "displayIndex":1,
  25. "productID": "com.snaplingo.package1",
  26. "productAvailableCountryGroup": "group_EN",
  27. "uiIsShowHotFlag": false,
  28. "uiIsShowSpecialOfferFlag": false,
  29. "uiTitleText": "1个月",
  30. "uiLocalPriceText": "$5",
  31. "uiFreeGiftText": "",
  32. "addVipDayNum": 31
  33. },
  34. {
  35. "displayIndex":2,
  36. "productID": "com.snaplingo.package1",
  37. "productAvailableCountryGroup": "gourp_CN",
  38. "uiIsShowHotFlag": false,
  39. "uiIsShowSpecialOfferFlag": false,
  40. "uiTitleText": "10个月",
  41. "uiLocalPriceText": "$50",
  42. "uiFreeGiftText": "1个月",
  43. "addVipDayNum": 372
  44. },
  45. ...
  46. ]
  47. }

RPC接口


请求VIP.json文件

  1. function requestVipConfigURL
  2. parameter
  3. {
  4. "url":"xxxxx"
  5. }

发送购买VIP时常请求

  1. function commandBuyVipTime
  2. parameter
  3. {
  4. "productID":"xxxx"//购买的物品
  5. "receipt":"xxxx" //验证的Base64字符串
  6. "transactionID":"xxxx"//唯一ID mTransactionIdentifier
  7. "isSandBox":false//当前是否为沙箱环境
  8. }

轮询服务器查询交易结果(前端Block住用户操作)
苹果的验证服务器有时候查询时间过长 需要单独接口刷新购买结果

  1. function requestIsBuyVipFinish
  2. parameter
  3. {
  4. "transactionID":"xxxx"
  5. }
  6. return
  7. {
  8. "status":1 //1:购买成功(即使重复查询后端也返回成功) 2:购买失败(后端从苹果服务器上校验失败)
  9. "vipRemainDayNum":300 //返回用户VIP剩余天数 (不是需要增加的时间)
  10. }

-在VIP购买成功后调用该接口刷新用户的Message信息,因为Message信息会被服务器缓存,
但是非VIP可以推送下来任务,但是无Message(Vip用户推送下来任务的同时及推送了Message)

  1. function commandRefreshMissionMessageOnNewBuyVip
  2. parameter
  3. {
  4. "missionIDArray":[1001,1002,1003] //用户目前所有的互动型任务MetaID
  5. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注