广告打点

This commit is contained in:
yangjing 2022-02-16 19:41:50 +08:00
parent 68a38bbef6
commit 54cb4868b5
11 changed files with 139 additions and 4 deletions

View File

@ -0,0 +1,45 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public partial class Const
{
public static class AdsEvent
{
public static string StartGame = "start_game";
public static string FinishGame = "finish_game";
public static string GameWin = "game_success";
public static string GameLose = "game_fail";
public static string ClickMoreGame = "click_game_button";
public static string ClickLevel = "click_stage_button";
public static string ClickTip = "click_tip_button";
public static string EndRetry = "game_retry";
public static string EndNext = "game_next";
public static string EndSelect = "game_select_stage";
public static string UnlockTip = "unlock_tip";
public static string PanelMainShowed = "mainpage_show";
public static string PanelLevelShowed = "stage_page_show";
public static string PanelLevelBack = "stage_page_click_back";
public static string PanelLevelHome = "stage_page_click_home";
}
public static class AdsEvtID
{
public static string Level = "game_level";
}
public static class AdsEvtValue
{
public static string UnlockSound = "sound_unlock";
public static string GamingSelect = "gaming_select";
public static string EndRetry = "end_game_retry";
public static string EndNext = "end_game_next";
public static string EndSelect = "end_game_select";
}
}

View File

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

View File

@ -26,6 +26,7 @@ public class GameLogic : MonoBehaviour
mUIGame.DelPlay = PlayFilm; mUIGame.DelPlay = PlayFilm;
ToukaStageCommonEvent.Instance.StageStartEvent(PlayerData.Instance.CurrentLevel); ToukaStageCommonEvent.Instance.StageStartEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.StartGame, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
} }
private void PlayFilm(int[] pSoundOrder) private void PlayFilm(int[] pSoundOrder)
@ -66,6 +67,7 @@ public class GameLogic : MonoBehaviour
UIManager.Instance.CloseUI<PanelGame>(); UIManager.Instance.CloseUI<PanelGame>();
ToukaStageCommonEvent.Instance.StageTimeEvent(PlayerData.Instance.CurrentLevel); ToukaStageCommonEvent.Instance.StageTimeEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.FinishGame, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
PanelResult tUIResult = UIManager.Instance.OpenUI<PanelResult>(); PanelResult tUIResult = UIManager.Instance.OpenUI<PanelResult>();
bool tHasComplete = PlayerData.Instance.EndingCountOfLevel(PlayerData.Instance.CurrentLevelID) == tLvData.Endings.Count; bool tHasComplete = PlayerData.Instance.EndingCountOfLevel(PlayerData.Instance.CurrentLevelID) == tLvData.Endings.Count;
@ -81,12 +83,14 @@ public class GameLogic : MonoBehaviour
AudioManager.Instance.PlaySound(AudioClipType.Win); AudioManager.Instance.PlaySound(AudioClipType.Win);
ToukaStageCommonEvent.Instance.StageSuccessEvent(PlayerData.Instance.CurrentLevel); ToukaStageCommonEvent.Instance.StageSuccessEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.GameWin, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
} }
else else
{ {
AudioManager.Instance.PlaySound(AudioClipType.Lose); AudioManager.Instance.PlaySound(AudioClipType.Lose);
ToukaStageCommonEvent.Instance.StageFailureEvent(PlayerData.Instance.CurrentLevel); ToukaStageCommonEvent.Instance.StageFailureEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.GameLose, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
} }
tUIResult.Init(PlayerData.Instance.CurrentLevelID, tEdData.EndingName, tEdData.IsGoodEnding, PlayerData.Instance.IsNextLevelPassed(), tHasNew, tHasComplete); tUIResult.Init(PlayerData.Instance.CurrentLevelID, tEdData.EndingName, tEdData.IsGoodEnding, PlayerData.Instance.IsNextLevelPassed(), tHasNew, tHasComplete);
} }
@ -96,6 +100,7 @@ public class GameLogic : MonoBehaviour
tUIResult.Init(PlayerData.Instance.CurrentLevelID, "", false, PlayerData.Instance.IsNextLevelPassed(), false, true); tUIResult.Init(PlayerData.Instance.CurrentLevelID, "", false, PlayerData.Instance.IsNextLevelPassed(), false, true);
ToukaStageCommonEvent.Instance.StageFailureEvent(PlayerData.Instance.CurrentLevel); ToukaStageCommonEvent.Instance.StageFailureEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.GameLose, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
} }
tUIResult.DelAgain = PlayAgain; tUIResult.DelAgain = PlayAgain;

View File

@ -35,6 +35,15 @@ public class PlayerData : StorageBase<PlayerData>
} }
} }
public bool HasShowedReview
{
get
{
return mHasShowedReview;
}
}
[SerializeField] private bool mHasShowedReview = false;
[SerializeField] private Dictionary<int, List<int>> mEndingDic = new Dictionary<int, List<int>>(); [SerializeField] private Dictionary<int, List<int>> mEndingDic = new Dictionary<int, List<int>>();
[SerializeField] private Dictionary<int, List<int>> mEndingAdTipDic = new Dictionary<int, List<int>>(); [SerializeField] private Dictionary<int, List<int>> mEndingAdTipDic = new Dictionary<int, List<int>>();
@ -132,8 +141,23 @@ public class PlayerData : StorageBase<PlayerData>
} }
} }
public int EndingAdTipCountOfLevel(int pLevelID)
{
if (mEndingAdTipDic.ContainsKey(pLevelID))
{
return mEndingAdTipDic[pLevelID].Count;
}
return 0;
}
public bool HasWatchedEndingAdTip(int pLevelID, int pEndingID) public bool HasWatchedEndingAdTip(int pLevelID, int pEndingID)
{ {
return mEndingAdTipDic.ContainsKey(pLevelID) && mEndingAdTipDic[pLevelID].Contains(pEndingID); return mEndingAdTipDic.ContainsKey(pLevelID) && mEndingAdTipDic[pLevelID].Contains(pEndingID);
} }
public void MarkReviewShowed()
{
mHasShowedReview = true;
}
} }

View File

@ -89,6 +89,8 @@ public class ButtonEndings : MonoBehaviour
private void OnClick() private void OnClick()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.ClickTip, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
ShowTip(false); ShowTip(false);
DelClick?.Invoke(); DelClick?.Invoke();
} }

View File

@ -93,7 +93,7 @@ public class EndingCell : MonoBehaviour
private void OnClickAdTip() private void OnClickAdTip()
{ {
ToukaSDKManager.Instance.PlayRewardAd("WatchTip", WatchAdSucceed, () => ToukaSDKManager.Instance.PlayRewardAd(Const.AdsEvtValue.UnlockSound, WatchAdSucceed, () =>
{ {
UIManager.Instance.OpenUI<PanelNoAdsTip>(); UIManager.Instance.OpenUI<PanelNoAdsTip>();
}); });
@ -105,5 +105,7 @@ public class EndingCell : MonoBehaviour
mBtnTip.gameObject.SetActive(true); mBtnTip.gameObject.SetActive(true);
mBtnAdTip.gameObject.SetActive(false); mBtnAdTip.gameObject.SetActive(false);
OnClickTip(); OnClickTip();
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.UnlockTip, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
} }
} }

View File

@ -47,6 +47,11 @@ public class PanelEndings : BasePanel
mCvsBg.DOFade(1, 0.3f); mCvsBg.DOFade(1, 0.3f);
mRctBg.DOAnchorPosY(100, 0.3f); mRctBg.DOAnchorPosY(100, 0.3f);
if (PlayerData.Instance.EndingAdTipCountOfLevel(mLevelID) < mLvData.Endings.Count)
{
ToukaSDKManager.Instance.LogEventByUmengAdShow(Const.AdsEvtValue.UnlockSound);
}
} }
private void RefreshEndingList() private void RefreshEndingList()

View File

@ -117,15 +117,19 @@ public class PanelGame : BasePanel
private void OnClickMoreGame() private void OnClickMoreGame()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.ClickMoreGame, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
ToukaUtils.OpenMoreGames(); ToukaUtils.OpenMoreGames();
} }
private void OnClickLevel() private void OnClickLevel()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.ClickLevel, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
PanelLevel tUILevel = UIManager.Instance.OpenUI<PanelLevel>(); PanelLevel tUILevel = UIManager.Instance.OpenUI<PanelLevel>();
tUILevel.Init(true); tUILevel.Init(true);
ToukaSDKManager.Instance.PlayInterstitialAd("GameOpenLevel"); ToukaSDKManager.Instance.PlayInterstitialAd(Const.AdsEvtValue.GamingSelect);
} }
private void OnClickMenu() private void OnClickMenu()

View File

@ -36,6 +36,8 @@ public class PanelLevel : BasePanel
mRctScream.gameObject.SetActive(false); mRctScream.gameObject.SetActive(false);
mGobOpMask.SetActive(false); mGobOpMask.SetActive(false);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.PanelLevelShowed);
} }
public override void OnClose() public override void OnClose()
@ -43,6 +45,7 @@ public class PanelLevel : BasePanel
base.OnClose(); base.OnClose();
AudioManager.Instance.PlaySound(AudioClipType.UIClose); AudioManager.Instance.PlaySound(AudioClipType.UIClose);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.PanelLevelBack);
} }
public void Init(bool pOpenInLevel) public void Init(bool pOpenInLevel)
@ -77,6 +80,8 @@ public class PanelLevel : BasePanel
private void OnClickBackToMain() private void OnClickBackToMain()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.PanelLevelHome);
GameManager.Instance.LoadMain(); GameManager.Instance.LoadMain();
} }
} }

View File

@ -95,6 +95,8 @@ public class PanelMain : BasePanel
{ {
ShowMainPart(); ShowMainPart();
} }
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.PanelMainShowed);
} }
public override void OnClose() public override void OnClose()

View File

@ -28,6 +28,9 @@ public class PanelResult : BasePanel
[SerializeField] ButtonEndings mBtnEndings; [SerializeField] ButtonEndings mBtnEndings;
private bool mReviewShowed = false;
private const int REVIEW_LEVEL = 1;
private void Awake() private void Awake()
{ {
UIUtils.BindBtn(mBtnAgain1, OnClickAgain, AudioClipType.Click_Normal); UIUtils.BindBtn(mBtnAgain1, OnClickAgain, AudioClipType.Click_Normal);
@ -76,26 +79,53 @@ public class PanelResult : BasePanel
{ {
mBtnEndings.ShowTip(!pIsWin && !pHasComplete); mBtnEndings.ShowTip(!pIsWin && !pHasComplete);
} }
if (!PlayerData.Instance.HasShowedReview && PlayerData.Instance.CurrentLevel == REVIEW_LEVEL)
{
ToukaUtils.OpenSystemReviewPop();
mReviewShowed = true;
}
else
{
mReviewShowed = false;
}
} }
private void OnClickAgain() private void OnClickAgain()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.EndRetry, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
DelAgain?.Invoke(); DelAgain?.Invoke();
if (!mReviewShowed)
{
ToukaSDKManager.Instance.PlayInterstitialAd(Const.AdsEvtValue.EndRetry);
}
} }
private void OnClickNext() private void OnClickNext()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.EndNext, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
GameManager.Instance.NextLevel(); GameManager.Instance.NextLevel();
ToukaSDKManager.Instance.PlayInterstitialAd("NextLevel"); if (!mReviewShowed)
{
ToukaSDKManager.Instance.PlayInterstitialAd(Const.AdsEvtValue.EndNext);
}
} }
private void OnClickChoose() private void OnClickChoose()
{ {
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.EndSelect, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
PanelLevel tUILevel = UIManager.Instance.OpenUI<PanelLevel>(); PanelLevel tUILevel = UIManager.Instance.OpenUI<PanelLevel>();
tUILevel.Init(true); tUILevel.Init(true);
ToukaSDKManager.Instance.PlayInterstitialAd("EndOpenLevel"); if (!mReviewShowed)
{
ToukaSDKManager.Instance.PlayInterstitialAd(Const.AdsEvtValue.EndSelect);
}
} }
private void OnClickEndings() private void OnClickEndings()