[2D Sparta-Unity] 5주차 게임 런칭을 위한 준비 ⭐⭐⭐
카테고리: Sparta Unity
5주차 FindRtan +
로직 중요, 게임메니저⭐ 시작화면, 스플래시 이미지, 소리,광고, 에셋스토어
1. 시작화면
- 새로운 Scene 만들기 (StartScene)
- 시작화면으로 설정
- UI 꾸미고 버튼 추가 -> MainScene으로 넘어가게 버튼컴포넌트 추가
2. 스플래시 이미지
Edit -> Project Settings -> Player
이미지다운 mesh -> full rect (여백설정)
스플래시 이미지로 추가하기
Preview로 미리보기 가능
3. 소리 음악 넣기
- 배경음악 : 게임이 시작하면 배경음악
- 뒤집을 때 : 카드 뒤집을 때 뒤집는 소리
- 맞췄을 때 : 카드 두 장이 같을 때 소리
효과음
- public AudioClip flip; 어떤 오디오인지
- public AudioSource audioSource; 어디서 재생하는지
- audioSource.PlayOneShot(flip); flip 오디오 재생
배경음
- public AudioClip bgmusic;
- public AudioSource audioSource;
- audioSource.clip = bgmusic;
- audioSource.Play();
audiomanager.cs
audiomanager.cs
using UnityEngine;
public class audiomanager : MonoBehaviour
{
public AudioClip bgmusic;
public AudioSource audioSource;
void Start() {
audioSource.clip = bgmusic;
audioSource.Play();
}
}
- 배경음악 설정
4. 빌드
1) 마켓에 올리기 전 세팅
Edit → Preference → External Tools 체크
Edit → Project Settings → Player
Conpany ,Product Name, Version
Player -> Icon
Resolution and Presentation
- Portrait - 디바이스 홈버튼이 아래에 있는 세로 모드로 고정
- PortraitUpsideDown - 디바이스 홈 버튼이 위에 있는 세로 모드로 고정
- LandscapeLeft - 디바이스 홈 버튼이 오른쪽에 있는 가로모드로 고정
- LandscapeRight - 디바이스 홈버튼이 왼쪽에 있는 가로모드로 고정
- AutoRotation - 휴대폰 방향에 따라 화면이 변경됩니다 -> 체크해제로 가로모드, 세로모드 만 설정 가능하다.
ohter settings
안드로이드 마켓에 배포하려면 64 bit 지원이 필수가 되었기 때문에 Scripting Backend 를 IL2CPP 로 변경합니다
Target Architectures 에서 ARM64 를 체크하도록 합니다.
Publishing Settings
(Keystore란? 안드로이드에서 이 앱을 배포할 수 있는 권리)
2) 원하는 OS 대상으로 Switch Platform 하고 빌드하기
scene 확인
Switch Platform 을 하면 unity 제작화면이 그 platform 으로 변경된다.
화면 사이즈
빌드하기 -> ~~~ .apk 파일로 생성된다.
3)배포
구글플레이에는 누구나 올릴 수 있다
참고: $25 (1회)의 개발자 등록 비를 내야 한다
참고자료 깃허브 pdf 파일 참고
5. 광고 붙이기
Unity 에디터 내에서 Unity Ads 추가하기
Windows → General → Services 후 General Settings 클릭 organizations 드롭다운 해서 선택 → Create Project ID 클릭
ads ON
adsmanager.cs
adsmanager.cs
using UnityEngine;
using UnityEngine.Advertisements;
public class adsmanager : MonoBehaviour
{
public static adsmanager I;
string adType;
string gameId;
void Awake()
{
I = this;
if (Application.platform == RuntimePlatform.IPhonePlayer)
{
adType = "Rewarded_iOS";
gameId = "5339708";
}
else
{
adType = "Rewarded_Android";
gameId = "5339709";
}
Advertisement.Initialize(gameId, true);
}
public void ShowRewardAd()
{
if (Advertisement.IsReady())
{
ShowOptions options = new ShowOptions { resultCallback = ResultAds };
Advertisement.Show(adType, options);
}
}
void ResultAds(ShowResult result)
{
switch (result)
{
case ShowResult.Failed:
Debug.LogError("광고 보기에 실패했습니다.");
break;
case ShowResult.Skipped:
Debug.Log("광고를 스킵했습니다.");
break;
case ShowResult.Finished:
// 광고 보기 보상 기능
gamemanager.I.retryGame();
Debug.Log("광고 보기를 완료했습니다.");
break;
}
}
}
- gamemanager.I.retryGame();
Gamemansger.cs -> retryGame()
public void retryGame() { SceneManager.LoadScene("MainScene"); }
endtxt.cs
endtxt.cs
using UnityEngine;
using UnityEngine.SceneManagement;
public class endtxt : MonoBehaviour
{
public void Regame(){
adsmanager.I.ShowRewardAd();
// SceneManager.LoadScene("MainScene");
}
}
ID 확인
1. 사이트 -> Dashboard 클릭
2. Monetization (수익화)
ad units 에 Android, ios ID 를 스크립트에 확인
6. 에셋 스토어
무료 에셋 스토어
무료 에셋 스토어
Browse → 2D Art → CCO
→ CC-BY , GPL , … ⇒ 사용에 뭔가 조건이 있음
→ CC0 ⇒ 사용에 아무런 조건이 없음
7. 정리
1회 23/06/14
2회 23/10/27 복습, 수정
[Unity] 게임 런칭, 광고
댓글남기기