可贏Android SDK的接入流程(Unity)
阿新 • • 發佈:2019-02-18
可贏現階段只提供了android端的SDK, 為了要整合到Unity工程中,只能在androidStudio中先整合可贏SDK,並匯出.aar檔案;把.aar檔案放入Unity工程中,在C#程式碼中呼叫.aar檔案相應的介面,並打包apk檔案(不能用Unity直接打包,原因在後面說明)。
Android工程整合可贏SDK
配置相應的library工程(可匯出.aar的工程)
在library工程中配置可贏SDK
一 新增可贏的SDK混淆檔案
把SDK中的proguard-rules.pro檔案貼上覆蓋到library專案中的proguard-rules.pro檔案
二 新增遠端maven庫
在library專案中的build.gradle中新增以下的程式碼
allprojects {
repositories {
jcenter()
maven{
url "http://47.94.86.25:8081/repository/maven-plugins/"
credentials {
username "使用者名稱"
password "密碼"
}
}
}
}
三 新增遠端依賴庫
在library專案中的build.gradle中的dependencies依賴庫結構中新增程式碼
compile 'com.auto.plugins:Analytics:4.3.9'
四 新增.so靜態庫編譯配置
- 配置NDK路徑(若沒有下載NDK,請在SDK Manager/SDKTools工具中下載NDK)
在local.properties檔案中配置好NDK的路徑。配置好的檔案如下:
ndk.dir=D\:\\AndroidSDK\\ndk-bundle
sdk.dir=D\:\\AndroidSDK
- 在build.gradle中根據專案新增相應的刷選型別。
android { ndk { //需要測試當前專案適用下面的哪種方案,如果選擇不對,程式啟動會崩潰 abiFilters 'armeabi-v7a' //abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a' } } }
五 在Android專案中新增可贏SDK相應的方法,及預留Unity呼叫的介面
這部分就不做說明了,參考可贏的SDK的步驟
六 編譯.aar檔案
專案新增有遠端依賴項,遠端依賴,如果直接打包,在手機上執行apk的時候會報錯,所以這裡需要把遠端依賴項關聯起來。
解決方案:
使用庫maven來管理library中的遠端依賴項,在build.gradle新增如下的程式碼:
uploadArchives {
repositories {
mavenDeployer {
//是本地的遠端庫,存放在電腦硬碟中。這裡是存放的路徑
repository(url: "file://localhost/D:/AndroidSDK"
+ "/extras/android/m2repository/")
//版本號
pom.version = '1.0-SNAPSHOT'
//library的包名
pom.groupId = 'com.game.brightphysicsballs'
//aar檔名
pom.artifactId = 'sdk-aar'
}
}
}
build完成之後,雙擊如下的按鈕
生成的檔案如下所示:
把.aar檔案放入到專案中去。
至此library中配置已經完成了
打包工程中(Unity匯出androidProject)的配置
- 把上面匯出的aar包放在打包工程中的libs下
- 新增遠端庫檔案的地址程式碼如下
allprojects {
repositories {
jcenter()
maven {
url "http://47.94.86.25:8081/repository/maven-plugins/"
credentials {
username "使用者"
password "密碼"
}
}
}
}
說明:雖然已經依賴了第三方庫檔案,但是在打包工程中依舊需要新增遠端地址
3) 新增依賴程式碼,在build.gradle中新增程式碼
dependencies {
//正確依賴程式碼如下 pom.groupId:pom.artifactId:pom.version
compile('com.game.brightphysicsballs:sdk-aar:1.0-SNAPSHOT')
}
- 新增專案NDK配置。
android {
defaultConfig {
ndk {
//和library工程中設定一樣,需要設定一遍
abiFilters 'armeabi-v7a'
}
}
}
- 配置androidManifest.xml檔案,新增結果為:
不加編譯會報錯。
恭喜你,可以打包測試了
疑問:
- 可贏SDK可以直接在打包工程中接入嗎?
- library工程中可不可以不使用庫maven來關聯遠端依賴,在打包工程中再配置一下?
以上兩個問題應該都是可行的,但是在打包工程中需要儘量少修改、配置工程,才把配置放在了library工程,在其他的專案中aar檔案可以直接使用。