广告打点

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;
ToukaStageCommonEvent.Instance.StageStartEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.StartGame, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
}
private void PlayFilm(int[] pSoundOrder)
@ -66,6 +67,7 @@ public class GameLogic : MonoBehaviour
UIManager.Instance.CloseUI<PanelGame>();
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>();
bool tHasComplete = PlayerData.Instance.EndingCountOfLevel(PlayerData.Instance.CurrentLevelID) == tLvData.Endings.Count;
@ -81,12 +83,14 @@ public class GameLogic : MonoBehaviour
AudioManager.Instance.PlaySound(AudioClipType.Win);
ToukaStageCommonEvent.Instance.StageSuccessEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.GameWin, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
}
else
{
AudioManager.Instance.PlaySound(AudioClipType.Lose);
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);
}
@ -96,6 +100,7 @@ public class GameLogic : MonoBehaviour
tUIResult.Init(PlayerData.Instance.CurrentLevelID, "", false, PlayerData.Instance.IsNextLevelPassed(), false, true);
ToukaStageCommonEvent.Instance.StageFailureEvent(PlayerData.Instance.CurrentLevel);
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.GameLose, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
}
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>> 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)
{
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()
{
ToukaSDKManager.Instance.LogEventByUmeng(Const.AdsEvent.ClickTip, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
ShowTip(false);
DelClick?.Invoke();
}

View File

@ -93,7 +93,7 @@ public class EndingCell : MonoBehaviour
private void OnClickAdTip()
{
ToukaSDKManager.Instance.PlayRewardAd("WatchTip", WatchAdSucceed, () =>
ToukaSDKManager.Instance.PlayRewardAd(Const.AdsEvtValue.UnlockSound, WatchAdSucceed, () =>
{
UIManager.Instance.OpenUI<PanelNoAdsTip>();
});
@ -105,5 +105,7 @@ public class EndingCell : MonoBehaviour
mBtnTip.gameObject.SetActive(true);
mBtnAdTip.gameObject.SetActive(false);
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);
mRctBg.DOAnchorPosY(100, 0.3f);
if (PlayerData.Instance.EndingAdTipCountOfLevel(mLevelID) < mLvData.Endings.Count)
{
ToukaSDKManager.Instance.LogEventByUmengAdShow(Const.AdsEvtValue.UnlockSound);
}
}
private void RefreshEndingList()

View File

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

View File

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

View File

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

View File

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