基本設定

需求

以下說明適用於 v1.1.3 以後的版本。

條件

請確認使用最新的 ADBERT SDK、Android SDK、Google Play Services, ADBERT SDK 支援 Android Level 14 以上的APP。

整合 SDK


  • 整合SDK應進行以下步驟:
    • 設定jar檔
    • 新增並參照 Google Play 服務程式庫專案
    • 設定Manifest權限
    • 設定相關activity

注意

請於 activity 的 onCreate 加上 getWindow().setFormat(PixelFormat.TRANSPARENT); 以避免 SurfaceView 造成的黑屏。

設定 jar 檔

若使用 Eclipse,請將 jar 檔放至 /libs 資料夾裡即可。 若使用 Android Studio,將 jar 檔放至 /libs 資料夾後,右鍵點擊 jar 並選擇 Add as library 即可。

新增並參照 Google Play 服務程式庫專案

查看 Setting Up Google Play Services,瞭解如何設定 Google Play Services SDK。 建議使用最新版 Google Play Services,以支援所有功能。

設定 Manifest 權限

發出廣告請求前,您必須在資訊清單中宣告這些權限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

INTERNET

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

ACCESS_WIFI_STATE

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

ACCESS_NETWORK_STATE

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

ACCESS_COARSE_LOCATION

必要。允許訪問粗略性位置,以取得地理相關的廣告。

以下為建議添加權限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

READ_PHONE_STATE

選用。讀取手機狀態,並用來在發出電話請求前,先行檢查是否有可以進行通話。

CALL_PHONE

選用。用來發出打電話請求,提供使用者更多的廣告資訊。

ACCESS_FINE_LOCATION

選用。允許訪問精準性定位,以提供更精準的定位取得地理相關的廣告。

CAMERA

選用。允許訪問相機設備,以取得更多樣性互動的廣告。

WRITE_EXTERNAL_STORAGE

選用。允許寫入外部儲存裝置,與相機權限互相搭配,以取得更多樣性互動的廣告。

READ_EXTERNAL_STORAGE

選用。允許讀取外部儲存裝置。

設定相關activity

如欲使用橫幅廣告 ,請設定 AdbertADViewActivity

<activity
    android:name="com.adbert.AdbertADViewActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>

如欲使用插屏廣告,請設定 AdbertInterstitialActivity

<activity
    android:name="com.adbert.AdbertInterstitialActivity"     
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" >
</activity>

結果 若設定完成,則 AndroidManifest.xml 如下:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.adbert.sample">

   <!-- Include required permissions -->
   <uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
   <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_COARSE_LOCATION" />
   <uses-permission android:name="android.permission.CALL_PHONE" />
   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
   <uses-permission android:name="android.permission.CAMERA" />
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity
         android:name="com.adbert.sample.self.DemoActivity"
         android:label="@string/app_name" >
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>

      <!--This meta-data tag is required to use Google Play Services.-->
      <meta-data
         android:name="com.google.android.gms.version"   
         android:value="@integer/google_play_services_version" />

      <!--Include the AdbertActivity configChanges and theme for AdbertADView. -->
      <activity
         android:name="com.adbert.AdbertADViewActivity"  
         android:configChanges="orientation|keyboardHidden|screenSize"
         android:theme="@android:style/Theme.Translucent.NoTitleBar" >
      </activity>

      <!--Include the AdbertActivity configChanges and theme for AdbertInterstitialAD.-->
      <activity
         android:name="com.adbert.AdbertInterstitialActivity"
         android:configChanges="orientation|keyboardHidden|screenSize"
         android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" >
      </activity>
   </application>

<manifest >