유니티같이 큰 파일이 있는 프로젝트를 깃헙에 푸쉬할때 문제가 생기는데,

 

터미널 or CMD 로 해당 프로젝트 폴더로 이동 후,

git config http.postBuffer 524288000

입력.

해보고 문제가 해결된다면 글로벌로 설정

git config --global http.postBuffer 524288000

이후 다시 Push 시도하면 좀 긴 딜레이가 걸리나 십더니 순간 푸쉬에 성공한다.

 

https://stackoverflow.com/questions/15240815/git-fatal-the-remote-end-hung-up-unexpectedly

 

 

해결이 안되는 경우)

github 클라이언트 사용중이라면 Help -> Show log  메뉴로 로그를 확인하다보면 여러가지 에러메시지를 볼수있으니 복붙으로 구글링해보자.

 

 

애드몹 플러그인 적용 후 바로 꺼지는 경우 logcat 으로 에러메세지를 보다가

아래와 같은 메시지가 있는 경우가 있었다. 분명 맞는 광고id 입력했는데?

 

자세히보니 광고id 형식이 다른 것이었다. 

 

앱 ID 형식(뒷부분 물결 문자) : ca-app-pub-3940256099942544~3347511713

유닛 ID  형식 (뒷부분 슬래시 문자): ca-app-pub-3940256099942544/3347511713

 

앱ID: 하나의 앱을 상징 ( 안드로이드 마켓 앱, 게임 1개)

유닛 ID: 그 앱에서 여러개의 광고 유닛이 존재함 ( 전면광고, 보상광고, 배너광고 등..)

 

유니티 애드몹 플러그인 입력할때(인스펙터에서) 는 앱 ID만 입력해야하고,

스크립트 내에서 광고를 열때는 열고자 하는 광고의 유닛ID를 사용해야한다.

 

처음 해보면 헷갈릴수 있다. (나도 잘못할고있다가 글 수정함)

 

 

2023/06/05 17:39:29.760 16702 16702 Error AndroidRuntime * Invalid application ID. Follow instructions here:                          *
2023/06/05 17:39:29.760 16702 16702 Error AndroidRuntime * https://googlemobileadssdk.page.link/admob-android-update-manifest *
2023/06/05 17:39:29.760 16702 16702 Error AndroidRuntime * to find your app ID.                                                       *
2023/06/05 17:39:29.760 16702 16702 Error AndroidRuntime * Google Ad Manager publishers should follow instructions here:              *
2023/06/05 17:39:29.760 16702 16702 Error AndroidRuntime * https://googlemobileadssdk.page.link/ad-manager-android-update-manifest. *

유니티에서 앱 자동업데이트 (AppUpdateManager) 기능 통합하려할때 발생.

 

해결책 (solution)

 

필드 초기화에 딜레이를 주면 된다.

The error has disappeared, when I make some delay by coroutine before the initialization. After the loading of the scene completed.


Ienumberator Init(){
    yield return new Wait(0.5f);

    AppUpdateManager   aum = new AppUpdateManager();
}

 

이 부분을 코루틴으로 wait 딜레이를 줘 씬 로딩완료된 다음 호출하면 에러가 사라진다.

 

 

 

https://developer.android.com/guide/playcore/in-app-updates/unity?hl=ko&authuser=1

 

크래시의 원인: 애드몹은 유니티 메인 Thread가 아닌 별도의 Thread에서 돌아가기 때문에 Callback에서 TMPro 등 유니티 요소를 건드릴 경우 에러가 뜨며 앱이 꺼진다. 유니티 요소는 메인스레드에서만 건드리는게 원칙(?)이기 때문이다.

 

해결책: 보상 받는 admob 의 콜백 또는 AdClosed() 콜백에서 바로 건드리지 말고, 

아래 코드처럼 0.1f 초 딜레이를 준다.

 

// 애드몹 내부의 콜백메서드

void OnAdFullScreenContentClosed(){
      StartCoroutine(GetReward());
}

// 딜레이 줘서 유니티 메인스레드로 합류되도록 
IEnumerate GetReward(){

     yield return new Wait(0.1f);

    // 이후 보상처리 ( 게임 코드)
    popup.gameObject.SetActive(true); // 등등
}

 

 

 

 

Google play console에서 google play games service 설정 중, google cloud를 이용한 OAuth 사용자 동의화면 구성을 했음에도 플레이 콘솔 단계가 안넘어가는 경우의 해결책.

 

 

 

구글계정 여러개 로그인 돼있는 경우, 구글 콘솔 개발자 계정만 로그인하고 나머진 로그아웃해라. (크롬에서도)
구글 콘솔에서 개발자 계정 로그인된 경우에도 구글 클라우드 넘어가면서 메인계정으로 바뀌어서 제대로 진행이 안되기 때문이다.

 

타 계정 로그아웃 후 진행하면 아래스샷의 네모를 누르면 자동으로 동의화면 OAuth 가 생성되고 순조롭게 진행된다.

구글의 계정전환이 문제였다.

 

 

 

이후 Refresh(새로고침) 누르면 해결.

 

 

구글플레이게임즈 전반적인 인증 및 세팅 방법은 이 영상을 참고하자

 

https://www.youtube.com/watch?v=0AtXxdvdKcQ 

 

[GPGS 세팅할때 도움되는 참고 링크]

https://developer.thebackend.io/unity3d/guide/federation/gpgs/

https://github.com/playgameservices/play-games-plugin-for-unity

 

+ Recent posts