Просмотр исходного кода

Merge branch 'hy_dny' of ssh://192.168.0.8:29418/xianjing into hy_dny_ios

gdl_123 5 месяцев назад
Родитель
Сommit
4c0478da3c

+ 1 - 0
.gitignore

@@ -99,3 +99,4 @@ assetbundleBak*
 /Local/ios
 /ProjectSettings/Packages
 /Build/zy
+/Local

+ 1 - 1
Assets/Editor/Pack/Platform/PackPlatformiOSBuild.cs

@@ -281,7 +281,7 @@ namespace Pack
                 { "createRoleToken",        new DictItem("string","1p4znl")},
                 { "firstPayEventToken",     new DictItem("string","p6p840")},
                 { "noviceGuideEventToken",  new DictItem("string","21l1no")},
-                { "payEventToken",          new DictItem("string","p6p840")},
+                { "payEventToken",          new DictItem("string","ot7zkz")},
                 { "registerEventToken",     new DictItem("string","6s22py")},
             },false, dict);
 

+ 8 - 4
Assets/Lua/Logic/Guild/GuildDataMgr.lua

@@ -227,10 +227,14 @@ function GuildDataMgr:ReportEnterApple(success)
     if not SDKMgr.Instance:IsReportAction() then
         return
     end
-    local datas = System.Collections.Generic.Dictionary_object_object()
-    datas:Add('event', 'mj_guild')
-    datas:Add('is_achieve', (success and 1 or 0))
-    SDKMgr.Instance:ReportAction(datas)
+    --local datas = System.Collections.Generic.Dictionary_object_object()
+    --datas:Add('event', 'mj_guild')
+    --datas:Add('is_achieve', (success and 1 or 0))
+    --SDKMgr.Instance:ReportAction(datas)
+    
+ 	LogError("----------加入工会----------");
+    local sdkrptMgr = ManagerContainer.SDKEventReportMgr
+    sdkrptMgr:SendEvent(sdkrptMgr.EventType.Join_guild)
 end
 
 function GuildDataMgr:OnKickGuildMemberAck(data)

+ 1 - 1
Assets/Lua/Logic/HundredDojo/HundredDojoDataMgr.lua

@@ -271,7 +271,7 @@ function HundredDojoDataMgr:ReportChallenge(success)
     local datas = System.Collections.Generic.Dictionary_object_object()
     datas:Add('event', 'mj_daochang')
     datas:Add('is_achieve', (success and 1 or 0))
-    SDKMgr.Instance:ReportAction(datas)
+    --SDKMgr.Instance:ReportAction(datas)
 end
 
 function HundredDojoDataMgr:OnSloganAck(data)

+ 1 - 1
Assets/Lua/Logic/Shop/ShopDataMgr.lua

@@ -58,7 +58,7 @@ function ShopDataMgr:ReportEnterShop(success)
     local datas = System.Collections.Generic.Dictionary_object_object()
     datas:Add('event', 'mj_store')
     datas:Add('is_achieve', (success and 1 or 0))
-    SDKMgr.Instance:ReportAction(datas)
+    --SDKMgr.Instance:ReportAction(datas)
 end
 
 function ShopDataMgr:OnShopRefreshAck(data)

+ 3 - 3
Assets/Lua/Logic/TaskDataNew.lua

@@ -383,14 +383,14 @@ function TaskDataNew:ReportTask(_id, success)
         local datas = System.Collections.Generic.Dictionary_object_object()
         datas:Add('event', 'mj_maintask_clothing')
         datas:Add('is_achieve', (success and 1 or 0))
-        SDKMgr.Instance:ReportAction(datas)
+        --SDKMgr.Instance:ReportAction(datas)
     else
         local _taskItemData = self:GetTaskItemData(_id, Enum.TaskTag.Main)
         if _taskItemData then
             local datas = System.Collections.Generic.Dictionary_object_object()
             datas:Add('event', 'mj_maintask')
             datas:Add('is_achieve', (success and 1 or 0))
-            SDKMgr.Instance:ReportAction(datas)
+            --SDKMgr.Instance:ReportAction(datas)
             return
         end
         _taskItemData = self:GetTaskItemData(_id, Enum.TaskTag.Daily)
@@ -398,7 +398,7 @@ function TaskDataNew:ReportTask(_id, success)
             local datas = System.Collections.Generic.Dictionary_object_object()
             datas:Add('event', 'mj_daily_rewards')
             datas:Add('is_achieve', (success and 1 or 0))
-            SDKMgr.Instance:ReportAction(datas)
+            --SDKMgr.Instance:ReportAction(datas)
         end
     end
 end

+ 16 - 3
Assets/Lua/Logic/UserData.lua

@@ -1981,13 +1981,13 @@ function UserData:ReportStudySkill(heroId, newSkills, success)
             local datas = System.Collections.Generic.Dictionary_object_object()
             datas:Add('event', 'mj_roleskill')
             datas:Add('num', newSkills[i].skillId)
-            SDKMgr.Instance:ReportAction(datas)
+            --SDKMgr.Instance:ReportAction(datas)
         end
     else
         local datas = System.Collections.Generic.Dictionary_object_object()
         datas:Add('event', 'mj_heroskill')
         datas:Add('is_achieve', (success and 1 or 0))
-        SDKMgr.Instance:ReportAction(datas)
+        --SDKMgr.Instance:ReportAction(datas)
     end
 end
 
@@ -2195,7 +2195,7 @@ function UserData:ReportGiftReward(success)
     local datas = System.Collections.Generic.Dictionary_object_object()
     datas:Add('event', 'mj_package_code')
     datas:Add('is_achieve', (success and 1 or 0))
-    SDKMgr.Instance:ReportAction(datas)
+    --SDKMgr.Instance:ReportAction(datas)
 end
 
 function UserData:SendQuestionReward()
@@ -2293,6 +2293,19 @@ function UserData:SDKUpdateRoleLv()
     self.roleUpLvTime = ManagerContainer.LuaTimerMgr:CurServerTime()
     self:SyncRoleDataToSDK()
     SDKMgr.Instance:UpdateRoleLv()
+    local level = self:GetRoleLv()
+    if level==5 or level == 10 or level ==20 then
+         	--LogError("----------达成目标等级----------");
+            local sdkrptMgr = ManagerContainer.SDKEventReportMgr
+
+            local type = sdkrptMgr.EventType.level_5
+            if level == 10 then
+                type = sdkrptMgr.EventType.level_10
+            elseif level == 20 then 
+                type = sdkrptMgr.EventType.level_20   
+            end
+            sdkrptMgr:SendEvent(type)
+    end
 end
 
 function UserData:GetHeroPetFightPowerByHeroId(id)

+ 6 - 0
Assets/Lua/Managers/ForceGuideMgr.lua

@@ -444,6 +444,12 @@ function ForceGuideMgr:ForceGuideSDKReport(groupId, state)
     if state ~= 0 then
         local delta = curTime - (self.beginTime or 0)
         SDKMgr.Instance:ReportTutorial(tutorialId, tutorialName, 0, 0, 0, lv, delta, state)
+        --LogError("----------引导----------"..groupId);
+        if groupId == 81 and state == 1 then
+            --LogError("----------完成所有引导----------");
+            local sdkrptMgr = ManagerContainer.SDKEventReportMgr
+            sdkrptMgr:SendEvent(sdkrptMgr.EventType.Complete_guide)
+        end
     else
         self.beginTime = curTime
         local beginTimeStamp = int64.new(tostring(curTime * 1000))

+ 1 - 1
Assets/Lua/Managers/LoginMgr.lua

@@ -446,7 +446,7 @@ function LoginMgr:StartCheckServer(isAgain)
 
     ManagerContainer.LuaBattleMgr:ResetBattleMode()
     self.checkServerAgain = isAgain
-    local openId = ManagerContainer.LuaGameMgr.openId  --"8bb8f18b-aeef-1b79-db12-a825"--generateDeviceId()--
+    local openId = "8bb8f18b-aeef-1b79-db12-a825"--ManagerContainer.LuaGameMgr.openId  --"8bb8f18b-aeef-1b79-db12-a825"--generateDeviceId()--
     LogError("OpenID = "..openId);
     if not openId or openId == '' then
         openId = UnityEngine.PlayerPrefs.GetString("LoginName")

+ 1 - 1
Assets/Lua/Managers/LuaBattleMgr.lua

@@ -1882,7 +1882,7 @@ function LuaBattleMgr:ReportIncomeRecord(success)
     local datas = System.Collections.Generic.Dictionary_object_object()
     datas:Add('event', 'mj_online_rewards')
     datas:Add('is_achieve', 1)
-    SDKMgr.Instance:ReportAction(datas)
+    --SDKMgr.Instance:ReportAction(datas)
 end
 
 function LuaBattleMgr:RefreshStatistics()

+ 1 - 0
Assets/Lua/Managers/ManagerContainer.lua

@@ -47,6 +47,7 @@ function ManagerContainer:InitMgr()
     self.PayMgr = require('PayMgr'):new()
     self.LoginMgr = require('LoginMgr'):new()
     self.OpenPayMgr = require('OpenPayMgr'):new()
+    self.SDKEventReportMgr = require('SDKEventReportMgr'):new()
 end
 
 function ManagerContainer:Update()

+ 159 - 0
Assets/Lua/Managers/SDKEventReportMgr.lua

@@ -0,0 +1,159 @@
+
+
+
+local SDKEventReportMgr = class("SDKEventReportMgr")
+
+
+
+
+SDKEventReportMgr.EventType = 
+{
+Activate 					=1,			--激活					Activate
+Register					=2,			--注册	````			Register
+login						=3,			--登录					login
+Create_character			=4,			--创角					Create_character
+Share						=5,			--分享					Share
+Complete_guide				=6,			--完成新手引导			Complete_guide
+Invite_friend				=7,			--邀请好友				Invite_friend
+level_5						=8,			--升到5级				level_5
+level_10					=9,			--升到10级				level_10
+level_20					=10,		--升到20级				level_20
+First_payment				=11,		--首次支付				First_payment
+Pay							=12,		--支付					Pay
+Cumulative_99				=13,		--累计充值$9.9			Cumulative_99
+Cumulative_199				=14,		--累计充值$19.9			Cumulative_199
+Join_guild					=15,		--加入公会				Join_guild
+days_2_activity				=16,		--次日活跃				days_2_activity
+days_3_activity				=17,		--3日活跃				days_3_activity
+days_7_activity				=18,		--7日活跃				days_7_activity
+days_14_activity			=19,		--14日活跃				days_14_activity
+days_30_activity			=20,		--30日活跃				days_30_activity
+Achieve_80_weekly_activity	=21,		--周活跃达到80			Achieve_80_weekly_activity
+Receive_2days_bonus			=22,		--领取2日签到奖励		Receive_2days_bonus
+Receive_3days_bonus			=23,		--领取3日签到奖励		Receive_3days_bonus
+Receive_8days_bonus			=24,		--领取8日签到奖励		Receive_8days_bonus
+Receive_30days_bonus		=25,		--领取30日签到奖励		Receive_30days_bonus
+}
+
+--[[
+安卓
+
+adjust_token:e49hr2fre4u8
+adjus事件上报及对应的token:
+激活			5wxghs	
+注册			xrodh1	
+完成新手引导		lnss3e	
+首次支付			507qdg	
+加入公会			7ic4s0	
+创角			spnuiu	
+分享			a4ab6g	
+邀请好友			i42999	
+支付			u8uojo]]
+SDKEventReportMgr.SDKEventCfg =
+{
+["Android"] = 
+{
+	[SDKEventReportMgr.EventType.Activate					]={event="Activate"						,	eventToken="5wxghs"				,					},
+	[SDKEventReportMgr.EventType.Register					]={event="Register"						,	eventToken="xrodh1"				,					},
+	[SDKEventReportMgr.EventType.login						]={event="login"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Create_character			]={event="Create_character"				,	eventToken="spnuiu"				,					},
+	[SDKEventReportMgr.EventType.Share						]={event="Share"						,	eventToken="a4ab6g"				,					},
+	[SDKEventReportMgr.EventType.Complete_guide				]={event="Complete_guide"				,	eventToken="lnss3e"				,					},
+	[SDKEventReportMgr.EventType.Invite_friend				]={event="Invite_friend"				,	eventToken="i42999"				,					},
+	[SDKEventReportMgr.EventType.level_5					]={event="level_5"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.level_10					]={event="level_10"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.level_20					]={event="level_20"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.First_payment				]={event="First_payment"				,	eventToken="507qdg"				,					},
+	[SDKEventReportMgr.EventType.Pay						]={event="Pay"							,	eventToken="u8uojo"				,					},
+	[SDKEventReportMgr.EventType.Cumulative_99				]={event="Cumulative_99"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Cumulative_199				]={event="Cumulative_199"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Join_guild					]={event="Join_guild"					,	eventToken="7ic4s0"				,					},
+	[SDKEventReportMgr.EventType.days_2_activity			]={event="days_2_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_3_activity			]={event="days_3_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_7_activity			]={event="days_7_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_14_activity			]={event="days_14_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_30_activity			]={event="days_30_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Achieve_80_weekly_activity	]={event="Achieve_80_weekly_activity"	,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_2days_bonus		]={event="Receive_2days_bonus"			,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_3days_bonus		]={event="Receive_3days_bonus"			,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_8days_bonus		]={event="Receive_8days_bonus"			,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_30days_bonus		]={event="Receive_30days_bonus"			,	eventToken=""					,					},
+},
+--[[
+adjust_token:zg6ixp19pdz4
+adjus事件上报及对应的token
+激活			kky0yu
+注册			6s22py
+完成新手引导		69if8s
+首次支付			p6p840
+加入公会			21l1no
+创角			1p4znl
+分享			e56qk7
+邀请好友			tbb1em
+支付			ot7zkz]]
+["IOS"] = 
+{
+	[SDKEventReportMgr.EventType.Activate					]={event="Activate"						,	eventToken="kky0yu"				,					},
+	[SDKEventReportMgr.EventType.Register					]={event="Register"						,	eventToken="6s22py"				,					},
+	[SDKEventReportMgr.EventType.login						]={event="login"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Create_character			]={event="Create_character"				,	eventToken="1p4znl"				,					},
+	[SDKEventReportMgr.EventType.Share						]={event="Share"						,	eventToken="e56qk7"				,					},
+	[SDKEventReportMgr.EventType.Complete_guide				]={event="Complete_guide"				,	eventToken="69if8s"				,					},
+	[SDKEventReportMgr.EventType.Invite_friend				]={event="Invite_friend"				,	eventToken="tbb1em"				,					},
+	[SDKEventReportMgr.EventType.level_5					]={event="level_5"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.level_10					]={event="level_10"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.level_20					]={event="level_20"						,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.First_payment				]={event="First_payment"				,	eventToken="p6p840"				,					},
+	[SDKEventReportMgr.EventType.Pay						]={event="Pay"							,	eventToken="ot7zkz"				,					},
+	[SDKEventReportMgr.EventType.Cumulative_99				]={event="Cumulative_99"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Cumulative_199				]={event="Cumulative_199"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Join_guild					]={event="Join_guild"					,	eventToken="21l1no"				,					},
+	[SDKEventReportMgr.EventType.days_2_activity			]={event="days_2_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_3_activity			]={event="days_3_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_7_activity			]={event="days_7_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_14_activity			]={event="days_14_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.days_30_activity			]={event="days_30_activity"				,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Achieve_80_weekly_activity	]={event="Achieve_80_weekly_activity"	,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_2days_bonus		]={event="Receive_2days_bonus"			,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_3days_bonus		]={event="Receive_3days_bonus"			,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_8days_bonus		]={event="Receive_8days_bonus"			,	eventToken=""					,					},
+	[SDKEventReportMgr.EventType.Receive_30days_bonus		]={event="Receive_30days_bonus"			,	eventToken=""					,					},
+},
+}
+
+
+function SDKEventReportMgr:SendEvent(type)
+     if not SDKMgr.Instance:IsReportAction() then
+        return
+    end
+   local curCfg = self:GetCfgByType(type)
+     local datas = System.Collections.Generic.Dictionary_object_object()
+     datas:Add('event', curCfg.event)
+     datas:Add('eventToken', curCfg.eventToken)
+     SDKMgr.Instance:ReportAction(datas)
+
+end
+
+function SDKEventReportMgr:GetCurPlatformCfg()
+     local platform = self:GetCurPlatform()
+    return self.SDKEventCfg[platform]
+end
+
+function SDKEventReportMgr:GetCurPlatform()
+    if self.platform == nil then
+        self.platform = ManagerContainer.LuaGameMgr.platform
+    end
+    if self.platform == "XUAN_YOU_IOS" then
+        return "IOS"
+    else
+        return "Android"
+    end
+end
+
+function SDKEventReportMgr:GetCfgByType(type)
+    local curCfg = self:GetCurPlatformCfg()
+
+    return curCfg[type]
+end
+
+return SDKEventReportMgr

+ 7 - 0
Assets/Lua/Managers/SDKEventReportMgr.lua.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d9ef31b91afbe814f83f17a9eaac8b14
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Lua/UI/UIChat/UIChatRoot.lua

@@ -346,7 +346,7 @@ function UIChatRoot:ReportChat(success)
     local datas = System.Collections.Generic.Dictionary_object_object()
     datas:Add('event', 'mj_speak')
     datas:Add('is_achieve', (success and 1 or 0))
-    SDKMgr.Instance:ReportAction(datas)
+    --SDKMgr.Instance:ReportAction(datas)
 end
 
 function UIChatRoot:GetChatDataType()

+ 7 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/QSDKMgr.cs

@@ -3,6 +3,13 @@ using System.Runtime.InteropServices;
 
 namespace qsdk
 {
+        public class SDKOrderExtraInfo
+    {
+        public int serverId;
+        public string platform;
+        public string subPlatform;
+        public string orderNo;
+    }
     public class QSdkMgr
     {
 

+ 30 - 8
Build/BuildDependenceResource/Plugins/SDKBridge/XuanYou_IOS/YouYiSDKiOS.cs

@@ -3,7 +3,7 @@ using System.Runtime.InteropServices;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
-
+using System.Text;
 using qsdk;
 
 public class YouYiSDKiOS : SDKBase
@@ -95,6 +95,8 @@ public class YouYiSDKiOS : SDKBase
             {
                 SDKOrderExtraInfo ext = (SDKOrderExtraInfo)extraInfo;
                 ext.orderNo = cpOrderId;
+                ext.serverId = gameRoleInfo.serverId;
+                ext.platform = SDKName;
                 extrasParams = JsonUtility.ToJson(ext);
             }
 
@@ -157,6 +159,32 @@ public class YouYiSDKiOS : SDKBase
         return false;
     }
 
+    public override bool IsReportAction() { return true; }
+
+    public override void ReportAction(Dictionary<object, object> datas)
+    {
+        base.ReportAction(datas);
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            return;
+        }
+
+         StringBuilder stringBuilder = new StringBuilder();
+        int count = 0;
+        foreach (var item in datas)
+        {
+            count++;
+            if (count == datas.Count)
+                stringBuilder.Append(item.Key.ToString()).Append(",").Append(item.Value.ToString());
+            else
+                stringBuilder.Append(item.Key.ToString()).Append(",").Append(item.Value.ToString()).Append(",");
+        }
+        QSdkMgr.UpdateRoleInfo(4, gameRoleInfo, stringBuilder.ToString());
+    }
+
+
     public override void CallInitSuccessCB()
     {
         m_YouYiListener.OnInitSuccess();
@@ -166,13 +194,7 @@ public class YouYiSDKiOS : SDKBase
     {
         m_YouYiListener.StartCheckLogin();
     }
-    public class SDKOrderExtraInfo
-    {
-        public int serverId;
-        public string platform;
-        public string subPlatform;
-        public string orderNo;
-    }
+
 
 }
 #endif

+ 57 - 10
Build/BuildDependenceResource/Plugins/iOS/Xuanyou_SDK_IOS/QsdkMgr.mm

@@ -152,7 +152,7 @@ void QSDK_Pay(const char *productId,const char *productName,const char * amount,
                 const char* serverID,const char* accountID,const char* roleID,const char* roleLv) {
     
      NSDictionary *ext = @{
-        @"gameextrasParams":QsdkCreateNSString(extrasParams),
+        @"extra":QsdkCreateNSString(extrasParams),
      };
     //支付
     SPProductData *product = [SPProductData new];
@@ -176,11 +176,17 @@ void QSDK_logout() {
         SDK_Logout_Callback(success,data);
     }];
 }
-
+extern NSDictionary* GetParameters(NSArray* arr);
 void QSDK_UpdateRoleInfo(int type,const char * roleName,const char * roleId,
                         const char * roleLv, const char * serverName,
                         const char * serverId,const char * extra)
 {
+    SPRoleData *roleData = [SPRoleData new];
+    roleData.roleName =QsdkCreateNSString(roleName);
+    roleData.roleLevel = QsdkCreateNSString(roleLv);
+    roleData.roleId = QsdkCreateNSString(roleId);
+    roleData.serverId = QsdkCreateNSString(serverId);
+    roleData.serverName = QsdkCreateNSString(serverName);
     SPSDKReportType RType = SPSDKReportTypeOnlinePeriod;
     if(type == 0)
     {
@@ -190,16 +196,40 @@ void QSDK_UpdateRoleInfo(int type,const char * roleName,const char * roleId,
     {
         RType =  SPSDKReportTypeEnterGame;
     }
-    else
+    else if(type == 4)
     {
-        return;
+        RType = SPSDKReportTypeOther;
+        NSString* exStr = QsdkCreateNSString(extra);
+        
+        NSArray* dataArr =  [exStr componentsSeparatedByString:	@","];
+        if(dataArr != nullptr && dataArr.count >= 4)
+        {
+            
+            /*for(int i =4;i> dataArr.count;i+=2)
+            {
+                [NSDictionary dictionaryWithObject:dataArr[i+1] forKey:dataArr[i]];
+            }*/
+            if(dataArr.count==4)
+            {
+                roleData.extra = @{
+                @"firEventName":dataArr[1],
+                @"adjEventToken":dataArr[3],
+            };
+            }
+            else
+            {
+                roleData.extra = @{
+                    @"firEventName":dataArr[1],
+                    @"adjEventToken":dataArr[3],
+                    @"firEventParameters":GetParameters(dataArr),
+                };
+            }
+            
+
+        }
+        
     }
-    SPRoleData *roleData = [SPRoleData new];
-    roleData.roleName =QsdkCreateNSString(roleName);
-    roleData.roleLevel = QsdkCreateNSString(roleLv);
-    roleData.roleId = QsdkCreateNSString(roleId);
-    roleData.serverId = QsdkCreateNSString(serverId);
-    roleData.serverName = QsdkCreateNSString(serverName);
+   
     [SPSDK.instance reportRole:roleData type:RType callback:^(BOOL success, id data) 
     {
  
@@ -207,3 +237,20 @@ void QSDK_UpdateRoleInfo(int type,const char * roleName,const char * roleId,
 }
 
 }
+
+NSDictionary* GetParameters(NSArray* arr)
+{
+    int count = ((int)arr.count/2) - 2;
+    int start = 4;
+    if(count ==1){return @{arr[start]:arr[start+1],};}
+    else if(count ==2){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],}; }
+    else if(count ==3){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],};}
+    else if(count ==4){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],};}
+    else if(count ==5){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],arr[start+8]:arr[start+9],};}
+    else if(count ==6){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],arr[start+8]:arr[start+9],arr[start+10]:arr[start+11],};}
+    else if(count ==7){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],arr[start+8]:arr[start+9],arr[start+10]:arr[start+11],arr[start+12]:arr[start+13],};}
+    else if(count ==8){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],arr[start+8]:arr[start+9],arr[start+10]:arr[start+11],arr[start+12]:arr[start+13],arr[start+14]:arr[start+15],};}
+    else if(count ==9){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],arr[start+8]:arr[start+9],arr[start+10]:arr[start+11],arr[start+12]:arr[start+13],arr[start+14]:arr[start+15],arr[start+16]:arr[start+17],};}
+    else if(count >=10){return @{arr[start]:arr[start+1],arr[start+2]:arr[start+3],arr[start+4]:arr[start+5],arr[start+6]:arr[start+7],arr[start+8]:arr[start+9],arr[start+10]:arr[start+11],arr[start+12]:arr[start+13],arr[start+14]:arr[start+15],arr[start+16]:arr[start+17],arr[start+18]:arr[start+19],};}
+    return [NSDictionary dictionary];
+}