پیاده سازی تبلیغات موبایلی در یونیتی (Unity)

نوشته شده توسط شروین قریب

یونیتی (Unity) یک موتور بازی سازی چند سکویی است که توسط فناوری‌های یونیتی ( Unity Technologies ) ساخته شده است و در ساخت بازی ویدیویی برای کامپیوترهای شخصی، کنسول های بازی، دستگاه های همراه و وب سایت ها استفاده می شود.

ابتدا فایل anetwork_sdk_unity_plugin.unitypackage را از این قسمت دانلود کنید.

با درگ اند دراپ کردن فایل در یافت شده برروی قسمت Assets پروژه خود و import کردن، آن را به پروژه اضافه کنید. بعد از این کار فایل های مورد نظر به Assets پروژه شما اضافه می شود.

با درگ اند دراپ کردن (drag-and-drop) اسکریپت AnetworkUnityPlugin.cs بر روی MainCamera اسکریپت را به برنامه خود اضافه کنید.

حال فایل AnetworkUnityPlugin را باز کنید، ابتدا مقدار ANETWORK_APP_TOKEN را برابر مقدار app_token اپ خود قرار دهید.

مقدار appToken را می توانید از تظیمات اپلیکیشن خود در پنل پلتفرم anetwork بدست آورید.

تابع start باید به شکل زیر باشد:

void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN);
}

توجه داشته باشید به صورت پیش فرض تبلیغات نمونه نمایش داده می شود، برای غیرفعال کردن نمایش تبلیغات نمونه anetworkInitialize را به شکل زیر مقدار دهی کنید:

void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN, false);
}

در نظر داشته باشید هر گاه از ()Application.Quit در برنامه خود استفاده کردید حتما قبل از آن متد ()destroyAnetwork را فراخوانی کنید:

void Update () {
if (Input.GetKeyDown (KeyCode.Escape)) {
destroyAnetwork ();
Application.Quit();
}
}

پیاده سازی تبلیغ بنری:

اضافه کردن تبلیغ بنری به شکل زیر می باشد:
void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN);
addBannerAd(VERTICAL_POSITION_BOTTOM, HORIZONTAL_POSITION_CENTER, null);
}

برای مشخص کردن موقعیت تبلیغ از متغیرهای موجود در اسکریپت استفاده کنید:

public const string VERTICAL_POSITION_TOP = "top";
public const string VERTICAL_POSITION_BOTTOM = "bottom";
public const string HORIZONTAL_POSITION_RIGHT = "right";
public const string HORIZONTAL_POSITION_LEFT = "left";
public const string HORIZONTAL_POSITION_CENTER = "center";

برای آگاهی از رخ دادهای مربوط به تبلیغ بنری از AnetworkBannerAdListener به شکل زیر استفاده کنید:


addBannerAd(VERTICAL_POSITION_BOTTOM, HORIZONTAL_POSITION_CENTER, new AnetworkBannerAdListener());
public class AnetworkBannerAdListener : AndroidJavaProxy {
public AnetworkBannerAdListener() : base("com.anetwork.android.sdk.advertising.ad.listener.AnetworkBannerAdListener") { }
void onAnetworkBannerAdLoad(AndroidJavaObject view) {
Debug.Log ("ANETWORK UNITY, BANNER LOADED");
}
void onAnetworkBannerAdShow(AndroidJavaObject view) {
Debug.Log ("ANETWORK UNITY, BANNER SHOWED");
}
void onAnetworkBannerAdError(AndroidJavaObject view, int errorCode, string errorMessage) {
Debug.Log ("ANETWORK UNITY, BANNER AN ERROR OCCURRED");
}
void onAnetworkBannerAdDestroy(AndroidJavaObject view) {
Debug.Log ("ANETWORK UNITY, BANNER DESTROYED");
}
void onAnetworkBannerAdHide(AndroidJavaObject view) {
Debug.Log ("ANETWORK UNITY, BANNER HIDED");
}
void onAnetworkBannerAdClick(AndroidJavaObject view) {
Debug.Log ("ANETWORK UNITY, BANNER CLICKED");
}
}

توجه داشته باشید کلاس AnetworkBannerAdListener از قبل به AnetworkUnityPlugin.cs اضافه شده است و دیگر نیاز نیست اضافه شود.
پیاده سازی تبلیغ بنری تمام صفحه
به شکل زیر تبلیغ بنری تمام صفحه را اضافه کنید:

void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN);
createFullscreenBannerAd (null);
}

توابع کنترلی تبلیغ بنری تمام صفحه:

چک کردن آماده بودن تبلیغ برای نمایش
()bool isFullscreenBannerReady

چک کردن نمایان بودن تبلیغ
()bool isFullscreenBannerVisible

نمایش تبلیغ
()void showFullscreenBannerAd

برای آگاهی از رخ دادهای تبلیغ بنری تمام صفحه از کلاس AnetworkFullScreenBannerAdListener استفاده کنید:

void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN);
createFullscreenBannerAd (new AnetworkFullScreenBannerAdListener ());
}
public class AnetworkFullScreenBannerAdListener : AndroidJavaProxy {
public AnetworkFullScreenBannerAdListener() : base("com.anetwork.android.sdk.advertising.ad.listener.AnetworkFullScreenBannerAdListener") { }
void onAnetworkFullscreenBannerLoad() {
Debug.Log ("ANETWORK UNITY, FULLSCREEN BANNER AD LOADED");
}
void onAnetworkFullscreenBannerShow() {
Debug.Log ("ANETWORK UNITY, FULLSCREEN BANNER AD SHOWED");
}
void onAnetworkFullscreenBannerError(int errorCode, string errorMessage) {
Debug.Log ("ANETWORK UNITY, FULLSCREEN BANNER AD, AN ERROR OCCURRED");
}
void onAnetworkFullscreenBannerClick() {
Debug.Log ("ANETWORK UNITY, FULLSCREEN BANNER AD CLICKED");
}
void onAnetworkFullscreenBannerClosed() {
Debug.Log ("ANETWORK UNITY, FULLSCREEN BANNER AD CLOSED");
}
void onAnetworkFullscreenBannerDestroy() {
Debug.Log ("ANETWORK UNITY, FULLSCREEN BANNER AD DESTROYED");
}
}

توجه داشته باشید کلاس AnetworkFullScreenBannerAdListener از قبل به AnetworkUnityPlugin.cs اضافه شده است و دیگر نیاز نیست اضافه شود.

پیاده سازی تبلیغ ویدیویی

به شکل زیر تبلیغ ویدیویی را اضافه کنید:
void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN);
createVideoAd (null);
}

توابع کنترلی تبلیغ ویدیویی:

چک کردن آماده بودن تبلیغ برای نمایش
()bool isVideoAdReady

چک کردن نمایان بودن تبلیغ
()bool isVideoVisible

نمایش تبلیغ
()void showVideoAd

برای آگاهی از رخ دادهای تبلیغ ویدیوی از کلاس AnetworkVideoAdListener استفاده کنید:

void Start () {
anetworkInitialize(ANETWORK_APP_TOKEN);
createVideoAd (new AnetworkVideoAdListener());
}
public class AnetworkVideoAdListener : AndroidJavaProxy {
public AnetworkVideoAdListener() : base("com.anetwork.android.sdk.advertising.ad.listener.AnetworkVideoAdListener") { }
void onAnetworkVideoAdLoad() {
Debug.Log ("ANETWORK UNITY, VIDEO AD LOADED");
}
void onAnetworkVideoAdShow() {
Debug.Log ("ANETWORK UNITY, VIDEO AD SHOWED");
}
void onAnetworkVideoAdError(int errorCode, string errorMessage) {
Debug.Log ("ANETWORK UNITY, VIDEO AD, AN ERROR OCCURRED");
}
void onAnetworkVideoAdClick() {
Debug.Log ("ANETWORK UNITY, VIDEO AD CLICKED");
}
void onAnetworkVideoAdClosed() {
Debug.Log ("ANETWORK UNITY, VIDEO AD CLOSED");
}
void onAnetworkVideoAdComplete() {
Debug.Log ("ANETWORK UNITY, VIDEO AD COMPLETED");
}
void onAnetworkVideoAdDestroy() {
Debug.Log ("ANETWORK UNITY, VIDEO AD DESTROYED");
}
}

توجه داشته باشید کلاس AnetworkVideoAdListener از قبل به AnetworkUnityPlugin.cs اضافه شده است و دیگر نیاز نیست اضافه شود.

خطاهای معمول

خطاهای مربوط به sdk در logCat نمایش داده می شوند:
ANETWORK_ADVERTISING_IS_NOT_INITIALIZE
NETWORK_NOT_AVAILABLE
WRONG_APP_TOKEN
WRONG_PACKAGENAME
APP_NOT_APPROVED
APP_REJECTED

فعال و غیر فعال کردن تبلیغات

از توابع زیر استفاده کنید:

void setAnetworkAdvertisingEnable()
void setAnetworkAdvertisingDisable()

برنامه نمونه

برای دریافت و مشاهده نمونه اپلیکیشن می‌توانید به گیت هاب ای‌نتورک مراجعه یا فایل apk برنامه را دانلود کنید.

جهت مشاهده سوالات متداول مرتبط با SDK ای‌نتورک کلیک کنید

  • آیا این نوشته مشکل شما را حل کرد؟
  • بله   خیر

جواب سوالاتون رو پیدا نکردین؟

اگر در مطالب آموزشی بخش پشتیبانی نتوانستید جواب سوال خود را پیدا کنید ،
کارشناسان ما آماده پاسخگویی به شما هستند

ارسال تیکت