สำหรับ mobileCore เป็นอีกที่หนึ่งที่ให้นักพัฒนานำโฆษณาไปใส่ในแอปพลิเคชัน เพื่อสร้างรายได้ โดยรองรับ Android, Adobe AIR และ Unity (iOS ตามมาทีหลัง) สำหรับเรทของรายได้ไม่มีบอกไว้ก็เลยไม่รู้ รู้แต่ว่าจะจ่ายเงินให้ก็ต่อเมื่อ มีรายได้ขั้นต่ำ $200 โดยจ่ายทาง PayPal หรือ Wire Transfer ก็ได้
สำหรับ Slider จะเป็นเหมือน Navigator Drawer ซึ่งในการนำไปใช้บนแอปพลิเคชันอาจจะไม่ค่อยเวิร์กนัก เพราะบางทีนักพัฒนาก็อยากจะทำ Navigator Drawer ในนั้น จึงทำให้ Slider ไปทับซ้อนกับ Navigator Drawer ได้
MobileCore.init(this, "your_hash_code", LOG_TYPE.DEBUG);
your_hash_code ก็คือ Hash Code ของผู้ที่หลงเข้ามาอ่าน ใส่ลงไปซะ สำหรับ LOG_TYPE.DEBUG เป็นรูปแบบของ Log ที่จะแสดง โดยจะมีสองแบบคือ DEBUG และ PRODUCTION สำหรับ DEBUG เอาไว้แสดง Log ต่างๆของตัวโฆษณา เพื่อให้พัฒนาทดสอบและเช็คดู Log ก่อน ส่วน PRODUCTION เอาไว้สำหรับเผยแพร่แอพแล้ว ซึ่งจะแสดงเฉพาะ Log ที่สำคัญๆเท่านั้น
ตอนพัฒนาอยู่ก็ใช้ DEBUG ไป และเมื่อเสร็จแล้วก็เปลี่ยนเป็น PRODUCTION
สำหรับ this ก็คือ Activity ที่จะใช้คำสั่งนี้นั่นเอง อย่างเช่นเจ้าของบล็อกเรียกใช้ใน Main.java ดังนี้
import com.ironsource.mobilcore.MobileCore;
import com.ironsource.mobilcore.MobileCore.LOG_TYPE;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MobileCore.init(this, "your_hash_code", LOG_TYPE.DEBUG);
}
}
เพียงเท่านี้ก็เป็นการ Initial ให้กับ mobileCore เสร็จแล้ว ต่อไปก็เหลือแค่ว่าต้องการให้แสดงโฆษณาในตอนไหนก็เพียงแค่ใช้คำสั่งแสดงโฆษณาในตอนนั้นๆได้เลย ง่ายมาก
MobileCore.showOfferWall(this, callbackResponse);
MobileCore.showOfferWall(this, callbackResponse, forceShow);
สำหรับ this ก็คือ Activity ที่เรียกใช้คำสั่งเช่นเดิม callbackResponse เป็น Callback เมื่อผู้ใช้ปิดหน้าต่างโฆษณา ส่วน forceShow เป็นการกำหนดว่าเมื่อเชื่อมต่อกับอินเตอร์เน็ตไม่ได้ จะให้แสดงข้อความแจ้งผ่านทาง Toast หรือไม่ กำหนดเป็น True หรือ False
สมมติว่าเจ้าของบล็อกต้องการให้เปิดแอปพลิเคชันขึ้นมา แล้วแสดงโฆษณาของ mobileCore ทันที ก็จะใช้คำสั่ง
import com.ironsource.mobilcore.MobileCore;
import com.ironsource.mobilcore.MobileCore.LOG_TYPE;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MobileCore.init(this, "your_hash_code", LOG_TYPE.DEBUG);
MobileCore.showOfferWall(Main.this, null);
}
}
จะเห็นว่าเจ้าของบล็อกกำหนด Callback เป็น null เพราะว่าไม่ต้องการรับรู้ว่าผู้ใช้กดปิดหน้าโฆษณาหรือยัง จากการที่เจ้าของบล็อกใช้คำสั่งแสดงโฆษณาที่ onCreate เลย ดังนั้นเมื่อเปิดแอปพลิเคชันขึ้นมาโฆษณาก็จะแสดงทันที (อย่าลืมนะต้องใช้คำสั่ง init ก่อนจะแสดงโฆษณาใดๆ)
เมื่อเปิดแอปพลิเคชันขึ้นมาก็จะแสดงโฆษณาทันที
สำหรับ Callback จะไม่ค่อยได้ใช้มากนัก ขึ้นอยู่กับว่า เมื่อปิดโฆษณาแล้วจะให้ทำอะไรต่อ ตัวอย่างที่เหมาะๆ ก็คงจะเป็นกดออกจากแอปพลิเคชันแล้วแสดงโฆษณา เมื่อผู้ใช้ปิดโฆษณาก็ค่อยทำการปิดแอปพลิเคชันนั่นเอง
ดังนั้นคำสั่งแสดงโฆษณาก็เอาไปไว้ใน onBackPressed แทน ซึ่งเป็นฟังก์ชันเมื่อกดปุ่ม Back บนเครื่องแอนดรอยด์
import com.ironsource.mobilcore.MobileCore;
import com.ironsource.mobilcore.MobileCore.LOG_TYPE;
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MobileCore.init(this, "your_hash_code", LOG_TYPE.DEBUG);
}
public void onBackPressed() {
MobileCore.showOfferWall(Main.this, new CallbackResponse() {
public void onConfirmation(TYPE arg0) {
Main.this.finish();
}
});
}
}
ในฟังก์ชัน onConfirmation ก็จะให้ทำการปิดแอปพลิเคชันลง ผลที่ได้ก็คือเมื่อกด Back โฆษณาจะแสดงขึ้นมาก่อนและเมื่อผู้ใช้กดปิดโฆษณา แอปพลิเคชันถึงจะปิดตัวลง
สำหรับตัวแปร arg0 เป็นสถานะของการกดปิดหน้าโฆษณาว่าเป็นแบบใด
TYPE.AGREEMENT_AGREE
TYPE.AGREEMENT_BACK
TYPE.AGREEMENT_DECLINE
TYPE.OFFERWALL_BACK
TYPE.OFFERWALL_NO_CONNECTION
TYPE.OFFERWALL_QUIT
ก็สามารถเช็คค่าจากตัวแปร arg0 ได้ ในกรณีที่ต้องการเช็คสถานะการปิดหน้าโฆษณา
และที่ต้องกำหนดเพิ่มเติมอีกอย่างคือ ใน AndroidManifest.xml โดยจะต้องกำหนดเพื่อขอ Permission ในการใช้งานดังนี้
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
และเรียกใช้งาน Service อีกสองตัวคือ
<service
android:name="com.ironsource.mobilcore.MobileCoreReport"
android:enabled="true"
android:exported="false"
android:process=":mcServiceProcess"/>
<receiver
android:name="com.ironsource.mobilcore.InstallationTracker"
android:enabled="true"
android:process=":installationTracker"/>
สรุปคำสั่งของ Android Manifest ก็จะได้ประมาณนี้
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.akexorcist.mobilecoreexample"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="app.akexorcist.mobilecoreexample.Main"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name="com.ironsource.mobilcore.MobileCoreReport"
android:enabled="true"
android:exported="false"
android:process=":mcServiceProcess"/>
<receiver
android:name="com.ironsource.mobilcore.InstallationTracker"
android:enabled="true"
android:process=":installationTracker"/>
</application>
</manifest>
เพียงเท่านี้ก็เป็นอันเสร็จสิ้นการติดโฆษณาลงแอปพลิเคชันแล้ว
เมื่ออัพขึ้น Play Store แล้วอย่าลืมไปเพิ่มแอปพลิเคชันบน Dashboard ด้วย ให้เปิด Dashboard ขึ้นมา ที่มุมขวาล่างจะมีปุ่ม +Add App ให้กด
แล้วใส่ชื่อ Package Name ของแอปพลิเคชันนั้นๆลงไป ให้สังเกตตรงช่องไอคอนด้วย มันจะขึ้นออโต้ให้ เช็คว่าถูกต้องหรือป่าว แล้วก็กดปุ่ม Add App ได้เลย
เมื่อเพิ่มเสร็จแล้วก็มาดูที่หน้า Dashboard จะมีแอพแสดงอยู่เป็นอันเสร็จ ที่เหลือก็แค่รอผู้ใช้กดโฆษณา แล้วก็คอยติดตามดูผลงาน
สรุปโดยรวมจะเห็นว่า mobileCore ค่อนข้างใช้ง่ายมาก เรียกคำสั่งเล็กน้อยก็สามารถใช้งานได้ทันที พออัพขึ้น Play Store แล้วก็แค่ไปเพิ่มแอพใน Dashboard
ส่วน Dashboard บนเว็ปจะอัพเดทข้อมูลให้ภายใน 48 ชั่วโมง ไม่ได้ Realtime ตลอดเวลา เพราะงั้นอาจจะต้องรอซักสองวันก่อน ถึงจะเห็นรายได้อัพเดทให้เห็นในแต่ละครั้ง