반응형

애드몹을 이용해 유니티에서 수익을 창출해 보자.

 

AdMob Unity 플러그인을 다운로드한다.

Google AdMob

 

유니티를 실행하고 플랫폼을 안드로이드로 바꾼다.

 

Assets - Import Package - Custom Package... 를 선택한다.

 

위에서 다운로드한 플러그인을 선택한다.

 

 

Import를 클릭한다.

 

No Thanks를 클릭한다.

※ API를 업데이트 하면 앱 완성 후 유니티에서만 정상 실행되고 실제 기기에서는 강제 종료되는 에러가 발생하기도 한다.

 

Enable을 클릭한다.

 

Assets - Google Mobile Ads - Settings... 를 선택한다.

 

 

App ID를 입력한다.

안드로이드 테스트 App ID

ca-app-pub-3940256099942544~3347511713

 

Empty 오브젝트를 하나 만들고 스크립트를 추가한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#define UNITY_ANDROID
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
using System;
using GoogleMobileAds.Api;
 
public class NewBehaviourScript : MonoBehaviour
{
    private InterstitialAd interstitial;
 
    // Start is called before the first frame update
    void Start()
    {
        RequestInterstitial();
    }
 
    // Update is called once per frame
    void Update()
    {
 
    }
 
    private void RequestInterstitial()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/1033173712";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/4411468910";
        #else
            string adUnitId = "unexpected_platform";
        #endif
 
        // Initialize an InterstitialAd.
        this.interstitial = new InterstitialAd(adUnitId);
 
        // Called when an ad request has successfully loaded.
        this.interstitial.OnAdLoaded += HandleOnAdLoaded;
        // Called when an ad request failed to load.
        this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
        // Called when an ad is shown.
        this.interstitial.OnAdOpening += HandleOnAdOpened;
        // Called when the ad is closed.
        this.interstitial.OnAdClosed += HandleOnAdClosed;
        // Removed OnAdLeavingApplication event for all formats.
        //this.interstitial.OnAdLeavingApplication += HandleOnAdLeavingApplication;
 
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the interstitial with the request.
        this.interstitial.LoadAd(request);
    }
 
    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdLoaded event received");
    }
 
    public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
            + args.ToString());
    }
 
    public void HandleOnAdOpened(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdOpened event received");
    }
 
    public void HandleOnAdClosed(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleAdClosed event received");
    }
 
    //public void HandleOnAdLeavingApplication(object sender, EventArgs args)
    //{
    //    MonoBehaviour.print("HandleAdLeavingApplication event received");
    //}
 
    private void OnDestroy()
    {
        this.interstitial.Destroy();
    }
 
    public void AdShow()
    {
        if (this.interstitial.IsLoaded())
        {
            this.interstitial.Show();
        }
    }
}
 

 

테스트 광고 단위 ID를 이용한 스크립트 소스를 입력하고 저장한다.

 

버튼을 하나 만든다.

 

 

On Click()에 위에서 만든 Empty 오브젝트와 AdShow()를 선택한다.

 

게임을 실행하고 버튼을 클릭한다.

 

테스트 광고가 표시된다.

 

※ 위 내용 진행 중 에러가 발생한다면 아래 링크를 참고한다.

2022.01.18 - [Unity] - Unity3D - 유니티3D with AdMob Troubleshooting

 

반응형
Posted by J-sean
: