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

出自TAMedia
跳至導覽 跳至搜尋
imported>Wikiuser
imported>Wikiuser
行 17: 行 17:
[[檔案:AS SDK8 gradle.png | 300px]]
[[檔案:AS SDK8 gradle.png | 300px]]


:請加入TAMedia的SDK和Google Play Service的廣告模組,Retrofit函式庫, AndroidX函式庫, Kotlin函式庫, 如需支援Android 4.0作業系統, 請將okhttp版本鎖定在舊版3.12.8解決TLS閃退
:請加入TAMedia的SDK和下列相依性函式庫
  dependencies {
:<ul><li>LocalBroadcastManager</li></ul>
      /* Other dependencies... */
:<ul><li>kotlin</li></ul>
   
:<ul><li>kotlin-coroutines</li></ul>
    <b>implementation 'com.google.android.gms:play-services-ads-identifier:16.0.0'</b>
:<ul><li>retrofit</li></ul>
    <b>implementation ('com.squareup.retrofit2:retrofit:2.9.0')</b>
:<ul><li>google play service identifier</li></ul>
    <b>implementation("com.squareup.okhttp3:okhttp:3.12.8") { /* Use old version okhttp to fix TLS crash issue */</b>
:<ul><li>gson</li></ul>
    <b>   force = true</b>
:<ul><li>lifecycle</li></ul>
    <b>}</b>
 
    <b>implementation files('libs/adpmobile-lib-rx.x.x.aar')</b>
<source>
    <br>
dependencies {
   
 
    //SDK8
    // =======================================================================//
    <b>implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10'</b>
    // MADP library
    <b>implementation 'com.squareup.retrofit2:converter-gson:2.9.0'</b>
    // =======================================================================//
    <b>implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'</b>
    implementation files('libs/adpmobile-lib-r8.0.0.aar')
    <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>
    // MADP library dependencies
    <b>implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha02"</b>
    // =======================================================================//
    <b>implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1"</b>
    // LocalBroadcastManager
    <b>implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"</b>
    implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
    //noinspection LifecycleAnnotationProcessorWithJava8
    // kotlin
    <b>annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.3.1"</b>
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10'
    <b>implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'</b>
    // kotlin-coroutines
    <b>implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'</b>
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0"
    //SDK8
    // retrofit
  }
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
<br>
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
    // google play service identifier
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.1'
    // gson
    implementation 'com.google.code.gson:gson:2.8.6'
    // lifecycle
    def lifecycle_version = "2.4.0-alpha03"
    def arch_version = "2.1.0"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"
    testImplementation "androidx.arch.core:core-testing:$arch_version"
}
</source>
 


:compileOptions請加入JAVA 8
:compileOptions請加入JAVA 8

於 2021年9月7日 (二) 05:35 的修訂

簡介

TAMedia SDK提供Android Mobile App開發者簡易迅速的方式整合行動App廣告, 廣告的種類包含橫幅Banner, 全版Interstitial, Rich Media, 原生性廣告以及InRead廣告, 使用上跟Google Mobile Ads (Admob)類似, 能大量節省開發者學習時間


系統需求

Android 5.0以上 (API Level 21+)


Android Studio專案整合SDK

請按照下列方式設置專案

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

請至下載 Download SDK下載SDK,並將壓縮檔內的AAR檔 (adpmobile-lib-rx.x.x.aar) 放至專案的libs資料夾, 若無libs資料夾請自行建立

AS SDK8 aar.png

Step 2-1: 在app的build.gradle的dependencies內加入下列程式 (請根據aar檔名字自行調整)

AS SDK8 gradle.png

請加入TAMedia的SDK和下列相依性函式庫
  • LocalBroadcastManager
  • kotlin
  • kotlin-coroutines
  • retrofit
  • google play service identifier
  • gson
  • lifecycle
dependencies {

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

    // =======================================================================//
    // MADP library dependencies
    // =======================================================================//
    // LocalBroadcastManager
    implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
    // kotlin
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10'
    // kotlin-coroutines
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0"
    // 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 play service identifier
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.1'
    // gson
    implementation 'com.google.code.gson:gson:2.8.6'
    // lifecycle
    def lifecycle_version = "2.4.0-alpha03"
    def arch_version = "2.1.0"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"
    testImplementation "androidx.arch.core:core-testing:$arch_version"
}


compileOptions請加入JAVA 8
 android {
   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }
 }


Step 2-2: 在Project的build.gradle的repositories內加入google()

Import SDK7 Step2-2.PNG

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



Step 3: 在AndroidManifest.xml的manifest tag宣告權限

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" />
 <uses-permission android:name="android.permission.BLUETOOTH" />
 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
 <uses-permission android:name="android.permission.WAKE_LOCK" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  • 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" />



Step 4: 在AndroidManifest.xml的manifest tag宣告Activity

 <activity
    android:name="com.taiwanmobile.pt.adp.view.TWMAdActivity"
    android:configChanges="orientation|keyboardHidden|navigation|keyboard|screenLayout|uiMode|screenSize|smallestScreenSize"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.Translucent" >
 </activity>


回首頁