[关闭]
@iamzealotwang 2015-08-19T08:06:42.000000Z 字数 9420 阅读 876

任务系统

任务


任务类型概述


扩展需求


互动型任务找人说明


新任务抓取逻辑

普通/VIP 流程图

Created with Raphaël 2.1.2客户端请求服务端推送M个任务推送已有主动任务(MetaID 3000+)是否还有剩余?推送已有被动任务(MetaID 4000+)是否还有剩余?3000+任务<1 并且 2000+任务<1?推送1个新的互动发起任务(MetaID 2000+)是否还有剩余?推送单人任务(1000+)返回最终选择结果返回最终选择结果返回最终选择结果返回最终选择结果yesnoyesnoyesnoyesno

双语明星 流程图

Created with Raphaël 2.1.2客户端请求服务端推送M个任务推送已有主动任务(MetaID 3000+)是否还有剩余?新的互动发起任务(MetaID 2000+)<1?推送1个新的互动发起任务(MetaID 2000+)是否还有剩余?推送已有被动任务(MetaID 4000+)是否还有剩余?推送单人任务(1000+)返回最终选择结果返回最终选择结果返回最终选择结果返回最终选择结果yesnoyesnoyesnoyesno

新任务(2000+)推送的用户选择逻辑

说明及定义


中国

Created with Raphaël 2.1.2选择20人找出所有可推送新用户兴趣匹配找用户是否还有剩余?找出其他VIP用户兴趣匹配找用户是否还有剩余?返回最终选择结果返回最终选择结果返回最终选择结果yesnoyesno
Created with Raphaël 2.1.2选择20人找出所有VIP用户兴趣匹配15个用户找出非VIP用户兴趣匹配5个用户返回最终选择结果

美国



补充需求


任务检测类型

Club相关

> - 进入某个Club(ex:进入动物Club)       -----> **MissionTypeClubEnter**
> - Club中上传照片                      -----> **MissionTypeClubUploadPhoto**
> - Club中Like照片                      -----> **MissionTypeClubLikePhoto**
> - Club中给照片Feedback                -----> **MissionTypeClubFeedbackOnPhoto**
> - Club中给照片Comment                 -----> **MissionTypeClubCommentOnPhoto**
> - Club中给别人ThankYou                -----> **MissionTypeClubGiveThankYou**

CardCenter相关

> - CardCenter 发送卡片         -----> **MissionTypeCardSendCard**
> - CardCenter Like一张卡片     -----> **MissionTypeCardLikeCard**
> - CardCenter 翻看一张卡片     -----> **MissionTypeCardFlipCard**

1V1相关

> - 1v1 Chat中发送文字          -----> **MissionTypeChatWriteTextMessage**
> - 1v1 Chat中发送图片          -----> **MissionTypeChatSendImageMessage**
> - 1v1 Chat中发送语音          -----> **MissionTypeChatSendVoiceMessage**

游戏相关

> - 更改Profile                 -----> **MissionTypeProfileEdit**
> - 商店中购买物品              -----> **MissionTypeShopBuyCoinsItme**
> - 更换家中壁纸                -----> **MissionTypeHomeChangeBackground**
> - 更换家中墙上照片            -----> **MissionTypeHomeChangeWallImage**
> - 访问好友家                  -----> **MissionTypeFriendVistiFriend**
> - 发送好友请求                -----> **MissionTypeFriendSendAddFriendRequest**
> - 接受好友请求                -----> **MissionTypeFriendAcceptFriendRequest**
> - 使用虫洞                    -----> **MissionTypeSceneUseWormhole**

照片审核

> - 照片审核                    -----> **MissionTypeExaminePhoto**

MessionConfig 解析需求

MissionMeta格式

  1. //tutorialMissionArray 新手教学Mission
  2. //selfMissionArray 可以自己完成的Mission
  3. //initiativeMissionArray 主动发触发多人任务的Mission(一旦发完卡片后该任务结束)
  4. //engageMissionArray 互动型任务中-主动方的Mission
  5. //passivityMissionArray 互动型任务中-被动方的Mission
  6. //在initiativeMissionArray中有MissionTags,后端用于兴趣相投模块查找卡片
  7. //isUseStepReward 表示是否使用分步的奖励配置,如果为True则奖励读取missionStepArray中的值
  8. //isOnceDaily 是否为每日仅推送一次的任务
  9. {
  10. "tutorialMissionArray": [
  11. {
  12. "missionID": 1,
  13. "missionImgURL": "http://114.215.136.114:8085/metafile/missionImg/20.png",
  14. "missionType": "selfMission",
  15. "title_CN": "完善个人资料",
  16. "title_EN": "改自己的Profile",
  17. "desc_CN": "在家中好让更多的人了解你,想与你做朋友。",
  18. "desc_EN": "改自己的Profile",
  19. "rewardCoins": 100,
  20. "rewardExp": 100,
  21. "isUseStepReward": false,
  22. "isOnceDaily":false //是否为每日仅推送一次的任务
  23. "missionStepArray": [
  24. {
  25. "rewardCoins": "70",
  26. "rewardExp": "20",
  27. "rewardDiamond": "0",
  28. "index": 0,
  29. "desc_CN": "完善个人资料",
  30. "desc_EN": "改自己的Profile",
  31. "triggerType": "MissionTypeProfileEdit",
  32. "triggerNum": 1
  33. }
  34. ]
  35. }
  36. ],
  37. "selfMissionArray": [
  38. {
  39. "missionID": 1001,
  40. "missionType": "selfMission",
  41. "title_CN": "动物保护神",
  42. "title_EN": "Animal Guardian",
  43. "desc_CN": "动物俱乐部上传照片",
  44. "desc_EN": "Hey! Warrior of Animuick share it with other warrior in Animal Club!",
  45. "rewardCoins": 100,
  46. "rewardExp": 100,
  47. "missionStepArray": [
  48. {
  49. "index": 0,
  50. "desc_CN": "在动物俱乐部中上传1张动物照片",
  51. "desc_EN": "Upload 1 Photos in Animal Club",
  52. "triggerType": "MissionTypeClubUploadPhoto",
  53. "ext": {
  54. "clubID": 3
  55. },
  56. "triggerNum": 1
  57. },
  58. {
  59. "index": 1,
  60. "desc_CN": "在动物俱乐部上传照片的任务",
  61. "desc_EN": "Upload 1 Photos in Animal Club",
  62. "triggerType": "MissionTypeClubUploadPhoto",
  63. "ext": {
  64. "clubID": 3
  65. },
  66. "triggerNum": 1
  67. }
  68. ]
  69. }
  70. ],
  71. "initiativeMissionArray": [
  72. {
  73. "missionContry": "CN", //哪个国家的用户可以接收到当前Mission (CN,EN,ALL)
  74. "missionID": 2000,
  75. "engageMissionID": 3000,
  76. "rewardCoins": 100,
  77. "rewardExp": 100,
  78. "title": "你最喜欢的男歌星",
  79. "desc": "你最喜欢的男歌星是谁呢?在卡片中心找一个你最喜欢的男歌星并且告诉大家为什么",
  80. "missionTags": "女歌星#女演员"
  81. "missionStepArray": [
  82. {
  83. "index": 0,
  84. "desc": "发送一张男歌星的卡片",
  85. "triggerType": "missionSendCard",
  86. "triggerNum": 1
  87. }
  88. ]
  89. }
  90. ],
  91. "engageMissionArray": [
  92. {
  93. "missionID": 3000,
  94. "relateMissionID": 4000,
  95. "missionType": "engageMission",
  96. "title": "和#UserName#一起聊聊你最喜欢的男歌星",
  97. "desc": "#UserName#想觉得你发的卡片很有兴趣呢,快快和他一起聊聊你喜欢的这位男歌星吧!",
  98. "rewardCoins": 100,
  99. "rewardExp": 100,
  100. "minimumFinishGroupNum": 3,
  101. "broadcastGroupNum": 10,
  102. "isShowMissionFinishQualityMark": true, //是否显示任务完成质量评分
  103. "isShowVoicePracticeMark": true, //是否显示语音质量评分
  104. "isShowTextPracticeMark": true, //是否显示练习质量评分
  105. "missionStepArray": [
  106. {
  107. "index": 0,
  108. "desc": "和#UserName#聊聊和这个男歌星相关的信息",
  109. "triggerType": "typeChatWriteTextMessage",
  110. "triggerNum": 3,
  111. "finishAction": "relateMissionNextStep" //当前任务关联任务进入下一步
  112. },
  113. {
  114. "index": 1,
  115. "desc": "等待#UserName#给你的回复,记得要常回来看看呦!",
  116. "triggerType": "waitServer" //等待服务器设置该步完成
  117. },
  118. {
  119. "index": 2,
  120. "desc": "Hey!太厉害了,再和#UserName#聊聊这个歌星吧",
  121. "triggerType": "typeChatWriteTextMessage",
  122. "triggerNum": 2
  123. }
  124. ]
  125. }
  126. ],
  127. "passivityMissionArray": [
  128. {
  129. "missionID": 4000,
  130. "missionType": "passivityMission",
  131. "missionImgURL": "http://114.215.136.114:8085/metafile/missionImg/MissionTest.png",
  132. "relateMissionID": 3000, //和当前任务关联的任务MetaID
  133. "title": "Chat with #ownerUserName# about the male singer!",
  134. "desc": "Hey! #UserName# is big fan of this singer, why don't you guys chat about this?",
  135. "rewardCoins": 100,
  136. "rewardExp": 100,
  137. "isShowMissionMark": true, //是否显示任务完成质量评分
  138. "isShowVoicePracticeMark": true, //是否显示语音质量评分
  139. "isShowTextPracticeMark": true, //是否显示练习质量评分
  140. "missionStepArray": [
  141. {
  142. "index": 0,
  143. "desc": "Give #UserName# some feedback base on what he wrote",
  144. "triggerType": "typeChatWriteTextMessage",
  145. "triggerNum": 1,
  146. "finishAction": "relateMissionStart" //当前任务关联任务开始
  147. },
  148. {
  149. "index": 1,
  150. "desc": "Wating #UserName# write more message.",
  151. "triggerType": "waitServer" //等待服务器设置该步完成
  152. },
  153. {
  154. "index": 2,
  155. "desc": "Give #ownerUserName# some feedback base on what he wrote",
  156. "triggerType": "typeChatWriteTextMessage",
  157. "triggerNum": 1,
  158. "finishAction": "relateMissionNextStep" //当前任务关联任务进入下一步
  159. }
  160. ]
  161. }
  162. ]
  163. }

MissionVo格式

SelfMissionVo

  1. {
  2. "uuid":"xxxxx",
  3. "missionMetaID": 2000,
  4. "isFinish": false, //当前任务完成
  5. "isGainReward": false, //当前任务已领奖
  6. "isTodayInProgress":true //是否今日有进展(前端用于任务排除)
  7. "userName":"xxx",
  8. "userAvtartImgURL":"xxxx",
  9. "userID":"xxxx",
  10. "missionStepArray": [
  11. {
  12. "index": 0,
  13. "stepNum": 3,
  14. "isFinish": true
  15. },
  16. {
  17. "index": 1,
  18. "stepNum": 3,
  19. "isFinish": true
  20. },
  21. {
  22. "index": 2,
  23. "stepNum": 3,
  24. "isFinish": false
  25. }
  26. ]
  27. }

Rpc请求接口

  1. function requestMissionMetaConfigURL
  2. return
  3. {
  4. "uri":"xxxxxxx" //返回的地址无Http前缀
  5. }

  1. function requestDailyMissionListAndRefreshTime
  2. parameter
  3. {
  4. "clientDate":"0000000000000" //玩家当前的时间秒数(后端用于判断是否执行清空逻辑)
  5. }
  6. return
  7. {
  8. "historyStarNum":5 //成就页面中需要展示的星星数量
  9. "activeMissionVoList":[] //当前活跃的任务列表(里面的格式为MissionVo)
  10. "newMissionRefreshCountDownTime":3000 //刷新按钮剩余倒计时时间
  11. }

  1. function requsetNewMission
  2. parameter
  3. {
  4. "totoalInteractiveMissionNum":1 //当前角色已有的互动任务数量
  5. "num":7 //请求的任务数量
  6. "is_new_user": //当前是否请求新手任务
  7. }
  8. return
  9. {
  10. "newMissionVoList":[] //新的任务列表(里面的格式为MissionVo)
  11. }

  1. function commandMissionVoChange
  2. parameter
  3. {
  4. "uuid":"xxxxx" //Mission的唯一ID
  5. "missionMetaID":3000 //
  6. "stepIndex":1 //第几步有进展
  7. "stepAddNum":1 //当前步骤加ji
  8. "isStepFinish":true //当前步骤是否完成
  9. "isMissionFinish":true //当前任务是否完成
  10. "isEngageMission":true //当前任务是否为互动型任务
  11. }

  1. function commandGainMissionReward
  2. parameter
  3. {
  4. "uuid":"xxxxx"
  5. "missionMetaID":3000
  6. }

  1. function commandRatingOnInteractiveMission
  2. parameter
  3. {
  4. "missionUUID":xxx,
  5. "interactUserID":"xxx", //和当前用户互动的那个人的ID
  6. "finshQualityRating":1~5,
  7. "voiceRating":1~5,
  8. "languageRating":1~5
  9. }
  1. function commandMissionCardChat
  2. parameter
  3. {
  4. "cardID":"xxxxxx"
  5. "userIDArray":[]
  6. "message":"xxx"
  7. "mission_id":"xxx"
  8. "country":0
  9. }
  1. function commandAddTodayStarNum
  2. parameter null
  1. function requestMissionMetaConfigURL
  2. parameter null
  3. return
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注