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

出自TAMedia
跳至導覽 跳至搜尋
imported>Wikiuser
 
(未顯示由 2 位使用者於中間所作的 45 次修訂)
行 1: 行 1:
== <b>簡介</b> ==
== <b>簡介</b> ==
:TAMedia SDK提供Android Mobile App開發者簡易迅速的方式整合行動App廣告, 廣告的種類包含橫幅Banner, 全版Interstitial, Rich Media, 原生性廣告以及InRead廣告, 使用上跟Google Mobile Ads (Admob)類似, 能大量節省開發者學習時間
: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>
 
<br>
<br>
== <b>系統需求</b> ==
== <b>系統需求</b> ==
:Android 4.0.3以上 (API Level 15+), InRead廣告則需Android 5.0以上才能取得廣告 (API Level 21+)
:Android 5.0以上 (API Level 21+)
<br>
 
== <b>SDK說明文件</b> ==
[http://wiki.tamedia.com.tw/androidDoc/index.html SDK說明文件]
<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>
<big><u>Step 1: 將SDK放入app專案的<b>libs</b>資料夾</u></big><br><br>
:請至[[Download MADP Android SDK|下載 Download SDK]]下載SDK,並將壓縮檔內的AAR檔 (adpmobile-lib-rx.x.x.aar) 放至專案的libs資料夾, 若無libs資料夾請自行建立<br>
:請至[[Download MADP Android SDK|下載 Download SDK]]下載SDK,並將壓縮檔內的AAR檔放至專案的libs資料夾, 若無libs資料夾請自行建立<br>


[[檔案:Import_SDK7_Step1-1.PNG]]
[[檔案:AS SDK8 aar.png | 300px]]


<big><u>Step 2-1: 在app的<b>build.gradle</b>的dependencies內加入下列程式 (請根據aar檔名字自行調整)</u></big><br>
<br>
<big><u>Step 2-1: 編輯app專案中<b>build.gradle</b></u></big><br>


[[檔案:Import SDK7 Step2-1.PNG]]
[[檔案:AS SDK8 gradle.png | 300px]]


:請加入TAMedia的SDK和Google Play Service的廣告模組,Retrofit函式庫, AndroidX函式庫, Kotlin函式庫, 如需支援Android 4.0作業系統, 請將okhttp版本鎖定在舊版3.12.8解決TLS閃退
  dependencies {
      /* Other dependencies... */
   
    <b>implementation 'com.google.android.gms:play-services-ads-identifier:16.0.0'</b>
    <b>implementation ('com.squareup.retrofit2:retrofit:2.9.0')</b>
    <b>implementation("com.squareup.okhttp3:okhttp:3.12.8") { /* Use old version okhttp to fix TLS crash issue */</b>
    <b>    force = true</b>
    <b>}</b>
    <b>implementation files('libs/adpmobile-lib-rx.x.x.aar')</b>
    <br>
   
    //SDK8
    <b>implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10'</b>
    <b>implementation 'com.squareup.retrofit2:converter-gson:2.9.0'</b>
    <b>implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'</b>
    <b>implementation 'com.google.code.gson:gson:2.8.6'</b>
    <br>
    <b>implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'</b>
    <b>implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha02"</b>
    <b>implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1"</b>
    <b>implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"</b>
    //noinspection LifecycleAnnotationProcessorWithJava8
    <b>annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.3.1"</b>
    <b>implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'</b>
    <b>implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'</b>
    //SDK8
  }
<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>
====== 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')
    // =======================================================================//
    // 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>


:compileOptions請加入JAVA 8
====== MADP SDK 8.0.7+ (Kotlin 2.0.0+) ======
  android {
<source>
    compileOptions {
dependencies {
        sourceCompatibility JavaVersion.VERSION_1_8
 
        targetCompatibility JavaVersion.VERSION_1_8
    // =======================================================================//
     }
     // MADP library
  }
    // =======================================================================//
<br>
    implementation files('libs/adpmobile-lib-r8.0.7.aar')


<big><u>Step 2-2: 在Project的<b>build.gradle</b>的repositories內加入google()</u></big><br>
    // =======================================================================//
    // 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
    implementation 'androidx.security:security-crypto:1.1.0'
    // activity-ktx
    implementation 'androidx.activity:activity-ktx:1.11.0'


[[檔案:Import SDK7 Step2-2.PNG]]


:Google Play Service版本若為11.2+, 必須在repositories新增<b>google()</b>, 這是因為Google Play Service自11.2版本後, 改透過maven.google.com取得<br>SDK8 使用 kotlin 語言,需下載 kotlin 函式庫
}
  buildscript {
</source>
      <b>ext.kotlin_version = "1.5.10"</b>
      repositories {
          <b>google()</b>
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:4.0.1'
          //SDK8 Kotlin
          <b>classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"</b>         
          // NOTE: Do not place your application dependencies here; they belong
          // in the individual module build.gradle files
      }
  }
 
  allprojects {
      repositories {
          <b>google()</b>
          jcenter()
      }
  }
<br><br>


<big><u>Step 3: 在<b>AndroidManifest.xml</b>的manifest tag宣告權限</u></big><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>
   &lt;!-- TAMedia Required Permission --&gt;
   &lt;!-- TAmedia Required Permission --&gt;
   <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" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <b>&lt;!-- SDK4.0以上版本請移除 --&gt;</b>
 
:<ul><li>Optional Permission</li></ul>
:<ul><li>Optional Permission</li></ul>
   &lt;!-- TAMedia Optional Permission -->
   &lt;!-- 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: 行 121:
   <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><br>
<br>
 
== <b>targetSdk=35 (Android 15) 的應用程式 [[檔案:new-xxl.png|30px]] </b> ==
 
: Target API 為 35+的開發者應用程式,但是屬於 <b>闔家適用計畫,或將兒童導向應用程式</b> 請於AndroidManifest.xml中加入下列設定,移除AD_ID使用權限
 
<source>
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
</source>
<br>


<big><u>Step 4: 在<b>AndroidManifest.xml</b>的manifest tag宣告Activity</u></big><br>
詳情可參考Google網站說明:<br>
  <!-- TAMedia Activity -->
[https://support.google.com/googleplay/android-developer/answer/6048248?hl=zh-Hant 2021 年 Google Play 服務更新]
  <activity
<br>
    android:name="com.taiwanmobile.pt.adp.view.TWMAdActivity"
[https://support.google.com/googleplay/android-developer/topic/9877766 Google Play Policy - 家庭]
    android:configChanges="orientation|keyboardHidden|navigation|keyboard|screenLayout|uiMode|screenSize|smallestScreenSize"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.Translucent" >
  </activity>
<br>
<br>
[[Android SDK Developer Guide 2 | 回首頁]]

於 2025年10月15日 (三) 04:21 的最新修訂

簡介

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


系統需求

Android 5.0以上 (API Level 21+)


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


請加入TAmedia SDK aar與下列相依性函式庫
  • retrofit
  • ads identifier
  • gson
  • appset
  • jetpack security-crypto
  • activity-ktx


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

    // =======================================================================//
    // MADP library
    // =======================================================================//
    implementation files('libs/adpmobile-lib-r8.0.0.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+ (Kotlin 2.0.0+)
dependencies {

    // =======================================================================//
    // MADP library
    // =======================================================================//
    implementation files('libs/adpmobile-lib-r8.0.7.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
    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" />


targetSdk=35 (Android 15) 的應用程式 New-xxl.png

Target API 為 35+的開發者應用程式,但是屬於 闔家適用計畫,或將兒童導向應用程式 請於AndroidManifest.xml中加入下列設定,移除AD_ID使用權限
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>


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