「Android Getting Started SDK8」修訂間的差異

出自TAMedia
跳至導覽 跳至搜尋
 
(未顯示同一使用者於中間所作的 22 次修訂)
行 6: 行 6:
:<ul><li>Native</li></ul>
:<ul><li>Native</li></ul>


<br>
== <b>系統需求</b> ==
== <b>系統需求</b> ==
:Android 5.0以上 (API Level 21+)
:Android 6.0以上 (API Level 23+)
<br>


== <b>SDK說明文件</b> ==
== <b>SDK說明文件</b> ==
行 15: 行 13:
<br>
<br>


== <b>Android Studio專案整合SDK</b> ==
== <b>APP專案整合SDK</b> ==
請按照下列方式設置專案<br><br>
請按照下列方式設置專案<br><br>
<big><u>Step 1: 將SDK放入app專案的<b>libs</b>資料夾</u></big><br><br>
<big><u>Step 1: 將SDK放入app專案的<b>libs</b>資料夾</u></big><br><br>
:請至[[Download MADP Android SDK|下載 Download SDK]]下載SDK,並將壓縮檔內的AAR檔 (adpmobile-lib-r8.0.0.aar) 放至專案的libs資料夾, 若無libs資料夾請自行建立<br>
:請至[[Download MADP Android SDK|下載 Download SDK]]下載SDK,並將壓縮檔內的AAR檔放至專案的libs資料夾, 若無libs資料夾請自行建立<br>


[[檔案:AS SDK8 aar.png | 300px]]
[[檔案:AS SDK8 aar.png | 300px]]
行 27: 行 25:
[[檔案:AS SDK8 gradle.png | 300px]]
[[檔案:AS SDK8 gradle.png | 300px]]


====== MADP SDK 8.0.6 (Kotlin 1.8.x ~ 1.9.22) ======
<source>
dependencies {
    // =======================================================================//
    // MADP library
    // =======================================================================//
    implementation files('libs/adpmobile-lib-r8.0.0.aar')
    implementation files('libs/omsdk-android-1.3.37-release.aar')
    // =======================================================================//
    // MADP library dependencies
    // =======================================================================//
    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
    // google ads identifier
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.1'
    // google app set id
    implementation 'com.google.android.gms:play-services-appset:16.0.1'
    // gson
    implementation 'com.google.code.gson:gson:2.8.6'
    // Jetpack Security
    implementation 'androidx.security:security-crypto:1.1.0-alpha03'
    // activity-ktx
    implementation 'androidx.activity:activity-ktx:1.9.3'
}
</source>
====== MADP SDK 8.0.7 / 8.0.8 (Kotlin 2.0.0+) [[檔案:new-xxl.png|30px]] ======
<source>
dependencies {
    // =======================================================================//
    // MADP library
    // =======================================================================//
    // 8.0.7 請改用 adpmobile-lib-r8.0.7.aar
    implementation files('libs/adpmobile-lib-r8.0.8.aar')
    implementation files('libs/omsdk-android-1.3.37-release.aar')
    // =======================================================================//
    // MADP library dependencies
    // =======================================================================//
    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:3.0.0'
    implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
    implementation 'com.squareup.retrofit2:converter-scalars:3.0.0'
    // google ads identifier
    implementation 'com.google.android.gms:play-services-ads-identifier:18.2.0'
    // google app set id
    implementation 'com.google.android.gms:play-services-appset:16.1.0'
    // gson
    implementation 'com.google.code.gson:gson:2.13.2'
    // Jetpack Security(僅 8.0.7 需要,8.0.8 起請移除此行)
    implementation 'androidx.security:security-crypto:1.1.0'
    // activity-ktx
    implementation 'androidx.activity:activity-ktx:1.11.0'
}
</source>
<br>
<br>
:請加入TAmedia SDK aar與下列相依性函式庫
:<ul><li>retrofit</li></ul>
:<ul><li>ads identifier</li></ul>
:<ul><li>gson</li></ul>
:<ul><li>appset</li></ul>
:<ul><li>jetpack security-crypto</li></ul>
:<ul><li>activity-ktx</li></ul>


== <b>權限設定</b> ==
== <b>權限設定</b> ==
<big><u>Step 3: 在<b>AndroidManifest.xml</b>的manifest tag宣告權限</u></big><br>


[[檔案:Import SDK7 Step3-1.PNG]]
[[檔案:Import SDK7 Step3-1.PNG]]


<br><br>
<br>


:<ul><li>Required Permission</li></ul>
:<ul><li>Required Permission</li></ul>
行 60: 行 114:
<br>
<br>


== <b>Target API 為 35 (Android 15) 的應用程式 [[檔案:new-xxl.png|30px]] </b> ==
== <b>高權限功能開關(8.0.8 起)</b> [[檔案:new-xxl.png|30px]] ==
 
8.0.8 起,廣告素材透過 WebView JS bridge 使用麥克風、相機、行事曆、閃光燈這四項功能前,必須由 App 端主動開啟對應的開關。四個開關預設皆為關閉,未開啟時 SDK 會忽略素材的呼叫。
 
=== 開關 API ===
 
{| class="wikitable"
! 功能 !! 開啟 !! 查詢
|-
| 麥克風 || <code>TWMMobileAds.setMicrophoneEnabled(boolean)</code> || <code>TWMMobileAds.isMicrophoneEnabled()</code>
|-
| 相機 || <code>TWMMobileAds.setCameraEnabled(boolean)</code> || <code>TWMMobileAds.isCameraEnabled()</code>
|-
| 行事曆 || <code>TWMMobileAds.setCalendarEnabled(boolean)</code> || <code>TWMMobileAds.isCalendarEnabled()</code>
|-
| 閃光燈 || <code>TWMMobileAds.setFlashlightEnabled(boolean)</code> || <code>TWMMobileAds.isFlashlightEnabled()</code>
|}
 
=== 使用範例 ===
 
以麥克風互動素材為例,在承載該素材的 Activity 進入時開啟,離開時關閉:


: Target API 為 35+的開發者應用程式,但是屬於 <b>闔家適用計畫,或將兒童導向應用程式</b> 請於AndroidManifest.xml中加入下列設定,移除AD_ID使用權限
<syntaxhighlight lang="java">
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 本頁會投放需要麥克風互動的素材
    TWMMobileAds.setMicrophoneEnabled(true);
}
 
@Override
protected void onDestroy() {
    TWMMobileAds.setMicrophoneEnabled(false);
    super.onDestroy();
}
</syntaxhighlight>
<br>
 
== <b>闔家適用計畫 / 兒童導向應用程式</b> ==
 
: 本SDK的相依套件 <code>play-services-ads-identifier</code> 已於其manifest中宣告AD_ID權限,manifest合併後會自動出現在您的應用程式中。
 
: 若您的應用程式屬於 <b>闔家適用計畫,或為兒童導向應用程式</b>,請於AndroidManifest.xml中加入下列設定,移除AD_ID使用權限


<source>
<source>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
</source>
</source>
<br>
 
: 註:targetSdk 33 (Android 13) 以上的應用程式,使用廣告ID時必須宣告AD_ID權限;未宣告時廣告ID會被置換為全為零的字串。此為Android 13起的規則,與SDK版本無關。


詳情可參考Google網站說明:<br>
詳情可參考Google網站說明:<br>

於 2026年8月17日 (一) 01:54 的最新修訂

簡介

TAmedia SDK提供Android Mobile App開發者簡易迅速的方式整合行動App廣告, 廣告的種類包含
  • Banner
  • Interstitial
  • InRead Anchor
  • Native

系統需求

Android 6.0以上 (API Level 23+)

SDK說明文件

SDK說明文件

APP專案整合SDK

請按照下列方式設置專案

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

請至下載 Download SDK下載SDK,並將壓縮檔內的AAR檔放至專案的libs資料夾, 若無libs資料夾請自行建立

AS SDK8 aar.png


Step 2-1: 編輯app專案中build.gradle

AS SDK8 gradle.png


MADP SDK 8.0.6 (Kotlin 1.8.x ~ 1.9.22)
dependencies {

    // =======================================================================//
    // MADP library
    // =======================================================================//
    implementation files('libs/adpmobile-lib-r8.0.0.aar')
    implementation files('libs/omsdk-android-1.3.37-release.aar')

    // =======================================================================//
    // MADP library dependencies
    // =======================================================================//
    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
    // google ads identifier
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.1'
    // google app set id
    implementation 'com.google.android.gms:play-services-appset:16.0.1'
    // gson
    implementation 'com.google.code.gson:gson:2.8.6'
    // Jetpack Security
    implementation 'androidx.security:security-crypto:1.1.0-alpha03'
    // activity-ktx
    implementation 'androidx.activity:activity-ktx:1.9.3'


}
MADP SDK 8.0.7 / 8.0.8 (Kotlin 2.0.0+) New-xxl.png
dependencies {

    // =======================================================================//
    // MADP library
    // =======================================================================//
    // 8.0.7 請改用 adpmobile-lib-r8.0.7.aar
    implementation files('libs/adpmobile-lib-r8.0.8.aar')
    implementation files('libs/omsdk-android-1.3.37-release.aar')

    // =======================================================================//
    // MADP library dependencies
    // =======================================================================//
    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:3.0.0'
    implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
    implementation 'com.squareup.retrofit2:converter-scalars:3.0.0'
    // google ads identifier
    implementation 'com.google.android.gms:play-services-ads-identifier:18.2.0'
    // google app set id
    implementation 'com.google.android.gms:play-services-appset:16.1.0'
    // gson
    implementation 'com.google.code.gson:gson:2.13.2'
    // Jetpack Security(僅 8.0.7 需要,8.0.8 起請移除此行)
    implementation 'androidx.security:security-crypto:1.1.0'
    // activity-ktx
    implementation 'androidx.activity:activity-ktx:1.11.0'


}


權限設定

Import SDK7 Step3-1.PNG


  • Required Permission
 <!-- TAmedia Required Permission -->
 <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" />
  • Optional Permission
 <!-- TAmedia Optional Permission -->
 <uses-permission android:name="android.permission.VIBRATE" /> 
 <uses-permission android:name="android.permission.CAMERA" />
 <uses-permission android:name="android.permission.RECORD_AUDIO" />
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


高權限功能開關(8.0.8 起) New-xxl.png

8.0.8 起,廣告素材透過 WebView JS bridge 使用麥克風、相機、行事曆、閃光燈這四項功能前,必須由 App 端主動開啟對應的開關。四個開關預設皆為關閉,未開啟時 SDK 會忽略素材的呼叫。

開關 API

功能 開啟 查詢
麥克風 TWMMobileAds.setMicrophoneEnabled(boolean) TWMMobileAds.isMicrophoneEnabled()
相機 TWMMobileAds.setCameraEnabled(boolean) TWMMobileAds.isCameraEnabled()
行事曆 TWMMobileAds.setCalendarEnabled(boolean) TWMMobileAds.isCalendarEnabled()
閃光燈 TWMMobileAds.setFlashlightEnabled(boolean) TWMMobileAds.isFlashlightEnabled()

使用範例

以麥克風互動素材為例,在承載該素材的 Activity 進入時開啟,離開時關閉:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 本頁會投放需要麥克風互動的素材
    TWMMobileAds.setMicrophoneEnabled(true);
}

@Override
protected void onDestroy() {
    TWMMobileAds.setMicrophoneEnabled(false);
    super.onDestroy();
}


闔家適用計畫 / 兒童導向應用程式

本SDK的相依套件 play-services-ads-identifier 已於其manifest中宣告AD_ID權限,manifest合併後會自動出現在您的應用程式中。
若您的應用程式屬於 闔家適用計畫,或為兒童導向應用程式,請於AndroidManifest.xml中加入下列設定,移除AD_ID使用權限
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
註:targetSdk 33 (Android 13) 以上的應用程式,使用廣告ID時必須宣告AD_ID權限;未宣告時廣告ID會被置換為全為零的字串。此為Android 13起的規則,與SDK版本無關。

詳情可參考Google網站說明:
2021 年 Google Play 服務更新
Google Play Policy - 家庭