Porto Android 磁浮廣告

SDK Document

若需在 Android 應用程式中呈現 ClickForce 廣告,只要在您的 專案中導入 SDK,然後在使用者介面中加入相關指令就行了。

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')
}
 

設定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 參數設定與說明


建立物件

Parameters

建立物件並帶初始位置  (注意:版本改動加入此方法) 

Parameters

設定初始位置參數

開始請求廣告

Parameters

設定廣告版位ID


顯示廣告


* 以下為選擇使用方法

AdMaglev 屬性說明

設定是否輸出除錯(debug)訊息 : (true / false)


釋放資源,並清除廣告。建議在已經請求過廣告後的每一次請求廣告,可以先進行釋放資源,再進行請廣告


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