Unity Ads 사용하는 방법

Unity Ads 사용하는 방법



Unity 자체에서 제공하는 광고 기능인 Unity Ads를

프로젝트에 연동시키는 방법입니다.

Unity에서 직접 제공하는 만큼 간단한 과정을 통해서 광고 등록이 가능합니다.




어플에 광고를 붙여서 수익을 올리기 위하여 지금 수익화 시작하기를 눌러줍니다.




현재 아무런 프로젝트를 생성한 이력이 없어서 새로운 프로젝트를 생성합니다.



생성할 프로젝트 이름을 넣어주고

밑에 체크하는 부분에서

만 13세 이상 규제 되는 컨텐츠인지, 규제되지 않는 컨텐츠 인지 선택합니다.

모든 사항을 알맞게 입력한 뒤 계속를 눌러주면 다음으로 넘어갑니다.






Unity Ads에서 정해준 Id가 보이고 위 처럼 프로젝트가 등록된 모습을 보실 수 있습니다.


Google Play Store ID 생성 후 플렛폼 정보에 입력하는 과정이 필요합니다.

정보를 입력하면  해당 어플리케이션을 대상으로 한 Test Device를 등록할 수 있는 텝이 생성됩니다.


테스트 디바이스 이름을 정의 및 현재 구글의 ADID를 적어야 하는데

해당 ADID는 안드로이드 폰에서 

설정 - Google - 서비스 - 광고 에 들어가면 있는 광고 ID를 넣어주면 됩니다.



앞선 환경 설정이 완료되면

유니티 Asset Store 에서 Unity Ads를 검색해서 찾아서 다운로드 후 임포트 해줍니다.

임포트 완료 후 아래 코드 샘플를 참조하여 광고를 삽입합니다.


Integrate Ads to the Asset Package

  1. Declare the Unity Ads namespace, UnityEngine.Advertisements in the header of your script (see UnityEngine.Advertisements documentation): 
         using UnityEngine.Advertisements;
    
  2. Inititalize Unity Ads early in the game’s runtime lifecycle, preferably at launch, using the copied Game ID string, gameId
         Advertisement.Initialize(string gameId)
    

Showing ads

With the Service enabled, you can implement the code in any script to display ads.
  1. Declare the Unity Ads namespace, UnityEngine.Advertisement in the header of your script (see UnityEngine.Advertisements documentation): 
    using UnityEngine.Advertisements;   
    
  2. Call the Show() function to display an ad: 
     Advertisement.Show()
    

Rewarding players for watching ads

Rewarding players for watching ads increases user engagement, resulting in higher revenue. For example, games may reward players with in-game currency, consumables, additional lives, or experience-multipliers.
To reward players for completing a video ad, use the HandleShowResult callback method in the example below. Be sure to check that the result is equal to ShowResult.Finished, to verify that the user hasn't skipped the ad.
  1. In your script, add a callback method.
  2. Pass the method as a parameter when when calling Show().
  3. Call Show() with the "rewardedVideo" placement to make the video unskippable.
Note: See Unity Ads documentation for more detailed information on placements.
void ShowRewardedVideo ()
{
    ShowOptions options = new ShowOptions();
    options.resultCallback = HandleShowResult;

    Advertisement.Show("rewardedVideo", options);
}

void HandleShowResult (ShowResult result)
{
    if(result == ShowResult.Finished) {
        Debug.Log("Video completed - Offer a reward to the player");
        // Reward your player here.

    }else if(result == ShowResult.Skipped) {
        Debug.LogWarning("Video was skipped - Do NOT reward the player");

    }else if(result == ShowResult.Failed) {
        Debug.LogError("Video failed to show");
    }
}

Example rewarded ads button code

Use the code below to create a rewarded ads button. The ads button displays an ad when pressed as long as ads are available.
  1. Select Game Object > UI > Button to add a button to your Scene.
  2. Select the button you added to your Scene, then add a script component to it using the Inspector. (In the Inspector, select Add Component > New Script .) Name the script UnityAdsButton to match the class name.
  3. Open the script and add the following code: 

    Note: If you are using engine integrated version of Ads SDK, you need to remove the two sections of code that are marked with ONLY NECESSARY FOR ASSET PACKAGE INTEGRATION.
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Advertisements;

[RequireComponent(typeof(Button))]
public class UnityAdsButton : MonoBehaviour
{
    //---------- ONLY NECESSARY FOR ASSET PACKAGE INTEGRATION: ----------//
    #if UNITY_IOS
    private string gameId = "1486551";
    #elif UNITY_ANDROID
    private string gameId = "1486550";
    #endif
    //-------------------------------------------------------------------//

    Button m_Button;

    public string placementId = "rewardedVideo";

    void Start ()
    {    
        m_Button = GetComponent<Button>();
        if (m_Button) m_Button.onClick.AddListener(ShowAd);

        //---------- ONLY NECESSARY FOR ASSET PACKAGE INTEGRATION: ----------//
        if (Advertisement.isSupported) {
            Advertisement.Initialize (gameId, true);
        }
        //-------------------------------------------------------------------//
    }

    void Update ()
    {
        if (m_Button) m_Button.interactable = Advertisement.IsReady(placementId);
    }

    void ShowAd ()
    {
        ShowOptions options = new ShowOptions();
        options.resultCallback = HandleShowResult;

        Advertisement.Show(placementId, options);
    }

    void HandleShowResult (ShowResult result)
    {
        if(result == ShowResult.Finished) {
        Debug.Log("Video completed - Offer a reward to the player");

        }else if(result == ShowResult.Skipped) {
            Debug.LogWarning("Video was skipped - Do NOT reward the player");

        }else if(result == ShowResult.Failed) {
            Debug.LogError("Video failed to show");
        }
    }
}
  1. Press Play in the Unity Editor to test the Ads button integration.

댓글

이 블로그의 인기 게시물

MacOS에서 SVN 사용하기(SmartSVN)

구글 주소검색 API

사우디아라비아 출장 경험담 1