SDK導入說明
加入ClickForce 磁浮廣告前,需先下載Android SDK檔案,即進行解壓縮程序,包含了一個jar檔,並完成以下前置步驟:
A.在磁浮廣告專案中加入 MFAD-*.*.*.jar
B.加入Google Play Service
C.設定AndroidManifest.xml
D.設定 layout xml
基本設定
引入SDK
在 Android Studio 專案中加入 MFAD-*.*.*.jar
1. 複製解壓縮的 JAR 檔貼上到 libs 資料夾

2. 回到 Android 專案,libs 會多出一個 JAR 檔案,對它按下右鍵選擇Add as library 。之後可至 build.gradle 確認是否有加入成功。
如範例顯示,將會有一行 compile files(‘libs/MFAD-*.*.*.jar’) 表示 JAR 被讀到了

加入Google Play Service
在 Android Studio 專案層級的 build.gradle 中,加入Google Mobile Ads SDK。並請加入maven指令。
.
.
..
...
versionName "1.0 "
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner "
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com "
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.android.gms:play-services-ads:17.2.0'
testCompile 'junit:junit:4.12'
implementation files('libs/MFAD-*.*.*.jar')
}
Note: 可查看 Setting Up Google Play Services,瞭解如何設定 Google Play Services SDK。 建議使用最新版Google Play Services,以支援所有功能。
設定AndroidManifest.xml
INTERNET必要。用來存取網路,以發出廣告請求。
ACCESS_WIFI_STATE必要。允許訪問Wi-Fi網路狀態信息。
ACCESS_NETWORK_STATE必要。用來在發出廣告請求前,先行檢查是否有可用的網路連結。
READ_PHONE_STATE必要。讀取手機狀態,並用來在發出電話請求前,先行檢查是否有可以進行通話。
ACCESS_COARSE_LOCATION必要。允許訪問粗略性位置,以取得地理相關的廣告。
加入至 AndroidManifest.xml 中
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
加進參考 Google Play 服務版本的 <meta-data> 代碼,Android 可藉此瞭解應用程式預期要用的服務版本。
由於Google Play Services 17.0.0 開始需在 <meta-data> 代碼裡加上 AD_MANAGER_APP,如下圖第二段 meat 代碼內。
<application android:allowBackup="true " android:icon="@mipmap/ic_launcher " android:label="@string/app_name " android:roundIcon="@mipmap/ic_launcher_round " android:supportsRtl="true " android:theme="@style/AppTheme "> <activity android:name=".MainActivity "> <intent-filter> <action android:name="android.intent.action.MAIN " /> <category android:name="android.intent.category.LAUNCHER " /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" /> </application>
ACCESS_FINE_LOCATION選用。允許訪問精準性定位,以提供更精準的定位取得地理相關的廣告。
WAKE_LOCK選用。
WRITE_EXTERNAL_STORAGE選用。允許寫入外部儲存裝置,與其他權限互相搭配,以取得更多樣性互動的廣告。
CALL_PHONE選用。用來發出打電話請求,提供使用者更多的廣告資訊。
加入至 AndroidManifest.xml 中
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
開始建立 磁浮廣告
AdMaglev 參數設定與說明
建立物件
new AdMaglev(Content content)
Parameters
建立物件並帶初始位置 (注意:版本改動加入此方法)
new AdMaglev(Context context, int location)
Parameters
設定初始位置參數
開始請求廣告
public void getAdMaglev(int Id)
Parameters
設定廣告版位ID
顯示廣告
public void show()
* 以下為選擇使用方法
AdMaglev 屬性說明
設定是否輸出除錯(debug)訊息 : (true / false)
釋放資源,並清除廣告。建議在已經請求過廣告後的每一次請求廣告,可以先進行釋放資源,再進行請廣告
public void releaseAd()
AdMaglev 初始位置參數
(注意:版本改動加入此方法)| 參數名稱 | 說明 |
|---|---|
| TOP | 上 |
| BOTTOM | 下 |
| TOP | LEFT (預設) | 左上 |
| TOP | RIGHT | 右上 |
| CENTER | LEFT | 左中 |
| CENTER | RIGHT | 右中 |
| BOTTOM | LEFT | 左下 |
| BOTTOM | RIGHT | 右下 |
AdMaglevListener 說明
@Override
public void onSuccessToAdMaglev() {
//於請求磁浮廣告廣告成功,呈現廣告
}
@Override
public void onFailToAdMaglev() {
//於請求磁浮廣告後執行
}
@Override
public void onClickToAdMaglev() {
//於點擊磁浮廣告後執行
}
@Override
public void onCloseToAdMaglev() {
//於關閉磁浮廣告後執行
}
宣告及引入
加入磁浮廣告會用到程式碼如下:
public class MainActivity extends AppCompatActivity {
private AdMaglev adMaglev;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adMaglev = new AdMaglev(this);
// adMaglev = new AdMaglev(this, AdMaglev.TOP | AdMaglev.LEFT);
adMaglev.getAdMaglev(9800);
adMaglev.outputDebugInfo = true;
adMaglev.setOnAdMaglevListener(new AdMaglevListener() {
@Override
public void onSuccessToAdMaglev() {
Log.d("Clickforce","onSuccessToAdMaglev");
adMaglev.show();
}
@Override
public void onFailToAdMaglev() {
Log.d("Clickforce","onFailToAdMaglev");
}
@Override
public void onClickToAdMaglev() {
Log.d("Clickforce","onClickToAdMaglev");
}
@Override
public void onCloseToAdMaglev() {
Log.d("Clickforce","onCloseToAdMaglev");
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (adMaglev != null)
adMaglev.releaseAd();
}
}
取得結果
show date
Android 磁浮廣告