บทเรียนง่ายๆ สำหรับการสร้างรายได้บนแอพพลิเคชันเกมบนสมาร์ทโฟน Monetize Mobile Game บน Unity ด้วย Unity Ads เพื่อแสดงผลโฆษณาทำเงินจากยอดคลิก สำหรับผู้เริ่มต้น
สร้าง New Project ขึ้นมาใหม่ ตั้งชื่อให้เรียบร้อยครับ แล้วเปิด Asset Store ขึ้นมาค้นหา Unity Ads
ทำการ Download และ Import ลงใน Project ของเรา ให้เรียบร้อย
เข้าไปที่เว็บไซต์ http://unityads.unity3d.com/
ทำการสมัครหากยังไม่ได้สมัคร Unity Account ถ้าสมัครแล้วก็เข้าระบบครับ
เราจะพบหน้า console dashboard ดังนี้
คลิกที่เมนู Game ข้างซ้ายมือ ทำการสร้าง Profile Game ใหม่ของเราลงไปครับ
ถ้ามี URL ของ App Store ของแต่ละ Platform ใส่ไปเลยครับ แต่ถ้ายังทดสอบเกมอยู่ให้คลิกที่ตำแหน่งในภาพ
ใส่ชื่อเกม แล้วเลือกรูปแบบมาตรฐานของเกมเราลงไปครับ
สร้างเสร็จเอาเลข Game ID มาใช้ครับให้ Copy ไว้
เวลานำไปใช้นะครับให้ สร้าง C# มาไว้ใน Game Object ใดๆ หรือ Button ทั้ง Legacy OnGUI หรือ Button UI ก็ได้
using UnityEngine.Advertisements;
ทำการประกาศ Header ส่วนของการเรียกใช้ Unity Ads มาไว้ใน Code ก่อน เพิ่มบรรทัดนี้ใน Start(); โดยใส่ Game ID ลงไป
void Start(){ advertisement.Initialize ("<YOUR GAME ID HERE>"); }
ต่อจากนั้น เวลาจะเรียกให้โฆษณาปรากฏก็ง่ายครับ แล้วแต่ละคนจะทำเลย จะนับถอดหลัง ระหว่างโหลด หรือกดปุ่ม เมื่อมี Action ใดๆ ให้เรียก Function นี้พอ
if(Advertisement.isReady()){ Advertisement.Show(); }
ตัวอย่างกดปุ่ม
sing UnityEngine; using System.Collections; using UnityEngine.Advertisements; public class UnityAdsvetising : MonoBehaviour { public bool gamePause = false; public GUISkin GamexSkin; // Use this for initialization void Start () { Time.timeScale = 1; Advertisement.Initialize("GAME ID"); } // Update is called once per frame void Update () { if(gamePause==true){ Time.timeScale = 0; }else{ Time.timeScale = 1; } } void OnGUI(){ GUI.skin = GamexSkin; if (GUI.Button(new Rect(Screen.width - 200,40,165,55), "Pause")){ CallAds (); } if (gamePause){ Time.timeScale = 0; if (GUI.Button(new Rect(Screen.width/4+10, Screen.height/4+Screen.height/10+60, Screen.width/2-20,Screen.height/10), "Return")){ gamePause=false; } }else{ Time.timeScale = 1; } } void CallAds() { print("Woohoo"); if(Advertisement.isReady()){ Advertisement.Show (); gamePause=true; } } }
ทดสอบกับปุ่ม Pause ในเกม