이벤트 로그
•
게임 중 발생하는 특정한 일들을 기록하여 추후 데이터 분석에 활용합니다.
•
PlayStart, PlayEnd 등의 프리셋 이벤트 로그가 기본적으로 구현되어 있습니다.
•
개발사의 필요에 따라 Alohafactory와 상의하여 커스텀 이벤트를 정의하고 로깅할 수 있습니다.
1) 프리셋 이벤트
void AlohaSdk.Event.SetAccountLevel
(int accountLevel)
계정 레벨 값을 설정합니다. 설정된 계정 레벨 값은 모든 이벤트 로그의 파라미터로 자동 포함됩니다.
•
Parameters
◦
int accountLevel
계정 레벨
void AlohaSdk.Event.LogPlayStart
(int stage, params string[] customParamValues)
스테이지가 시작할 때 호출합니다.
•
Parameters
◦
int stage
현재 스테이지 넘버, ex) 1,2,3…
◦
customParamValues
기타 커스터마이즈한 파라미터
void AlohaSdk.Event.LogPlayEnd
(string result = "win", params string[] customParamValues)
스테이지가 완료되었을 때 호출합니다. 마지막으로 기록된 LogPlayStart의 stage가 종료된 것으로 기록합니다.
•
Parameters
◦
int accountLevel
유저의 레벨
◦
string result
승리일 경우 “win”, 패배일 경우 “lose”, 승패 구분이 없는 게임의 경우 “win”으로 통일
◦
customParamValues
기타 커스터마이즈한 파라미터
void AlohaSdk.Event.LogIAP
(string isoCurrencyCode, double price, string transactionId, string itemId, string itemName,
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 넘버와 이름
◦
bool isTestPurchase
테스트 구매 여부
◦
customParamValues
기타 커스터마이즈한 파라미터
•
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 추출법은 업데이트 예정입니다.
void AlohaSdk.Event.LogAsset
(int assetId, string assetName, long var, long previousVar, long currentVar, int actionId,
string actionName, int objectId, string objectName, params string[] customParamValue)
게임 내 재화의 변동이 있을 때 호출합니다.
•
Parameters
◦
int assetId, string assetName
변동이 생긴 재화의 Id 넘버와 이름
◦
long var
재화 변동량
◦
long previousVar, long currentVar
변동이 생기기 전후의 재화 보유량
◦
int actionId, string actionName
재화 변동을 일으킨 플레이어 행동의 Id 넘버와 이름
◦
int objectId, string objectName
재화 변동을 일으킨 오브젝트의 Id 넘버와 이름
◦
customParamValues
기타 커스터마이즈한 파라미터
void AlohaSdk.Event.LogItem
(string itemId, string itemName, int var, int previousVar, int currentVar, int actionId,
string actionName, int objectId, string objectName, params string[] customParamValues)
게임 내 아이템의 변동이 있을 때 호출합니다.
•
Parameters
◦
string itemId, string itemName
변동이 생긴 아이템의 Id 넘버와 이름
◦
int var
아이템 변동량
◦
int previousvar, int currentVar
변동이 생기기 전후의 아이템 보유량
◦
int actionId, string actionName
아이템 변동을 일으킨 플레이어 행동의 Id 넘버와 이름
◦
int objectId, string objectName
아이템 변동을 일으킨 오브젝트의 Id 넘버와 이름
◦
string itemId, string itemName
재화가 사용된 아이템의 Id 넘버와 이름, 없을 경우 각각 0, “”로 통일
◦
customParamValues
기타 커스터마이즈한 파라미터
void AlohaSdk.Event.LogTutorialEnd
(int tutorialStage, string tutorialName)
튜토리얼이 완료되었을 때 호출합니다.
•
Parameters
◦
int tutorialStage
완료된 튜토리얼 단계
◦
string tutorialName
완료된 튜토리얼 이름
◦
customParamValues
기타 커스터마이즈한 파라미터
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) 커스텀 이벤트
개발사의 필요에 따라 추적하고자 하는 커스텀 이벤트와 파라미터들을 알로하팩토리와 상의해서 정한 후 다음 메소드로 추적하여 데이터 분석에 활용할 수 있습니다.
void AlohaSdk.Event.Log
(string eventId, params string[] customParamValues)
Parameters
•
string eventId
이벤트 ID
이벤트 이름이 아닌 알로하팩토리에서 생성해드린 Adjust Event ID를 입력해야합니다. (dungeon_clear (x), 4bunfs(o))
•
params string[] customParamValues
커스텀 파라미터 값들, 2번의 커스텀 파라미터 규칙을 따릅니다.