본문 바로가기

Unity 기초 기능 #5 - 스플래시 이미지, 안드로이드로 빌드하기, 광고 넣기

@코야딩구2025. 6. 18. 19:35

1. 스플래시 이미지 

  1-1. 스플래시 이미지란?

   - 앱을 처음 실행했을 때 잠시 표시되었다가 사라지는 이미지를 말합니다.

  1-2. 스플래시 이미지 넣기

   - Unity 무료 버전에서는 Unity 로고와 함께 스플래시 이미지가 노출됩니다.

     (*Unity 6.0 이상부터는 무료 사용자도 커스터마이징이 가능합니다.)

   - 준비한 스플래시 이미지용 이미지의 Mesh Type를 Full Rect로 바꾸어 적용합니다.

   - Edit > Project settings > Player > Splash Image 경로로 진입합니다.

   - 원하는 Animation 타입을 설정하고 Draw Mode를 All Sequential로 성정한 후, 스플래시 이미지를 추가합니다.

   - Preview 버튼을 눌러 적용된 상태를 미리 확인할 수 있습니다.

2. 싱글턴 예외처리

 - 배경 음악을 전체 씬에 걸쳐 끊김 없이 유지하고, 동시에 중복 생성되지 않는 방법이 필요했습니다.

 - 이번 구현에서는 기존의 싱글턴에서 예외 처리를 추가 하여, 씬이 바뀌어도 오브젝트가 파괴되지 않도록 하고,

   같은 씬이 다시 로드되어도 오직 하나의 인스턴스만 유지되도록 처리했습니다.

  2-1. DontDestroyOnLoad(gameObject);

   - 이 함수는 씬이 전환되더라도 해당 게임 오브젝트를 파괴하지 않도록 만들어 줍니다.

   - 싱글턴과 함께 사용하면, 유일한 인스턴스를 유지하면서도 영속적인 오브젝트로 활용할 수 있습니다.


 - 예시 코드: 오디오 매니저를 싱글턴으로 구현

public class AudioManager : MonoBehaviour
{
	// 정적(static) 변수로, AudioManager의 유일한 인스턴스를 저장합니다.
    // 외부에서 AudioManager.instance로 어디서든 접근할 수 있습니다.
    public static AudioManager instance;
    // 배경 사운드
    AudioSource audioSource;
    public AudioClip clip;

    private void Awake()
    {
    	// 처음 생성된 객체라면 이 오브젝트를 싱글턴 인스턴스로 지정하고
        if (instance == null) 
        {
            instance = this;
            // DontDestroyOnLoad를 통해 씬 전환 시에도 파괴되지 않도록 만듭니다.
            DontDestroyOnLoad(gameObject);
        }
        else 
        // instance가 존재하는 경우는 씬 로드로 인해 중복된 AudioManager가 생긴 상황입니다.
        // 이때는 현재 생성된 객체를 즉시 파괴하여 인스턴스 중복을 방지합니다.
        {
            Destroy(gameObject);
        }
    }
    
    void Start()
    {
        audioSource = GetComponent<AudioSource>();
        audioSource.clip = clip;
        audioSource.Play(); // 한 번 실행하여 게임이 끝날때까지 bgm 나오게 하기
    }
}

3. 안드로이드로 빌드하기

  3-1. Android 빌드 환경 설정

   - Edit > Preferences > External Tools 로 이동합니다.

   - Android 빌드를 위해 JDK, NDK, SDK 설정이 필요합니다.

   - Unity Hub 설치 시 함께 설정했다면 별도의 조치가 필요하지 않습니다.

   - 누락된 경우 Unity Hub에서 모듈 추가(Add Module)를 통해 설치할 수 있습니다.

  3-2.  Player 설정 변경

   - Edit > Project Settings > Player로 이동합니다.

   - Company Name, Product Name, Version, Icon을 알맞게 설정합니다.

   - 플랫폼을 Android로 설정한 후, Resolution and Presentation에서 Portrait, Portrait Upside Down 옵션을 활성화 하고,
     Landscape Right, Landscape Left 옵션을 비활성화합니다. (세로형 게임이기 때문입니다.)

   - Other Settings 항목에서는 Scripting Backend를 IL2CPP로 변경하고 ARM64를 활성화합니다.

     (안드로이드 마켓에 배포하려면 64비트 지원이 필수입니다.)

   - Publishing Settings에서 Keystore Manager를 생성하여 키스토어를 설정합니다.

  3-3. 빌드 설정

   - File > Build Settings을 클릭합니다.

   - Scenes in Build에 사용할 씬을 추가합니다.

   - 플랫폼을 Android로 설정한 후 Switch Platform을 클릭합니다. (전환에는 시간이 다소 소요됩니다.)

   - 해상도 설정을 다시 확인하고 Build 버튼을 눌러 빌드합니다.

   - 빌드가 완료되면 .apk 파일이 생성되며, 안드로이드 기기에서 설치 및 실행할 수 있습니다.

4. 광고 붙이기

 - 광고를 적용하려면 먼저 빌드가 완료되어 있어야 합니다.

  4-1. Unity Ads란?

   - Unity에서 자체적으로 제공하는 광고 플랫폼입니다.

   - 별도 외부 연동 없이 Unity 프로젝트 내에서 손쉽게 광고를 붙이고 수익을 정산받을 수 있습니다.

   - Google Ads 등 외부 플랫폼도 있지만, Unity Ads는 설정이 간편하고 Unity와의 호환성이 뛰어납니다.

  4-2. Unity Ads 활성화

   - Window > General > Services를 클릭하여 Package Manager 창을 띄우고,
     Services탭에서 Advertisement Legacy 모듈을 설치합니다.

   - Configure 버튼을 눌러 Project Settings > Services 창을 클릭하여 Unity Project ID를 발급확인하고,

     Dashboard 버튼을 눌러 Unity Cloud로 접속, 로그인합니다.

   - Unity Cloud에서 Unity Ads Monetization 기능을 활성화하여, 애플과 안드로이드에서 사용할 키값을 발급받습니다.

  4-3. Unity Ads 구현

   - Unity Ads Monetization > Setup guide(설정 가이드) > Read integration guide(연동 가이드)로 이동하여,
     Unity SDK 개발자 연동 가이드
에 따라 SDK를 설치하고, Unity에서 SDK를 초기화 과정을 진행합니다.

 

Unity 개발자 연동 가이드 • Unity Grow

 

docs.unity.com

   - 이후 기본형, 보상형, 배너형 광고 중 원하는 유형을 선택하여, 안내에 따라 프로젝트에 구현합니다.

5. 게임 구현

 - 앞서 설명한 기능으로 구현한 게임입니다.

 

Unity 기초 프로젝트 #5 - 르탄이 카드 뒤집기 (광고 포함 버전)

1. 르탄이 카드 뒤집기 게임 소개 - 플랫폼: 모바일 - 장르: 2D 캐주얼 게임 - 목표: 30초 안에 같은 그림이 그려진 카드 2장을 찾아 모두 제거하기2. 게임 플레이 - 게임은 '시작하기' 버튼을 누르면

gyro-code-game.tistory.com

 

목차