見出し画像

Unityで遊ぶ ネイティブ広告を実装する

ネイティブ広告に興味が湧いたので、
実装の手順とサンプルコードを調べた。

ネイティブ広告の提供元

ネイティブ広告の提供元にはいくつかの選択肢がありますが、代表的なものを以下に示します。

  • Google AdMob Native Ads

  • Facebook Audience Network Native Ads

  • Unity Ads Native Ads

  • AppLovin MAX Native Ads

これらの提供元から提供されるSDKを統合し、各提供元のドキュメントに従って実装を行うことで、ネイティブ広告を実装することができます。ただし、ネイティブ広告は提供元ごとに実装方法や広告表示の仕様が異なるため、各提供元のドキュメントをよく確認して実装を行うことが重要です。

ネイティブ広告の実装の手順とサンプルコード

Unityでネイティブ広告を実装するには、以下の手順を行います。

  1. ネイティブ広告の提供元からSDKをダウンロードし、Unityプロジェクトに統合する。

  2. ネイティブ広告のレイアウトを定義する。

  3. 広告を取得するためのスクリプトを作成する。

  4. 広告を表示するためのスクリプトを作成する。

  5. ビルドと実行を行う。

以下に、Unityでネイティブ広告を実装するためのサンプルコードを示します。なお、以下のコードはGoogle AdMobを利用する場合の例です。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;

public class NativeAdScript : MonoBehaviour
{
    private NativeAd nativeAd;

    private void Start()
    {
        // ネイティブ広告のAdUnitIDを指定
        string adUnitId = "YOUR_AD_UNIT_ID";

        // NativeAdLoaderを作成
        AdLoader adLoader = new AdLoader.Builder(adUnitId)
            .ForNativeAd()
            .Build();

        // ネイティブ広告の取得を開始
        adLoader.LoadAd(new AdRequest.Builder().Build());

        // ネイティブ広告のロード完了時に呼び出されるイベント
        adLoader.OnNativeAdLoaded += (ad) =>
        {
            nativeAd = ad;

            // ネイティブ広告のレイアウトを定義する
            // ここでは、タイトル、説明、メイン画像、アイコン画像、広告主のテキストを表示する例を示す
            Transform adParent = transform;
            adParent.GetComponentInChildren<Text>().text = nativeAd.Headline;
            adParent.GetComponentsInChildren<Text>()[1].text = nativeAd.Body;
            adParent.GetComponentsInChildren<Image>()[0].sprite = Sprite.Create((Texture2D)nativeAd.GetImageAdTexture(NativeAd.ImageAdType.Main), new Rect(0, 0, nativeAd.GetImageAdTexture(NativeAd.ImageAdType.Main).width, nativeAd.GetImageAdTexture(NativeAd.ImageAdType.Main).height), new Vector2(0.5f, 0.5f));
            adParent.GetComponentsInChildren<Image>()[1].sprite = Sprite.Create((Texture2D)nativeAd.GetImageAdTexture(NativeAd.ImageAdType.Icon), new Rect(0, 0, nativeAd.GetImageAdTexture(NativeAd.ImageAdType.Icon).width, nativeAd.GetImageAdTexture(NativeAd.ImageAdType.Icon).height), new Vector2(0.5f, 0.5f));
            adParent.GetComponentsInChildren<Text>()[2].text = nativeAd.Advertiser;
        };
    }

    // ネイティブ広告を表示するためのメソッド
    public void ShowNativeAd()
    {
        if (nativeAd != null)
        {
            nativeAd.RegisterAdChoicesLogo(GameObject.Find("AdChoicesLogo")?.GetComponent<RectTransform>(), new Vector2(0, 0));
            nativeAd.RegisterIcon

最後まで読んで頂き、感謝です(ぺこり)

この記事が気に入ったらサポートをしてみませんか?