InStream Android Developer Guide

出自TAMedia
於 2018年10月29日 (一) 09:40 由 imported>Wikiuser 所做的修訂
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

TAMedia InStream Android 版開發指南

簡介

TAMedia InStream可搭配Google IMA SDK獲得VAST影音廣告,該廣告可在Player撥放影片前、中、後呈現,下列章節將說明TAMedia InStream的串接方式。
系統需求: Android 4.1+ (API 16+)



下載 Util

請至下列連結下載Util和範例專案
Version Package Size Notes
1.0.0 TAMInStreamAndroidUtil_1.0.0 207 KB
  • Initial Release



開始使用

請依照下列方式設置專案

Step 1: 將JAR檔放入app專案的libs資料夾

請至下載 Util取得InStream Util,並將壓縮檔內的JAR檔 (tam-instream-rx.x.x.jar) 放至專案的libs資料夾, 若無libs資料夾請自行建立




Step 2: 在app-level的build.gradle設置dependencies

打開app-level的build.gradle檔
Instream-android-step2.PNG

在dependencies內加入Google IMA, Google Play Services和TAMedia Instream等Library
 dependencies {   
    implementation 'com.google.ads.interactivemedia.v3:interactivemedia:3.9.4'
    implementation 'com.google.android.gms:play-services-ads:15.0.1'
    implementation files('libs/tam-instream-rx.x.xi.jar')
  
    // other dependencies ..  
 }




Step 3: 在project-level的build.gradle的repositories內加入google()

打開project-level的build.gradle檔
Instream-android-step3.PNG

Google Play Service版本若為11.2+, 必須在repositories新增google(), 這是因為Google Play Service自11.2版本後, 改透過maven.google.com取得
 buildscript {    
     repositories {
         google()
         jcenter()
     }
     dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
     }
 }
 
 allprojects {
     repositories {
         google()
         jcenter()
     }
 }




Step 4: 加入必要權限

打開AndroidManifest.xml
Instream-android-step4.PNG


在 AndroidManifest.xml 內加入下列Permission
 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


在 AndroidManifest.xml 的application tag內加入Google Play Service的meta tag
 <meta-data
     android:name="com.google.android.gms.version"
     android:value="@integer/google_play_services_version" />




使用方式

使用上與Google IMA並無太大差異,大部分的步驟仍然可參考Google IMA Get Started的教學

但在呼叫setAdTagUrl、requestAd的部分,需要改寫成下列程式碼
 TWMAdTagBuilder adTagBuilder = new TWMAdTagBuilder(getContext(),"<Your TAMedia Ad Tag Url>");
 adTagBuilder.build(new TWMAdTagListener() {
     @Override
     public void onReceiveTag(String adTagUrl) {
        mAdRequest.setAdTagUrl(adTagUrl);
        mAdsLoader.requestAds(mAdRequest);
     }
 });


若需要使用測試模式,請在adTagBuilder.build前加入下列程式碼
 adTagBuilder.setTestMode(true);


Google IMA SDK 會根據您的網路選擇合適的廣告影片,若您需要限制廣告影片的bitrate,可在AdsManager呼叫init前執行下列程式:
 AdsRenderingSettings renderingSettings = mSdkFactory.createAdsRenderingSettings();
 renderingSettings.setBitrateKbps(2000); // 單位為kbit/s
 mAdsManager.init(renderingSettings);



設置ProGuard

若您的專案需要ProGuard,請在ProGuard檔加入下列設置
 ##------------ Start: proguard configuration for InStream ----------
 -keep public class com.taiwanmobile.pt.ima.** {*;}
 ##------------ End: proguard configuration for InStream ----------
 
 ##------------ Start: proguard configuration for Google Play Service & IMA ----------
 -dontwarn com.google.ads.**
 -keep class com.google.** { *; }
 -keep interface com.google.** { *; }
 -keep class com.google.ads.interactivemedia.** { *; }
 -keep interface com.google.ads.interactivemedia.** { *; }
 ##------------ End: proguard configuration for Google Play Service & IMA ----------




回首頁