1. 程式人生 > >可贏Android SDK的接入流程(Unity)

可贏Android SDK的接入流程(Unity)

可贏現階段只提供了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靜態庫編譯配置

  1. 配置NDK路徑(若沒有下載NDK,請在SDK Manager/SDKTools工具中下載NDK)
    在local.properties檔案中配置好NDK的路徑。配置好的檔案如下:
ndk.dir=D\:\\AndroidSDK\\ndk-bundle
sdk.dir=D\:\\AndroidSDK
  1. 在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)的配置

  1. 把上面匯出的aar包放在打包工程中的libs下
  2. 新增遠端庫檔案的地址程式碼如下
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')
}
  1. 新增專案NDK配置。
android {
	defaultConfig {
		ndk {
			//和library工程中設定一樣,需要設定一遍
			abiFilters 'armeabi-v7a'
		}
	}
}
  1. 配置androidManifest.xml檔案,新增結果為:
    在這裡插入圖片描述
    不加編譯會報錯。

恭喜你,可以打包測試了

疑問:

  1. 可贏SDK可以直接在打包工程中接入嗎?
  2. library工程中可不可以不使用庫maven來關聯遠端依賴,在打包工程中再配置一下?
    以上兩個問題應該都是可行的,但是在打包工程中需要儘量少修改、配置工程,才把配置放在了library工程,在其他的專案中aar檔案可以直接使用。