串接準備
在開始串接 SDK 前,請確認您已經擁有 Vpon 開發商帳號,並已經取得您的 License Key。如果您還沒完成註冊,請先註冊帳號。
取得 Vpon 開發商帳號後,請參考以下說明完成 Vpon Android SDK 的串接:
- 導入 SDK 到您的專案中
- 加入所需的 3rd-party Library
- 在 AndroidManifest.xml 中宣告 com.vpadn.widget.VponActivity
- 在 AndroidManifest.xml 中設定必要的 Permission
- 在 Application 或 MainActivity 初始化 SDK
導入 SDK
您可以使用 Gradle 來導入 Vpon SDK。
開啟 Android Studio Project 層級的 build.gradle
檔案,在下方所示 allprojects 的 repositories 加入 Maven Repository
allprojects {
repositories {
maven{
url 'https://m.vpon.com/sdk/android/maven'
}
}
}
加入 Maven Repository 後,開啟 App 層級下的 build.gradle
加入 Vpon SDK 指定版本的編譯相依性
dependencies {
...
implementation 'com.vpon:vpadnSDK:latest.release'
}
3rd-party Library
從 4.8.0
版開始,Vpon SDK 引入第三方的 Library - Retrofit,請參考以下方法導入 Retrofit:
- 手動下載導入:由此直接下載 Retrofit 的 jar 檔並導入專案中
- 透過 Maven 導入:在 App 層級下的 build.gradle 的 dependencies 中加入以下內容導入 Retrofit:
dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.6.2'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.21'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
<!-- Import required Google Play Service -->
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
<!-- Import required dependency if you are using Vpon SDK v5.3.2 and above -->
implementation 'com.google.android.gms:play-services-appset:16.0.0'
}
宣告 VponActivity
請在您的 AndroidManifest.xml 加入以下內容:
<!-- Please add below script if you're using SDK v5.0.2 or above-->
<activity android:name="com.vpon.ads.VponAdActivity"
android:configChanges="orientation|keyboardHidden|navigation|keyboard|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent"
android:hardwareAccelerated="true"/>
Note:上面每一個屬性都不能少,其值都需要相同!
此外,由於 Vpon SDK 4 開始支援影音形式的廣告,建議您在放置廣告的 Activity 中加入硬體加速,請參考如下:
<activity
android:name="com.vpadn.example.MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
android:hardwareAccelerated="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
加入 Permission
請在您的 AndroidManifest.xml 加入以下 Permission:
<!-- Required Permissions -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- Optional Permissions. Use for optimize ad performance -->
<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"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
初始化 SDK
為了提高 SDK 的效能,請在 Application 或 MainActivity 初始化 SDK:
// Initial SDK in Application
public class CustomApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
VponMobileAds.initialize(getBaseContext());
}
}
Proguard Configuration
如果您的 App 使用 Vpon Android SDK v5.0.2 或以下版本的 SDK,請在 Proguuard Config 中增加以下設定:
-dontwarn c.**
-dontwarn com.vpon.**
-dontwarn vpadn.**
-keep class c.**{ *; }
-keep class com.vpon.** { *; }
-keep class vpon.** { *; }
-keep class com.vpadn.** { *; }
-keep class vpadn.** { *; }
<!-- ----------- require since 4.8.0 --------- -->
-dontnote retrofit2.Platform
-dontwarn retrofit2.Platform$Java8
-dontwarn okhttp3.internal.platform.*
-keepattributes Exceptions
-keepattributes Signature
-dontwarn okio.**
-dontwarn javax.annotation.**
Tips
關於更多廣告形式的呈現,請參考: