「Android Getting Started SDK8」修訂間的差異
跳至導覽
跳至搜尋
MADP SDK 8.0.7 / 8.0.8 (Kotlin 2.0.0+)
高權限功能開關(8.0.8 起)
imported>Wikiuser |
BrandonTeng(留言 | 貢獻) |
||
| (未顯示由 2 位使用者於中間所作的 64 次修訂) | |||
| 行 1: | 行 1: | ||
== <b>簡介</b> == | == <b>簡介</b> == | ||
: | :TAmedia SDK提供Android Mobile App開發者簡易迅速的方式整合行動App廣告, 廣告的種類包含<br> | ||
< | :<ul><li>Banner</li></ul> | ||
:<ul><li>Interstitial</li></ul> | |||
:<ul><li>InRead Anchor</li></ul> | |||
:<ul><li>Native</li></ul> | |||
== <b>系統需求</b> == | == <b>系統需求</b> == | ||
:Android | :Android 6.0以上 (API Level 23+) | ||
== <b>SDK說明文件</b> == | |||
[http://wiki.tamedia.com.tw/androidDoc/index.html SDK說明文件] | |||
<br> | <br> | ||
== <b> | |||
== <b>APP專案整合SDK</b> == | |||
請按照下列方式設置專案<br><br> | 請按照下列方式設置專案<br><br> | ||
<big><u>Step 1: 將SDK放入app專案的<b>libs</b>資料夾</u></big><br> | <big><u>Step 1: 將SDK放入app專案的<b>libs</b>資料夾</u></big><br><br> | ||
:請至[[Download MADP Android SDK|下載 Download SDK]] | :請至[[Download MADP Android SDK|下載 Download SDK]]下載SDK,並將壓縮檔內的AAR檔放至專案的libs資料夾, 若無libs資料夾請自行建立<br> | ||
[[檔案: | [[檔案:AS SDK8 aar.png | 300px]] | ||
<big><u>Step 2-1: | <br> | ||
<big><u>Step 2-1: 編輯app專案中<b>build.gradle</b></u></big><br> | |||
[[檔案: | [[檔案: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> | |||
== <b>權限設定</b> == | |||
[[檔案:Import SDK7 Step3-1.PNG]] | [[檔案:Import SDK7 Step3-1.PNG]] | ||
<br> | |||
:<ul><li>Required Permission</li></ul> | :<ul><li>Required Permission</li></ul> | ||
<!-- | <!-- TAmedia Required Permission --> | ||
<uses-permission android:name="android.permission.INTERNET" /> | <uses-permission android:name="android.permission.INTERNET" /> | ||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | <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_NETWORK_STATE" /> | ||
:<ul><li>Optional Permission</li></ul> | :<ul><li>Optional Permission</li></ul> | ||
<!-- | <!-- TAmedia Optional Permission --> | ||
<uses-permission android:name="android.permission.VIBRATE" /> | <uses-permission android:name="android.permission.VIBRATE" /> | ||
<uses-permission android:name="android.permission.CAMERA" /> | <uses-permission android:name="android.permission.CAMERA" /> | ||
| 行 101: | 行 112: | ||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | ||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | ||
<br> | |||
< | == <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 進入時開啟,離開時關閉: | |||
<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> | |||
<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"/> | |||
</source> | |||
: 註:targetSdk 33 (Android 13) 以上的應用程式,使用廣告ID時必須宣告AD_ID權限;未宣告時廣告ID會被置換為全為零的字串。此為Android 13起的規則,與SDK版本無關。 | |||
詳情可參考Google網站說明:<br> | |||
[https://support.google.com/googleplay/android-developer/answer/6048248?hl=zh-Hant 2021 年 Google Play 服務更新] | |||
<br> | |||
[https://support.google.com/googleplay/android-developer/topic/9877766 Google Play Policy - 家庭] | |||
<br> | <br> | ||
於 2026年8月17日 (一) 01:54 的最新修訂
簡介
- TAmedia SDK提供Android Mobile App開發者簡易迅速的方式整合行動App廣告, 廣告的種類包含
- Banner
- Interstitial
- InRead Anchor
- Native
系統需求
- Android 6.0以上 (API Level 23+)
SDK說明文件
APP專案整合SDK
請按照下列方式設置專案
Step 1: 將SDK放入app專案的libs資料夾
- 請至下載 Download SDK下載SDK,並將壓縮檔內的AAR檔放至專案的libs資料夾, 若無libs資料夾請自行建立
Step 2-1: 編輯app專案中build.gradle
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+) 
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'
}
權限設定
- 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 起) 
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 - 家庭

