이벤트 로그
•
게임 중 발생하는 특정한 일들을 기록하여 추후 데이터 분석에 활용합니다.
•
PlayStart, PlayEnd 등의 프리셋 이벤트 로그가 기본적으로 구현되어 있습니다.
•
개발사의 필요에 따라 Alohafactory와 상의하여 커스텀 이벤트를 정의하고 로깅할 수 있습니다.
1) 프리셋 이벤트
AlohaSdk.Event.LogPlayStart(int stage, int accountLevel = 0, string playMap = null, string playDiff = null, params string[] customParamValues)
스테이지가 시작할 때 호출합니다.
•
Parameters
◦
int stage
현재 스테이지 넘버, ex) 1,2,3…
◦
int accountLevel
유저의 레벨
◦
string playMap
플레이한 맵 id
◦
string playDiff
플레이한 난이도
◦
customParamValues
기타 커스터마이즈한 파라미터
AlohaSdk.Event.LogPlayEnd(int accountLevel = 0, string result = "win", double resultRange = 0, int resultValue = 0, string playMap = null, string playDiff = null, params string[] customParamValues)
스테이지가 완료되었을 때 호출합니다. 마지막으로 기록된 LogPlayStart의 stage가 종료된 것으로 기록합니다.
•
Parameters
◦
int accountLevel
유저의 레벨
◦
string result
승리일 경우 “win”, 패배일 경우 “lose”, 승패 구분이 없는 게임의 경우 “win”으로 통일
◦
int resultRange
달성율, Alohafactory와 상의하여 어떤 값 넣을지 결정, 없을 경우 0으로 통일
◦
int reusltValue
결과수치, Alohafactory와 상의하여 어떤 값 넣을지 결정, 없을 경우 0으로 통일
◦
string playMap
플레이한 맵 id
◦
string playDiff
플레이한 난이도
◦
customParamValues
기타 커스터마이즈한 파라미터
AlohaSdk.Event.LogIAP(string isoCurrencyCode, double price, string transactionId, string itemId, string itemName, int objectId, string objectName, bool isTestPurchase = false, int accountLevel = 0, params string[] customParamValues)
인앱구매(IAP)가 발생했을 때 호출합니다.
•
Parameters
◦
string isoCurrencyCode
◦
double price
상품의 현지 가격
◦
string transactionId
IAP 구매의 transaction Id
◦
string itemId, string itemName
구매한 아이템의 Id 넘버와 이름
◦
string objectId, string objectName
•
transactionId 추출법
IStoreListener 인터페이스를 구현한 클래스의 ProcessPurchase(PurchaseEventArgs purchaseEvent) 함수를 통해 transactionId를 추출할 수 있습니다.
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent)
{
//안드로이드
if (Application.platform == RuntimePlatform.Android)
{
string receipt = purchaseEvent.purchasedProduct.receipt;
int first = receipt.IndexOf("GPA");
transactionId = receipt.Substring(first, 24);
}
//구매 처리
...
}
C#
복사
IOS 추출법은 업데이트 예정입니다.
AlohaSdk.Event.LogAsset(int assetId, string assetName, long var, long previousVar, long currentVar, int objectId, string objectName, int actionId = 0, string actionName = “untracked”, string itemId = 0, string itemName = “”)
게임 내 재화의 변동이 있을 때 호출합니다.
•
Parameters
◦
int assetId, string assetName
변동이 생긴 재화의 Id 넘버와 이름
◦
long var
재화 변동량
◦
long previousVar, long currentVar
변동이 생기기 전후의 재화 보유량
◦
int actionId, string actionName
재화 변동을 일으킨 플레이어 행동의 Id 넘버와 이름
◦
int objectId, string objectName
재화 변동을 일으킨 오브젝트의 Id 넘버와 이름
◦
int actionId, string actionName
재화 변동을 일으킨 플레이어 행동의 Id 넘버와 이름
action이 없을 경우 각각 0, “untracked”로 통일
◦
string itemId, string itemName
재화가 사용된 아이템의 Id 넘버와 이름, 없을 경우 각각 0, “”로 통일
AlohaSdk.Event.LogItem(string itemId, string itemName, int var, int previousVar, int currentVar, int objectId, string objectName, int actionId = 0, string actionName = “untracked”)
게임 내 아이템의 변동이 있을 때 호출합니다.
•
Parameters
◦
string itemId, string itemName
변동이 생긴 아이템의 Id 넘버와 이름
◦
int var
아이템 변동량
◦
int previousvar, int currentVar
변동이 생기기 전후의 아이템 보유량
◦
int objectId, string objectName
아이템 변동을 일으킨 오브젝트의 Id 넘버와 이름
◦
int actionId, string actionName
아이템 변동을 일으킨 플레이어 행동의 Id 넘버와 이름
action이 없을 경우 각각 0, “untracked”로 통일
AlohaSdk.Event.LogTutorialEnd(int tutorialStage, string tutorialName)
튜토리얼이 완료되었을 때 호출합니다.
•
Parameters
◦
int tutorialStage
완료된 튜토리얼 단계
◦
string tutorialName
완료된 튜토리얼 이름
SDK 내부에서 게임의 실행을 체크하기 위해 LogTutorialEnd(0)를 사용하고 있습니다. 실제 게임 튜토리얼은 tutorialStage = 1부터 사용해주시기 바랍니다.
2) 커스텀 파라미터
프리셋 이벤트에서 미리 파라미터로 지정되지 않은 값을 추적하고 싶을 경우, 알로하팩토리와 상의 후 아래의 방법으로 커스텀 파라미터를 추가할 수 있습니다.
모든 프리셋 이벤트에는 기존 파라미터들 뒤에 커스텀 파라미터를 받는 params가 있습니다.
커스텀 파라미터의 이름은 별도로 지정하지 않고, 값만 string으로 변환하여 넣습니다.
커스텀 파라미터는 최대 10개까지 지원됩니다.
//AlohaSdk.Event
public static void LogPlayStart(int stage, params string[] customParamValues) {...}
//예시 - LogPlayStart시 플레이어의 체력을 커스텀 파라미터로 남기고 싶은 경우
AlohaSdk.Event.LogPlayStart(1, player.Hp.ToString());
C#
복사
3) 커스텀 이벤트
개발사의 필요에 따라 추적하고자 하는 커스텀 이벤트와 파라미터들을 알로하팩토리와 상의해서 정한 후 다음 메소드로 추적하여 데이터 분석에 활용할 수 있습니다.
AlohaSdk.Event.Log(string eventId, params string[] customParamValues)
Parameters
•
string eventId
이벤트 ID
이벤트 이름이 아닌 알로하팩토리에서 생성해드린 Adjust Event ID를 입력해야합니다. (dungeon_clear (x), 4bunfs(o))
•
params string[] customParamValues
커스텀 파라미터 값들, 2번의 커스텀 파라미터 규칙을 따릅니다.