Porto Android Pre-Roll 廣告

SDK Document

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

SDK導入說明

加入ClickForce Pre-Roll 廣告前,需先下載Android SDK檔案,即進行解壓縮程序,包含了一個jar檔,並完成以下前置步驟:


A.在本Pre Roll 廣告專案中加入 MFAD-*.*.*.jar

B.加入Google Play Service

C.加入IMA Android SDK

D.設定AndroidManifest.xml

E.設定 layout xml

基本設定


引入SDK

在 Android Studio 專案中加入 MFAD-*.*.*.jar

複製解壓縮的 JAR 檔貼上到 libs 資料夾



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


加入Google Play Service Ads Identifier


1.加進參考 Google Play 服務版本的 <meta-data> 代碼,Android 可藉此瞭解應用程式預期要用的服務版本。

2.由於SDK使用到 org.apache.http.legacy的library,而Google將該庫已從bootclasspath中刪除,所以加入<uses-library android:name="org.apache.http.legacy" android:required="false"/>


   <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>
	<uses-library android:name="org.apache.http.legacy" android:required="false"/>  
    </application>

    

加入IMA Android SDK


設定AndroidManifest.xml

INTERNET

必要。用來存取網路,以發出廣告請求。


ACCESS_WIFI_STATE

必要。允許訪問Wi-Fi網路狀態信息。


ACCESS_NETWORK_STATE

必要。用來在發出廣告請求前,先行檢查是否有可用的網路連結。


AD_ID

必要。允許存取廣告識別碼(ADID)。



加入至 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="com.google.android.gms.permission.AD_ID" />  (注意:版本修改使用此方法) 
	



android:configChanges="orientation|screenSize"

加入 android:configChanges 可以讓系統知道我們想要自行處理特定 configuration 的狀態改變,當狀態改變時,activity 會持續運作



加入至 AndroidManifest.xml 中

        
 <activity android:name=".MainActivity"
            android:configChanges="orientation|screenSize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
 </activity>
 


設定 layout xml


使用Pre Roll 廣告 ,必需在放置廣告頁面的layout xml 中,加入clickforce.ad.PreRollAdView


  <com.clickforce.ad.PreRollAdView
     android:id="@+id/preroll"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_alignParentBottom="true"
     android:layout_centerHorizontal="true">
  </com.clickforce.ad.PreRollAdView>




開始建立 Pre Roll 廣告

PreRollAdView 參數設定與說明


*目前Android版PreRoll只提供全屏播放模式

* 以下必須使用方法

設定廣告板位ID

Parameters

設定Pre Roll 廣告載入

Parameters

設定全屏播放模式

Parameters

自行處理設定變更

須將上面全屏方法在onConfigurationChanged()方法上實作

  
  @Override
    public void onConfigurationChanged(Configuration newConfig) {

        super.onConfigurationChanged(newConfig);

        preRollAdView.fullScreen(this);

    }



* 以下為選擇使用方法

設定是否使用控制聲音功能,填入true / false (未使用該方法則預設為false,靜音)

Parameters

設定Pre Roll 關閉廣告


PreRollViewLinstener 說明


  
  //Pre-roll Vast影片播完處理
 public void onStartPlayVideo(){
 }

 //Pre-roll Vast影片發生錯誤處理
 public void onFailedToPreRollAd(){
 }




宣告及引入

加入Pre Roll 廣告會用到程式碼如下:

   
public class MainActivity extends Activity {
    private PreRollAdView preRollAdView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        

        preRollAdView = (PreRollAdView) this.findViewById(R.id.preroll);
        preRollAdView.setAdTagUrl(String.valueOf("4397"));
        preRollAdView.setAdPlay(this);
        preRollAdView.setIsVolume(true);

        preRollAdView.setOnPreRollViewLoaded(new PreRollViewLinstener() {
            @Override
            public void onStartPlayVideo() {
                Log.d("CF","play");
            }

            @Override
            public void onFailedToPreRollAd() {

            }
        });

    }
    @Override
    public void onConfigurationChanged(Configuration newConfig) {

        super.onConfigurationChanged(newConfig);

        preRollAdView.fullScreen(this);

    }
}



取得結果



show date