Aloha SDK 설치 시 기존 SDK들과 플러그인들은 삭제해야 하나요?
•
알로하SDK와의 충돌 방지를 위해서, 알로하 SDK에서 사용하고 있는 플러그인이 이미 설치된 경우, 지우고 알로하SDK를 설치하시기를 권장드립니다.
•
대표적으로 Firease, MaxSdk, FacebookSDK등이 있을 수 있습니다.
AdMob SDK를 Aloha SDK와 함께 사용할 수 있나요?
•
공식적으로 Aloha SDK에서는 광고 미디에이션 SDK로 Applovin MAX를 사용하고 있습니다.
•
아래의 가이드를 따라 Applovin MAX를 제거하고 AdMob을 연동할 수 있지만, 공식적으로 지원되지 않는만큼 이로 인해 발생하는 기술적 문제들에 대한 지원은 어려운 부분 양해부탁드립니다.
•
다음 절차로 Aloha SDK에서 광고 관련 코드를 제거해주세요.
1.
MaxSdk 폴더 삭제
2.
AlohaAds.cs 파일 삭제
3.
AlohaSdk.Ads.cs 파일 삭제
4.
AlohaFirebaseEvent 파일에서 MAX 관련 이벤트 연동을 전부 주석처리
•
StartImpressionTrack 과 OnAdRevenuePaidEvent, 해당 메서드를 호출하는 모든 부분
•
AdMob은 해당 이벤트 트래킹을 자동으로 처리합니다
5.
AlohaAdjust.OnAdRevenuePaidEvent 및 MaxSDK 관련 코드 전부 주석처리 후 다음 코드 추가
public void OnAdMobAdRevenuePaidEvent(AdValue adValue, string placementId, string placementName, string network, string unitId)
{
CheckUpAdjustStatus();
var adjustAdRevenue = new AdjustAdRevenue("admob_sdk");
adjustAdRevenue.SetRevenue(adValue.Value / 1000000f, adValue.CurrencyCode);
adjustAdRevenue.AdRevenueNetwork = network;
adjustAdRevenue.AdRevenuePlacement = placementName;
adjustAdRevenue.AdRevenueUnit = unitId;
AddParam(adjustAdRevenue, _param_cuid);
AddParam(adjustAdRevenue, _param_ad_frequency_interval);
AddParam(adjustAdRevenue, _param_ad_interval_dependency);
AddParam(adjustAdRevenue, _param_ad_time_interval);
AddParam(adjustAdRevenue, _param_ad_first_show_at_placement);
AddParam(adjustAdRevenue, _param_ad_first_show_time);
AddParam(adjustAdRevenue, _param_ad_session_show_time);
AddParam(adjustAdRevenue, GetStageParam());
AddParam(adjustAdRevenue, new Param("placement_id", placementId));
AddParam(adjustAdRevenue, new Param("placement_name", placementName));
Adjust.TrackAdRevenue(adjustAdRevenue);
var iaaEvent = new AdjustEvent(_eventIds[PredefinedEvent.in_app_ads]);
iaaEvent.SetRevenue(adValue.Value / 1000000f, adValue.CurrencyCode);
AddParam(iaaEvent, new Param("ad_revenue_network", network));
AddParam(iaaEvent, new Param("ad_revenue_placement", placementName));
AddParam(iaaEvent, new Param("ad_revenue_unit", unitId));
AddParam(iaaEvent, _param_cuid);
AddParam(iaaEvent, _param_ad_frequency_interval);
AddParam(iaaEvent, _param_ad_interval_dependency);
AddParam(iaaEvent, _param_ad_time_interval);
AddParam(iaaEvent, _param_ad_first_show_at_placement);
AddParam(iaaEvent, _param_ad_first_show_time);
AddParam(iaaEvent, _param_ad_session_show_time);
AddParam(iaaEvent, GetStageParam());
AddParam(iaaEvent, new Param("placement_id", placementId));
AddParam(iaaEvent, new Param("placement_name", placementName));
Adjust.TrackEvent(iaaEvent);
}
C#
복사
6.
AlohaSdk.Event에 다음 메서드 추가
public static void OnAdRevenuePaidAdMob(AdValue adValue, string placementId, string placementName,
string network, string unitId)
{
_alohaAdjust.OnAdMobAdRevenuePaidEvent(adValue, placementId, placementName, network, unitId);
}
C#
복사
7.
AdMob 광고 시청 후 적절하게 AlohaSdk.Event.OnAdRevenuePaidAdMob을 호출하도록 처리
// ....
RewardedAd.Load(adId, adRequest, (ad, error) =>
{
// ....
ad.OnAdPaid += adValue => HandleAdPaidEvent(adValue, placement, ad);
// ....
}
// ....
private void HandleAdPaidEvent(AdValue adValue, RVPlacement rvPlacement, RewardedAd ad)
{
AdapterResponseInfo loadedAdapterResponseInfo = ad.GetResponseInfo().GetLoadedAdapterResponseInfo();
AlohaSdk.Event.OnAdRevenuePaidAdMob(adValue, ((int)rvPlacement).ToString(), rvPlacement.ToString(),
loadedAdapterResponseInfo.AdSourceName, unitId);
}
C#
복사
안드로이드 빌드 오류 고치기
안드로이드의 버전 대응 이슈로, 안드로이드 빌드 시 관련 라이브러리를 연결하는데 있어서 오류(충돌)이 나는 상황이 있습니다. 그럴 때는 아래 내용들을 한번 체크해주세요!
기본 설정 체크
External Dependency Manager 충돌
Gradle Build시 라이브러리 충돌
기타 사항
유니티 버전업 후 빌드가 실패해요
•
Unity Version을 변경한 후 Unity Temp Folder가 정리가 되지 않은 상태로 Android 빌드를 진행하는 경우 이슈가 발생할 수 있습니다, 해당 내용을 체크해보세요!
◦
기존 프로젝트의 buile setting > player setting > android tab의 build 셋팅의 항목들을 갱신해주세요. 해당 설정은 의 경로에 위치합니다.
◦
모든 옵션을 체크 해제하고, Assets/Plugins/Android 아래의 해당 파일을 삭제하고 다시 해당 필요한 설정을 선택하면 Unity와 Android의 설정에 맞춰서 다시 생성됩니다. (Gradle, Manifest 설정버전이 변경)
구글 애드몹을 사용하는데, 빌드(또는 게임 실행)가 실패해요
•
Applovin Integration Manager에서 Google App Id를 정상적으로 설정하지 않을 경우, 빌드가 되지 않거나 게임 실행 직후 크래시가 날 수 있습니다.
SDK 버전업 후 빌드가 실패해요
•
Android resource linking failed (에러메시지)
•
firebase 관련 라이브러리들 NO SOURCE 와 같은 식으로 에러메시지가 노출됩니다.
•
Firebase 폴더가 Assets/AlohaSdk 하위에 있는지 Assets 바로 아래 있는지 확인해보세요
•
알로하 SDK 적용한 상태에서 AlohaSDK 내부의 Firebase 폴더를 Assets 폴더 아래로 옮기고, External Dependency Manager> Android Resolver> Force Resolve 해보신 다음
•
GeneratedLocalRepo 아래에 Firebase 관련 파일들이 생성되었는지 확인해주세요.
•
mainTemplate.gradle 상단에 maven 경로로 /Assets/GeneratedLocalRepo/…/m2repository가 들어가있는지 확인해주세요.
ETC
•
위의 모든 설정에 문제가 없는데도 Android Resolve가 실패하는 경우
◦
Android Resolver Setting에서 Use Full Custom Local Maven Repo Path의 모든 체크를 해제하여 Resolve에 성공한 케이스가 있었습니다.
•
AlohaSdk.IsInitialized 가 true가 되지 못해서 무한으로 while이 돌고 있는 상황이 발생하는 경우
◦
타이틀 화면에 AlohaSdk 프리팹이 꺼져있지 않은지 확인해보세요!
•
SDK를 찾지 못했다는 에러가 발생하는 경우
◦
Edit > Preferences > External Tools에서 JDK, Android SDK, NDK, Gradle 경로가 모두 제대로 설정되었는지 확인해주세요
•
에디터에서 [AppLovin MAX] Test Device… 오류가 계속 떠요
◦
SDK 상에서 문제가 일으키는 오류는 아니어서 무시하셔도 되는 부분입니다!
•
키스토어 경로와 android resolver 세팅에 문제가 있는 케이스
SDK 업데이트 가이드에 있는 것처럼 SDK랑 FirebaseApp.androidlib 폴더 싹다 지우고 SDK 재설치한다음
Facebook 세팅에 있는 android key store path 부분비워두지 않고 debug.keystore 다운받아서 경로에 넣고 해결한 케이스가 있습니다.
참고 및 다운받았던 키스토어 블로그입니다
iOS
SDK iOS in_app_purchase
iOS 빌드를 테스트 플라이트를 통해서 이벤트를 QA 하는 도중, 인앱 구매 이벤트 누락 확인 & 다른 이벤트들은 정상적으로 호출이 되는 케이스가 있습니다. 어떻게 해야하나요?
•
SDK에서 플랫폼별로 따로 분기되어있는 코드는 없습니다. 개발사에서 LogIAP 호출해주는쪽을 확인해보셔야 할 것 같네요. Unity에서 사용하는 In-App-Purchase 라이브러리에 따라서 결과값 받는게 다르게 되어있어서 해당 부분 확인해주시면 됩니다