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

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

gdl_123 6 месяцев назад
Родитель
Сommit
4322fde300

+ 1 - 0
.gitignore

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

BIN
Assets/Content/Raw_Art/UI/UILanuch/img_logo_01.png


+ 24 - 0
Assets/Editor/AssetBundle/AbNameHxInfo.cs

@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+
+[System.Serializable]
+public class abNameInfo
+{
+    [SerializeField]
+    public string BaseName = "";
+    [SerializeField]
+    public string HxName = "";
+}
+
+
+[System.Serializable]
+public class AbNameHxInfo
+{
+    [SerializeField]
+    public string HxKey = "";
+
+    [SerializeField]
+    public List<abNameInfo> Infos = new List<abNameInfo>();
+}
+

+ 11 - 0
Assets/Editor/AssetBundle/AbNameHxInfo.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ece087b38337e6647b5c609b557cc466
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 93 - 10
Assets/Editor/AssetBundle/CheckHotUpdateRes.cs

@@ -7,6 +7,10 @@ using System;
 using System.Reflection;
 using System.IO;
 using System.IO.Compression;
+using System.Security.Cryptography;
+using System.Text;
+using System.Linq;
+
 
 public class CheckHotUpdateRes : EditorWindow
 {
@@ -58,7 +62,7 @@ public class CheckHotUpdateRes : EditorWindow
         //Debug.Log();
         info = AssetDatabase.LoadAssetAtPath<CheckResWindowInfo>(path);
         info.InitTags();
-        curResInfo = info.GetResInfo();
+         curResInfo = info.GetResInfo();
         if (curResInfo == null)
         {
             curResInfo = new ResInfo();
@@ -79,6 +83,7 @@ public class CheckHotUpdateRes : EditorWindow
         DrowSelectFolder("旧版本文件", "选择文件路径", "选择旧版本资源MD5文件路径", ref curResInfo.OldPath);
         DrowSelectFolder("新版本文件", "选择文件路径", "选择新版本资源MD5文件路径", ref curResInfo.NewPath);   
         DrowSelectFolder("需跟新文件输出路径", "选择文件路径", "选择需跟新文件输出路径", ref curResInfo.OutputPath);
+        DrowSelectFolder("ab包名基础名字文件路径", "选择文件路径", "选择ab包名基础名字文件路径", ref curResInfo.BaseNameFileInfoPath);
         DrawInfo();
         DrawCheckBtn();
 
@@ -213,6 +218,11 @@ public class CheckHotUpdateRes : EditorWindow
         GUILayout.BeginHorizontal();
         GUILayout.Space(60);
         curResInfo.IsIgnore =GUILayout.Toggle(curResInfo.IsIgnore, "是否开启忽略某些文件") ;
+        GUILayout.Space(60);
+        if (GUILayout.Button("制作混淆信息"))
+        {
+           MakeAbHxNameAssets();
+        }
         GUILayout.EndHorizontal();
     }
     private List<VersionInfoData> SerizlizeResList(byte[] data)
@@ -242,6 +252,14 @@ public class CheckHotUpdateRes : EditorWindow
 
         List<VersionInfoData> newlist = GetInfoDatas(newPath);
         ChangeResMD5(newlist);
+
+        Dictionary<string, string> abNamedic = null;
+        if (curResInfo.IsHx)
+        {
+            abNamedic= GetCurInfoAbNameInfos();
+        }
+
+
         if (Oldlist != null && newlist != null)
         {
             int size = newlist.Count;
@@ -256,22 +274,26 @@ public class CheckHotUpdateRes : EditorWindow
 
                 bool isignore = false;
 
-               
-                RG_Ignore_Info rG_Ignore_Info = curResInfo.Rg_Essential_Infos.FindFirst(it => !it.IsIgnore && newlist[i].FullName.Contains(it.Field));
+                string baseName = newlist[i].FullName; ;
+                RG_Ignore_Info rG_Ignore_Info = null;
+                if (curResInfo.IsHx && abNamedic.ContainsKey(newlist[i].FullName))
+                {
+
+                    baseName = abNamedic[newlist[i].FullName];
+                }
+                rG_Ignore_Info = curResInfo.Rg_Essential_Infos.FindFirst(it => !it.IsIgnore && baseName.Contains(it.Field));
 
                 bool isEssential = rG_Ignore_Info != null;
 
                 if (curResInfo.IsIgnore && !isEssential)
                 {
-                    string igstr = curResInfo.IgnoreFiles.FindFirst(it => it == newlist[i].FullName);
-                    rG_Ignore_Info = curResInfo.rG_Ignore_Infos.FindFirst(it => it.IsIgnore && newlist[i].FullName.Contains( it.Field));
+                    string igstr = curResInfo.IgnoreFiles.FindFirst(it => it == baseName);
+                    rG_Ignore_Info = curResInfo.rG_Ignore_Infos.FindFirst(it => it.IsIgnore && baseName.Contains( it.Field));
                     if (!string.IsNullOrEmpty(igstr) || rG_Ignore_Info != null)
                     {
                         isignore = true;
-                        Debug.Log("=========忽略=============" + newlist[i].FullName);
-                    }
-
-                    
+                        Debug.Log("=========忽略=============" + baseName);
+                    }                   
                 }
 
                 VersionInfoData ores = Oldlist.FindFirst(it=> it.FullName == newlist[i].FullName);
@@ -285,7 +307,7 @@ public class CheckHotUpdateRes : EditorWindow
                     }
                     else if (newlist[i].MD5 != ores.MD5)
                     {
-                        Debug.Log($"新 {newlist[i].FullName} MD5=[{newlist[i].MD5}]");
+                        Debug.Log($"新 {newlist[i].FullName} MD5=[{newlist[i].MD5}]   Base = [{baseName}]");
                         Debug.Log($"旧 {ores.FullName} MD5=[{ores.MD5}]");
                         needResList.Add(newlist[i]);
                     }
@@ -294,6 +316,7 @@ public class CheckHotUpdateRes : EditorWindow
                 }
                 else
                 {
+                    Debug.Log($"新 {newlist[i].FullName} MD5=[{newlist[i].MD5}]   Base = [{baseName}]");
                     needResList.Add(newlist[i]);
                 }
             }
@@ -443,4 +466,64 @@ public class CheckHotUpdateRes : EditorWindow
         string datapath = $"{Application.dataPath}/Content/Icons/";
         FileHelper.CopyDir(datapath, curResInfo.OutputPath, "meta");
     }
+
+
+
+    public static string GetABFileName(string abName,string s_ObscureKey)
+    {
+
+        try
+        {
+            using (var md5 = new MD5CryptoServiceProvider())
+            {
+                UTF8Encoding encoding = new UTF8Encoding(false);
+                byte[] bytes = encoding.GetBytes((abName + s_ObscureKey).ToLower());
+                bytes = md5.ComputeHash(bytes);
+                StringBuilder sb = new StringBuilder();
+                for (int i = 0; i < bytes.Length; i++)
+                {
+                    sb.Append(bytes[i].ToString("x2"));
+                }
+                return sb.ToString();
+            }
+        }
+        catch (Exception e)
+        {
+            Debug.LogException(e);
+        }
+
+        return abName;
+    }
+
+
+    private void MakeAbHxNameAssets()
+    {
+        List<VersionInfoData> baseData = GetInfoDatas(curResInfo.BaseNameFileInfoPath);
+        AbNameHxInfo hxInfo = curResInfo.abNameHxInfo == null? new AbNameHxInfo():curResInfo.abNameHxInfo;
+        if (hxInfo.Infos == null)
+            hxInfo.Infos = new List<abNameInfo>();
+        foreach (var item in baseData)
+        {
+            string hxName = GetABFileName(item.FullName,curResInfo.hxKey);
+            abNameInfo nameInfo = new abNameInfo() 
+            {
+                BaseName = item.FullName,
+                HxName = hxName,
+            };
+            hxInfo.Infos.Add(nameInfo);
+        }
+        curResInfo.abNameHxInfo = hxInfo;
+    }
+
+    public Dictionary<string,string> GetCurInfoAbNameInfos()
+    {
+        Dictionary<string, string> abinfos = new Dictionary<string, string>();
+
+        foreach (var item in curResInfo.abNameHxInfo.Infos)
+        {
+            abinfos.Add(item.HxName,item.BaseName);
+        }
+
+        return abinfos;
+    }
 }

+ 6 - 0
Assets/Editor/AssetBundle/ResInfo.cs

@@ -25,6 +25,7 @@ public class ResInfo : ScriptableObject
 
     public string OutputPath = "C:/Users/Administrator/Desktop/My/项目/1";
 
+    public string BaseNameFileInfoPath = "";
     public string VersionFileName = "Version";
 
     public string mainfestFileName = "mainfest";
@@ -37,4 +38,9 @@ public class ResInfo : ScriptableObject
     public int ChangeNum;
     public bool IsIgnore = true;
     public BuildLanguage Language = BuildLanguage.cn;
+
+    public bool IsHx = false;
+    public string hxKey = "";
+
+    public AbNameHxInfo abNameHxInfo;
 }

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

@@ -274,7 +274,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);
 

+ 1 - 0
Assets/Lua/Core/PlatformPack.lua

@@ -4,6 +4,7 @@ local PlatformPack = {
 	NOTIFY_URL = 'http://43.156.13.116:88/res/NoticeNew/',
 	SPECIAL_INFO_URL = 'http://43.156.13.116:81//channel',
 	CUSTOMER_SERVICE_INFO_URL = 'http://43.156.13.116:81//vipService',
+	SpecialFuncShield = true,
 }
 
 return PlatformPack

+ 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))

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

@@ -342,6 +342,8 @@ function LoginMgr:StartSdkInit()
         self.preLoginStatus = self.loginStatus
         self.loginStatus = LoginStatus.SdkInit
         self.stayTime = 35
+         ManagerContainer.LuaGameMgr.isCallInit = true
+        --LogError("===============sdk init=========".."isCallInit = "..Inspect(ManagerContainer.LuaGameMgr.isCallInit))
         ManagerContainer.LuaGameMgr.sdkInited = Enum.ParamState.None
         ManagerContainer.LuaGameMgr:SdkInit()
     end
@@ -861,7 +863,7 @@ function LoginMgr:ReLogin(logout)
 end
 
 function LoginMgr:QuitGame()
-    ManagerContainer.LuaGameMgr:QuitGame(true)
+    ManagerContainer.LuaGameMgr:QuitGame(false)
     return true
 end
 

+ 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()

+ 5 - 0
Assets/Lua/Managers/LuaGameMgr.lua

@@ -30,6 +30,7 @@ function LuaGameMgr:ctor()
     self.phonelatform = 0
     self.serverData = {}
     self.canEnterServerState = Enum.ParamState.None
+    self.isCallInit = false
 end
 
 function LuaGameMgr:SendBattleRecordReq(recordType,params)
@@ -64,6 +65,10 @@ end
 function LuaGameMgr:SdkInitResult(success,platformName)
     self.platform = platformName
     LogError("========================"..platformName)
+    --LogError("isCallInit = "..Inspect(self.isCallInit))
+    if not self.isCallInit then     
+        return
+    end
     self.sdkInited = (success and Enum.ParamState.Success or Enum.ParamState.Fail)
 end
 

+ 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()

+ 1 - 1
Build/BuildDependenceResource/CurPackEnv.ini

@@ -1 +1 @@
-{"m_ChannelUniqueId":"12002029","m_BuildClassName":"Pack.PackPlatformAndroid"}
+{"m_ChannelUniqueId":"22002012","m_BuildClassName":"Pack.PackPlatformiOS"}

+ 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];
+}

+ 4 - 4
ProjectSettings/ProjectSettings.asset

@@ -13,7 +13,7 @@ PlayerSettings:
   useOnDemandResources: 0
   accelerometerFrequency: 60
   companyName: mianywl
-  productName: "\u4E1C\u5357\u4E9A\u6B63\u5F0F\u670D"
+  productName: 'The King of Poring: Origin'
   defaultCursor: {fileID: 0}
   cursorHotspot: {x: 0, y: 0}
   m_SplashScreenBackgroundColor: {r: 1, g: 1, b: 1, a: 1}
@@ -138,7 +138,7 @@ PlayerSettings:
     16:10: 1
     16:9: 1
     Others: 1
-  bundleVersion: 1.0.0.6
+  bundleVersion: 0.1.0
   preloadedAssets: []
   metroInputSource: 0
   wsaTransparentSwapchain: 0
@@ -845,10 +845,10 @@ PlayerSettings:
   webGLDecompressionFallback: 1
   webGLPowerPreference: 1
   scriptingDefineSymbols:
-    Android: USE_LUA;VUPLEX_CCU;FPS_DISABLE
+    Android: USE_LUA;VUPLEX_CCU
     Standalone: USE_LUA;VUPLEX_CCU
     WebGL: USE_LUA;VUPLEX_CCU
-    iPhone: USE_LUA;VUPLEX_CCU
+    iPhone: USE_LUA;VUPLEX_CCU;FPS_DISABLE
   additionalCompilerArguments: {}
   platformArchitecture:
     iPhone: 1