반응형

Unity를 작업하면서 항상 프로젝트마다 새로운 기분인다.


어제 admob을 붙이는 작업을 진행하였다.


0. admob 사이트에서 배너와 전면광고 설정 


1. https://github.com/googleads/googleads-mobile-unity/releases

여기서 최신버전을 설치했다.


2. 기존에 사용하던 소스를 붙였다.


3. 빌드


4. 안나온다....


광고나오기까지 시간이 걸린다고 알고있어서 기다렸다.


오늘 출근하면서 실행해도 안나온다.


이건 .... 잘못된 상황이라고 판단 다시 구글링 과 기억을 되살렸습니다.



지금은 나옵니다.


그럼 중요한 체크 사항 - 광고가 안나오면 다음 부분을 체크하세요


빌드 백업 - 만일의 사태를 대비하여 페키지 또는 깃등의 버전프로그램으로 백업하세요.

(필수는 아니나 혹시모르는 사태를 대비)



첫번째. 이것 부터 해보세요


Assets > Play Services Resolver > asndroid Resolver > Force Resolve



누르시면 팝업이 하나 뜨고서 막 다운받고 막 일합니다.

그럼 이다음 빌드해서 확인해보세요.

 


자! 여기까지 해서 성공하셨으면 축하드립니다.!!


이건 만약인데 이거했는데도 안된다고 하시면 다음 두번째를 보세요.


두번째. Manifast 수정하기


Assets(폴더) > Plugins > Android > GoogleMobileAdsPlugin > AndroidManifest


< 원 상태>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<!--
This Google Mobile Ads plugin library manifest will get merged with your
application's manifest, adding the necessary activity and permissions
required for displaying ads.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.unity.ads"
    android:versionName="1.0"
    android:versionCode="1">
  <uses-sdk android:minSdkVersion="14"
      android:targetSdkVersion="19" />
  <application>
  </application>
</manifest>

cs


<추가 내용>

<appication> </application> 사이에 추가해주세요


1
2
3
4
5
6
7
8
9
10
11
12
13
14

        <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
   android:label="@string/app_name">
   <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
   <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
   <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik"
       android:value="true" />
            </activity>

 
 
cs


추가 후, 다시 빌드해서 확인해주세요


성공하셨다면 메인화면에서 몇초 후, 출력됨을 확인 할 수 있습니다.


만약... 여기까지와서 안된다면 다른 부분의 확인이 필요할 듯 합니다.

그런 분은 댓글 달아주시면 한번 같이 고민해보겠습니다.


그럼 모두 즐거운 하루 되세요~~


위내용은 삭제한 이유는 다음과 같습니다.

위 내용은 광고와는 무관한 내용을 확인하였습니다. 또한 해당 메니페스트를 설정하면 아이콘이 2개가 생성되는 현상이 확인되어 내용을 제거합니다.

반응형

'개발이야기 > Unity & C# 코딩' 카테고리의 다른 글

Unity Sound 옵션  (2) 2018.03.27
Raycast - CircleCast  (0) 2018.03.26
코르틴(Coroutine)  (0) 2018.03.10
Rigidbody(2D) constraints 설정  (0) 2018.03.07
Admob 배너광고  (0) 2018.02.08
반응형

개발을 하다보면 update문도 덜 사용해서 최적화를 하고자하고


그러다보면 update와 같은 기능이 필요할때


우리는 Coroutine을 알아가게 됩니다.


오늘 고민하다 찾은 내용과 함께 정리합니다.


1)사용 이유

: 무언가 내가 뭔짓을 해도 계속 코드가 실행되어야 할 때. ( ex: 시간 등)


2)사용 법

: 아래와 같이 3가지가 한셋트로 구성되어 있음

: 코르틴 작성 시 , yield return + null(1프레임 대기) , break(그냥 중지), new waitforsecound();(지정 시간 동안 대기) 등 다양한 내용있음

1
2
3
4
5
6
7
8
StartCoroutine('시작할 코르틴 함수'); //코르틴 시작
StopCoroutine('시작할 코르틴 함수'); //코르틴 중지
 
IEnumerator 함수이름(변수타입 변수이름) //코르틴 작성
    {
        yield return null;
       
    }
cs




3)작성자가 고민한 부분

: 코르틴이 멈추질 않아요.

: 해결 방법 = 아래와 같이 코르틴을 특정 변수에 담아서 사용하면 잘 멈추는 것을 확인

무슨차이로 이렇게 발생하는지는 개념적으로는 잘 모릅니다... 수정후 확인하니 잘 멈춥니다. ㅠㅠ


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private IEnumerator co;
 
void Start()
{
co = null;
co = EX(); //담을 함수
 
}
 
StartCoroutine(co); //코르틴 시작
StopCoroutine(co); //코르틴 중지
 
IEnumerator EX(변수타입 변수이름) //코르틴 작성 ex는 예제로 넣은 함수명 - 특정 변수가 불필요하면 ()안은 비우면됩니다.
    {
        yield return null;
       
    }
cs



Unity 쪽 설명에도 이러한 형태로 사용하도록 작성되어 있다.

기타 자세한 Coroutine 사용 법은 다른 고수님들께서 개념설명을 잘 해주셔서 찾아서 보시는게 용이할 듯 하다.

작성자는 야매수준.... 

반응형

'개발이야기 > Unity & C# 코딩' 카테고리의 다른 글

Raycast - CircleCast  (0) 2018.03.26
admob 두번째 - 기다려도 광고가 안나와요.... ㅠㅠ  (0) 2018.03.23
Rigidbody(2D) constraints 설정  (0) 2018.03.07
Admob 배너광고  (0) 2018.02.08
IsEnabled  (0) 2018.02.08
반응형

유니티의 꽃 중의 꽃인 Rigidbody 입니다.


이걸 많이 사용하다보면 제어를 많이 하게 되는데요.


다른 것들은 컴포넌트에 접근하기 쉬웠는데... 이녀석은 좀 다르더라구요.


Rigidbody Constraints 란?  x, y 의 좌표축으로 이동 / z 축으로는 회전을 못하도록 막습니다.


그럼 이걸 왜써?


횡크롤 게임에서 미사일을 물리로 사용했다? 그럴때 이녀석이 원하는 모습과는 다르게 위가 아닌 옆으로 튀거나 할 수 있습니다.

이럴 때, 이녀석이 못움직이게 막는 것이지요


물론, 한가지 속성이 유지된다면 Inspector 에서 체크해주면 됩니다.


하지만...


특정 조건등에서 변경해야할 때가 있습니다.


이럴 땐, 코딩을 해야하는데요...


바로 접근이 안되어서 많이 구글신을 찾았습니다.

바로 아래처럼 접근해야합니다.


1
2
rb2d = GetComponent<Rigidbody2D>();
rb2d.constraints = RigidbodyConstraints2D.FreezePositionY;
cs


작성 방법은 편하신대로 하지만 개념만 잡아놓고 가겠습니다.


위에 보시면 FreezePositionY 라고 하면 == Y축을 고정 (해당 시점의 Y축은 고정) == x,z로 움직이만 가능


뭔가 사용하던 방식과는 다르더군요.


그럼 여기서... 그럼 모두 고정하고 싶으면... , 또는 x ,z 를 고정하고싶으면...


1번 답

1
rb2d.constraints = RigidbodyConstraints2D.FreezeAll;
cs

2qjs


2번 답

1
gameObject.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionZ;
cs

단! Z는 Rigidbody2D에서는 안뜹니다.


그럼 잘 사용하세요~~

반응형

'개발이야기 > Unity & C# 코딩' 카테고리의 다른 글

admob 두번째 - 기다려도 광고가 안나와요.... ㅠㅠ  (0) 2018.03.23
코르틴(Coroutine)  (0) 2018.03.10
Admob 배너광고  (0) 2018.02.08
IsEnabled  (0) 2018.02.08
Unity Flow  (0) 2018.02.06

+ Recent posts