728x90

Edit > Project Settings > Other Settings > Minimum API level 을 올려보자. 

나는 android 8.0으로 올렸더니 제대로 빌드가 됐다.

 

728x90
using Firebase;
using Firebase.Extensions;
using UnityEngine;
using Firebase.Auth;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class FirebaseManager : MonoBehaviour
{
    FirebaseAuth auth;
    public Toggle autoLoginToggle;

    void Start()
    {
        FirebaseInit();
    }

    void FirebaseInit()
    {
        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
        {
            FirebaseApp app = FirebaseApp.DefaultInstance;
            auth = FirebaseAuth.DefaultInstance;
            Debug.Log($"초기화함");

            CheckAutoLogin();
        });
    }

    // 자동 로그인 확인
    void CheckAutoLogin()
    {
        string autoLoginYn = PlayerPrefs.GetString("autoLoginYn");

        // 저장된 UID가 있고, 자동로그인 체크했을때
        if (!string.IsNullOrEmpty(autoLoginYn) && autoLoginYn == "Y")
        {
            Debug.Log($"자동로그인 시도");
            PerformAnonymousLogin();
        }
    }

    public void PerformAnonymousLogin()
    {
        auth.SignInAnonymouslyAsync().ContinueWithOnMainThread(task =>
        {
            if (task.IsCompleted && !task.IsFaulted && !task.IsCanceled)
            {
                AuthResult authResult = task.Result;
                FirebaseUser user = authResult.User;

                bool toggleValue = autoLoginToggle.isOn;
                Debug.Log("익명 로그인 성공!");
                Debug.Log("사용자 UID: " + user.UserId);
                Debug.Log("Toggle의 현재 값: " + toggleValue);

                if(toggleValue){
                    PlayerPrefs.SetString("autoLoginYn","Y");
                    PlayerPrefs.SetString("userID", user.UserId);
                }else{
                    PlayerPrefs.SetString("autoLoginYn","N");
                }
                SceneManager.LoadScene("HomeScene");
            }
            else
            {
                Debug.LogError("익명 로그인 실패: " + task.Exception);
            }
        });
    }

}​
728x90

Mac 기준

문제: 처음 프로젝트를 만들때 임의로 ui를 배치해 놓는데, 샘플로 만든 오브젝트를 복사 붙여넣기를 하면 위치가 복사한 곳으로 들어간다. 원하는 결과: 복사한 컴포넌트가 부모 컴포넌트의 가운데로 들어갔으면 좋겠다.

해결:
1. 복사할 컴포넌트를 n개 선택한 후, cmd + D 로 해당 위치에 복붙한다
2. 복사한 컴포넌트를 원하는 곳으로 드래그 드랍으로 이동 시킨다.
3. 이동시킨 컴포넌트를 선택 후 inspector창에서 앵커 프리셋에서 Alt를 누른후 원하는 아무거나 누른다.

파란 점은 캡쳐시 shift를 눌러서 나오는 것.

4. 이동된 컴포넌트의 위치를 수정한다.

-------------

결과: 내가 원하는건 복사한 걸 부모 쪽으로 이동하기만 하면 됐기 때문에 이정도면 해결.

728x90

 

관절을 생성하고 다시 만들려고 지우려는데 아무리 찾아도 삭제 버튼이 없다. 

이것저것 누르다 발견.

 

쉬프트 키 + delete 키

 

728x90

 

https://play.google.com/store/apps/details?id=com.loomi.cosmic_dust_growing 

 

우주 청소부 키우기 - Space Cleaner - Google Play 앱

행성 쓰레기가 자원이 된다!? 우주 청소부가 되어 자원을 모아보세요.

play.google.com

 

이번엔 연습이 아닌 실제 돈을 벌기 위한 게임을 출시했다.

"우주 청소부 키우기"

일단, 돈을 벌 수 있는 게임을 만들고자 했다. 
뭘 만들어야 할까 고민하다가, 과거에 인기가 많았고 요즘에도 인기가 많으며 매니아 층이 있는 게임을 만들어 보고자했다.
그게 바로 키우기 게임. 

장점은 많은 사람들이 찾는 다는 것. 
단점은 많은 사람들이 게임을 출시 한다는 것. 

그래도 일단 만들긴 했는데... 
게임을 만들면서 가장 어려웠던 부분은 코딩도 아니고 오류도 아닌... 디자인! ㅠ

 

튜토리얼 화면

 

디자인은 세군데를 이용했다. 
- 클립아트코리아.
- illustAC
- 내 손

클립아트 코리아에서는 양질의 디자인을 구매할 수 있었다. illustAC는 일본 사이트 같은데 기본적인 아이콘같은 이미지가 많았다. 위 사진에 손가락 모양이 illustAC에서 얻을 수 있었다.

한 50퍼 정도는 내가 직접 그렸는데, 역쉬 디자인은 나하고 맞지 않다.. ㅠ 하지만 왜 재밌었지... 

뭐 암튼, 드디어 게임이 나왔는데, 이제부터 해야 할 일은 
1. 애플에도 올리기.
2. 마케팅 알아보기.

게임 만들어서 올린다고 다 잘되는거 아니니까. 일단 이런 게임이 있다는 것만으로도 알려야 할 것 같은데.
어떻게 하는게 효율적일라나!?

728x90

문제: 유니티에서 실행하면 결제팝업이 뜨는데 핸드폰으로 안뜨는 이유

해결
- 구글은 직접 유니티에 붙어서 빌드해서 테스트 하면 안된다. 구글스토어에 내부테스트로 다운받아서 해야함.
- 내부 테스트에 올려서 구글플레이 스토어에서 다운받았는데도 안되는 경우 와이파이 연결이 되어 있는지 확인하기.
    와이파이를 끄니까 팝업이 뜬다.
- 빌링 퍼미션이 제대로 들어가 있는지 확인하기. gpt는 세가지를 알려줘서

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.android.vending.BILLING" />
    <uses-permission android:name="com.android.vending.CHECK_LICENSE" />

이렇게 넣었는데, 다른 사람들은 BILLING만 넣는것 같다. 빌링만 넣어도 무방한지는 다음에 테스트 해봐야겠다.

 

 


 

"초동수사 - 증언/증거 추리게임"

증거와 진술로 추리해야 하는 게임!

방탈출 게임이 아닙니다.

증거는 모두 찾았고 용의자들에게 증언을 얻어내세요!

 

시즌2가 나왔습니다!

초동수사 1, 2 합본으로 출시했으니 기존 앱에서 에피소드를 확인해주세요😍

(안드로이드는 아직  시즌1만...)

 

 

 

[Android]

https://play.google.com/store/apps/details?id=com.loomiloomi.crimescene

 

[IOS]

https://apps.apple.com/kr/app/%EC%B4%88%EB%8F%99%EC%88%98%EC%82%AC-%EC%A6%9D%EC%96%B8-%EC%A6%9D%EA%B1%B0-%EC%B6%94%EB%A6%AC%EA%B2%8C%EC%9E%84/id6499072416

 

‎초동수사 - 증언/증거 추리게임

‎Episode 1. 자택에서 친구들과 놀던 평범한 여대생 "나 미녀"가 갑작스럽게 사망했다. 그런데, 주변 사람들의 대화 내용이 심상치 않다!? ======== 안 남찬: "아니요! 저희는 밥을 먹고 있었을 뿐입니

apps.apple.com

 

728x90

문제: 인앱결제 상품등록창이 안나오고, 인앱 상품을 추가하려면 결제 권한을 APK에 추가해야 합니다. 라고만 뜸.

해결: 결제 권한을 주어야 한다.

방법
1. Assets > Plugins > Android > AndroiManifest.xml에 
 <uses-permission android:name="com.android.vending.billing"/> 를 추가해준다.

2. 다시 빌드해서 테스트앱에 배포하게 되면, 구글콘솔 화면이 바뀐다.

 

---------

* 만약 AndroiManifest.xml파일이 없다면, 

Edit > project settings > android 탭 > Publishing Settings > Build > Custom Main Manifest 체크하기.

 

 

 

 

 

 


 

"초동수사 - 증언/증거 추리게임"

증거와 진술로 추리해야 하는 게임!

방탈출 게임이 아닙니다.

증거는 모두 찾았고 용의자들에게 증언을 얻어내세요!

 

 

 

[Android]

https://play.google.com/store/apps/details?id=com.loomiloomi.crimescene

 

[IOS]

https://apps.apple.com/kr/app/%EC%B4%88%EB%8F%99%EC%88%98%EC%82%AC-%EC%A6%9D%EC%96%B8-%EC%A6%9D%EA%B1%B0-%EC%B6%94%EB%A6%AC%EA%B2%8C%EC%9E%84/id6499072416

 

‎초동수사 - 증언/증거 추리게임

‎자택에서 친구들과 놀던 평범한 여대생 "나 미녀"가 갑작스럽게 사망했다. 그런데, 주변 사람들의 대화 내용이 심상치 않다!? ======== 안 남찬: "아니요! 저희는 밥을 먹고 있었을 뿐입니다! 힘들

apps.apple.com

 

728x90

CommandInvokationFailure: Gradle build failed. 
D:/Unity/UnityEditor/2019.4.1f1/Editor/Data/PlaybackEngines/AndroidPlayer\OpenJDK/bin\java.exe -classpath "D:\Unity\UnityEditor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "bundleRelease"

stderr[
error processing C:\Users\Shinirom\.gradle\caches\transforms-2\files-2.1\583a75497389cd684886f6ff612791df\jars\classes.jar


대강 이런 에러가 났다.

 

mainTemplate.gradle 파일이 

이런식으로 되어 있었다.

 

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN

apply plugin: 'com.android.library'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // Add additional dependencies here if needed
}

android {
    compileSdkVersion 30
    buildToolsVersion '30.0.3'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        minSdkVersion 30
        targetSdkVersion 32
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
        versionCode 1
        versionName '1.0'
        consumerProguardFiles 'proguard-unity.txt'
        multiDexEnabled true
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    lintOptions {
        abortOnError false
    }

    aaptOptions {
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }
}

내게 맞게 수정했다.

당연한걸 수정한거지만... 초반 에러의 원인은 이게 아니었을것임..


 

[ 빌드 에러 "각종" 해결 방법 ]
- 참고로 플러그인은 애드몹과 인앱결제만 사용.

- keystore 설정
- project setting > Player > Publishing Settings > Build 아래처럼 체크

- project setting > Player > Other Settings > Minimum API Level, Target API Level 수정
   -- 각 30, 32로 해둠.
- mainTemplate.gradle 파일에 multiDexEnabled true 이거랑 여러개 추가.(multiDex에러 검색하면 추가할거 여러개 나옴)

일단, 이정도.. 정리하면서 했어야 했는디..

 

 

 

 


 

 

"초동수사 - 증언/증거 추리게임"

증거와 진술로 추리해야 하는 게임!

방탈출 게임이 아닙니다.

증거는 모두 찾았고 용의자들에게 증언을 얻어내세요!

 

 

 

[Android]

https://play.google.com/store/apps/details?id=com.loomiloomi.crimescene

 

[IOS]

https://apps.apple.com/kr/app/%EC%B4%88%EB%8F%99%EC%88%98%EC%82%AC-%EC%A6%9D%EC%96%B8-%EC%A6%9D%EA%B1%B0-%EC%B6%94%EB%A6%AC%EA%B2%8C%EC%9E%84/id6499072416

+ Recent posts