FC2ブログ
    09 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】3週間かかったビルドがようやく終盤になりましたのでご報告します。Admob+アドフリくん+NCMBのビルドについて。 

    おはようございます。坂内っす。

    ようやく3週間の長い戦いだったビルド戦、だいたい乗り切った感じです。

    だいたい最終報告をさせて頂きます。

    <環境>
    Unity2017.4.30f1
    - NCMB.4.0.0
    - TapjoyUnityPlugin_v12.3.1
    - GoogleMobileAds-v3.18.0
    - adfurikunSDK_Unity_moviereward_3_0_1

    この環境でのGradleビルドが全然できんかったのですよ。

    やっとこさ、まともに動くところまでもってきました!
    ただまだ、Tapjoyのウォールが出ないとか色々ありますが・・・・
    これでとりあえず、以下の動作が確認できました。

    ・Admobがでる。バナー+インステ
    ・アドフリくんがでる。動画ネイティブ+動画リワード
    ・NCMBがつかえる。


    最終的なPluginフォルダの中身はこちら。
    【Plugins>Android】



    ※play-services-measurement-base-15.0.0 こいつだけバージョンが違くて気持ち悪いが、こいつ入れないと動画やバナータップ後にアプリに戻ると落ちるんだよね。

    【Plugins>Android>lib】


    【Plugins>Android>mainTemplate.gradle】

    // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
    buildscript {
    repositories {
    google()
    jcenter()
    }

    dependencies {
    classpath 'com.android.tools.build:gradle:3.2.0'
    }
    }

    allprojects {
    repositories {
    google()
    jcenter()
    maven {url "https://imobile-maio.github.io/maven" }
    maven {url "http://fan-adn.github.io/nendSDK-Android-lib/library" }
    flatDir {
    dirs 'libs'
    }
    }
    }

    // Android Resolver Repos Start
    ([rootProject] + (rootProject.subprojects as List)).each { project ->
    project.repositories {
    def unityProjectPath = "file:///" + file(rootProject.projectDir.path + "/../../").absolutePath
    maven {
    url "https://maven.google.com/" // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
    }
    mavenLocal()
    jcenter()
    mavenCentral()
    }
    }
    // Android Resolver Repos End
    apply plugin: 'com.android.application'

    dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:multidex:1.0.1'
    // Android Resolver Dependencies Start
    implementation 'com.google.android.gms:play-services-ads:15.0.1' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
    // Android Resolver Dependencies End
    implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
    implementation 'com.applovin:applovin-sdk:8.1.4' // Applovin
    implementation 'net.nend.android:nend-sdk:5.1.0' // Nend
    implementation 'com.maio:android-sdk:1.1.9@aar' // Maio
    implementation 'com.unity3d.ads:unity-ads:2.3.0' // UnityAds
    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.31' // Kotlin
    **DEPS**}

    // Android Resolver Exclusions Start
    android {
    packagingOptions {
    exclude ('/lib/armeabi/*' + '*')
    exclude ('/lib/mips/*' + '*')
    exclude ('/lib/mips64/*' + '*')
    exclude ('/lib/x86/*' + '*')
    exclude ('/lib/x86_64/*' + '*')
    }
    }
    // Android Resolver Exclusions End
    android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

    defaultConfig {
    minSdkVersion **MINSDKVERSION**
    targetSdkVersion **TARGETSDKVERSION**
    applicationId '**APPLICATIONID**'
    ndk {
    abiFilters **ABIFILTERS**
    }
    versionCode **VERSIONCODE**
    versionName '**VERSIONNAME**'
    }

    lintOptions {
    abortOnError false
    }

    aaptOptions {
    noCompress '.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**
    }

    **SIGN**
    buildTypes {
    debug {
    minifyEnabled **MINIFY_DEBUG**
    useProguard **PROGUARD_DEBUG**
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
    jniDebuggable true
    }
    release {
    minifyEnabled **MINIFY_RELEASE**
    useProguard **PROGUARD_RELEASE**
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
    **SIGNCONFIG**
    }
    }
    **PACKAGING_OPTIONS**
    bundle {
    language {
    enableSplit = false
    }
    density {
    enableSplit = false
    }
    abi {
    enableSplit = true
    }
    }
    }

    configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
    if (!requested.name.startsWith("multidex")) {
    details.useVersion '26.0.1'
    }
    }
    }
    }

    **SOURCE_BUILD_SETUP**



    【手順】①~④は順不同でもいいんじゃないかな?
    ①ニフクラ Import
    ②アドフリくん Import
    ③Admob Import
    ④タップジョイ Import

    ⑤いらないaar,jarを消す
    ⑥com.google.android.gmsのバージョンを合わせるために、「Assets>GoogleMobileAds>Editor>GoogleMobileAdsDependencies.xml」をいじる
    <pre class="prettyprint"><code>
    <dependencies>
    <androidPackages>
    <androidPackage spec="com.google.android.gms:play-services-ads:15.0.1">
    <repositories>
    <repository>https://maven.google.com/</repository>
    </repositories>
    </androidPackage>
    </androidPackages>

    <iosPods>
    <iosPod name="Google-Mobile-Ads-SDK" version="~> 7.42.1">
    <sources>
    <source>https://github.com/CocoaPods/Specs</source>
    </sources>
    </iosPod>
    </iosPods>
    </dependencies>




    ⑦Resolverしてみる。


    一応この時点でビルドは通るようになった。
    今まで使ってたアドフリくんが古かったため、最新の3系ではそのままでは動画が出ないという問題があったが、コードいじって動くように。

    あとは、本当にTapjoyのオファーウォールをどうするか。

    動かないならいっそのこと消してしまおうか・・・・

    いやー ほんと長い戦いだった・・・・ポケガ1,2の64ビット対応しようとして、Gradle初めて触ったのが行けなかったか・・・凄い時間がかかってしまった。

    今後また各SDKのバージョンが変わると動かなくなりそうな予感しかしませんが、今のところこれで動いています。
    64bit対応や、NCMBが古いと今後動かなくなる等で、最新のSDKにしてGradleビルドでハマった方がいたら参考になれば幸いです。

    お手伝いしてくれた、アドフリくんに感謝m(_ _)m

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/619-7bc49561
    この記事にトラックバックする(FC2ブログユーザー)