অ্যান্ড্রয়েডের জন্য ইউনিটি তৈরি করুন

ইউনিটি এডিটর গ্রেডলের একটি নির্দিষ্ট সংস্করণে লক করা সংস্করণ। ইউনিটি এডিটরের আগের সংস্করণগুলি গ্রেডলের আগের সংস্করণগুলি ব্যবহার করে যা Google মোবাইল বিজ্ঞাপনগুলির সর্বশেষ সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয়৷

নিম্নলিখিত টেবিলটি আপনার ইউনিটি এডিটরের উপর ভিত্তি করে ব্যবহার করার জন্য সর্বাধিক সামঞ্জস্যপূর্ণ Google মোবাইল বিজ্ঞাপন প্লাগইন সংস্করণ দেখায়:

ঐক্য সম্পাদক মো গুগল মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন সংস্করণ
2023.1 বা তার বেশি সর্বশেষ
2021.3.41f1 - 2022.3 9.1.0
2021.3.37f1 বা তার আগে 8.5.3

আপনি পুরানো ইউনিটি এডিটর সহ সর্বশেষতম Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন ব্যবহার করতে গ্র্যাডলকে ম্যানুয়ালি আপডেট করতে পারেন। অ্যান্ড্রয়েড তৈরি করতে, আপনার পছন্দের ইউনিটি এডিটর সংস্করণ নির্বাচন করুন:

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিতগুলি রয়েছে:

কাস্টম গ্রেডল টেমপ্লেটগুলি সক্ষম করুন৷

প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > প্রকাশনা সেটিংস > Custom Main Gradle Template এবং Custom Gradle Properties Template তৈরি এবং সক্ষম করুন-এ যান।

কাস্টম গ্রেডল টেমপ্লেটগুলি সক্ষম করুন৷

টার্গেট API লেভেল 34 সেট করুন

প্রধান মেনু থেকে সম্পাদনা > প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > অন্যান্য সেটিংস খুলুন এবং টার্গেট এপিআই লেভেলকে এপিআই লেভেল 34 বা উচ্চতর সেট করুন।

টার্গেট API লেভেল সেট করুন

অ্যান্ড্রয়েড প্রজেক্ট চালান

অ্যান্ড্রয়েড স্টুডিও থেকে, গ্রেডল সিঙ্ক চালান এবং প্রকল্পটি চালান

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিতগুলি রয়েছে:

কাস্টম গ্রেডল টেমপ্লেটগুলি সক্ষম করুন৷

প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > প্রকাশনা সেটিংস > Custom Main Gradle Template এবং Custom Gradle Properties Template তৈরি এবং সক্ষম করুন-এ যান।

কাস্টম গ্রেডল টেমপ্লেটগুলি সক্ষম করুন৷

টার্গেট API লেভেল 34 সেট করুন

প্রধান মেনু থেকে সম্পাদনা > প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > অন্যান্য সেটিংস খুলুন এবং টার্গেট এপিআই লেভেলকে এপিআই লেভেল 34 বা উচ্চতর সেট করুন।

টার্গেট API লেভেল সেট করুন

অ্যান্ড্রয়েড স্টুডিওতে রপ্তানি করুন

ফাইল (বা MacOS এ ইউনিটি এডিটর) > বিল্ড সেটিংস নির্বাচন করে অ্যান্ড্রয়েড বিল্ড সেটিংস পরিবর্তন করুন এবং এক্সপোর্ট প্রজেক্ট চেক করুন:

রপ্তানি প্রকল্প

অ্যান্ড্রয়েড স্টুডিও খুলুন

এই বিভাগে Android স্টুডিওর মধ্যে সম্পাদিত পদক্ষেপ রয়েছে।

Gradle JDK কনফিগারেশন আপডেট করুন

ফাইল (বা MacOS এ অ্যান্ড্রয়েড স্টুডিও) > সেটিংস > বিল্ড > এক্সিকিউশন > ডিপ্লয়মেন্ট > বিল্ড টুলস > গ্রেডল থেকে গ্রেডল সেটিংস খুলুন। Gradle JDK ড্রপ-ডাউন সনাক্ত করুন এবং JDK 17 বা তার পরে ব্যবহার করার জন্য Gradle JDK সেট করুন।

Gradle JDK কনফিগারেশন আপডেট করুন

আপনার যদি JDK 17 ইনস্টল না থাকে, তাহলে Gradle JDK মেনু বার থেকে ডাউনলোড JDK বিকল্পগুলি নির্বাচন করুন এবং একটি সামঞ্জস্যপূর্ণ সংস্করণ ডাউনলোড করুন। অ্যান্ড্রয়েড স্টুডিও যা বিতরণ করে তা মেলানোর জন্য আমরা aarch64 সমর্থন সহ JetBrains রানটাইম বিক্রেতাকে সুপারিশ করি।

প্রকল্প-স্তরের build.gradle আপডেট করুন

Gradle টুলস সংস্করণ 8.1.1 বা তার পরবর্তীতে সেট করুন।


plugins {
    id 'com.android.application' version '8.1.1' apply false
    id 'com.android.library' version '8.1.1' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

/gradle/gradle-wrapper.properties আপডেট করুন

Gradle 8.1.1 বা নতুন ব্যবহার করতে distributionUrl সেট করুন।

distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip

অ্যান্ড্রয়েড প্রজেক্ট চালান

অ্যান্ড্রয়েড স্টুডিও থেকে, গ্রেডল সিঙ্ক চালান এবং প্রকল্পটি চালান

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিতগুলি রয়েছে:

কাস্টম গ্রেডল টেমপ্লেটগুলি সক্ষম করুন৷

প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > প্রকাশনা সেটিংস > Custom Main Gradle Template এবং Custom Gradle Properties Template তৈরি এবং সক্ষম করুন-এ যান।

কাস্টম গ্রেডল টেমপ্লেটগুলি সক্ষম করুন৷

টার্গেট API লেভেল 34 সেট করুন

প্রধান মেনু থেকে সম্পাদনা > প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > অন্যান্য সেটিংস খুলুন এবং টার্গেট এপিআই লেভেলকে এপিআই লেভেল 34 বা উচ্চতর সেট করুন।

টার্গেট API লেভেল সেট করুন

অ্যান্ড্রয়েড স্টুডিওতে রপ্তানি করুন

ফাইল (বা MacOS এ ইউনিটি এডিটর) > বিল্ড সেটিংস নির্বাচন করে অ্যান্ড্রয়েড বিল্ড সেটিংস পরিবর্তন করুন এবং এক্সপোর্ট প্রজেক্ট চেক করুন:

রপ্তানি প্রকল্প

আপনি যদি একটি সতর্কতা পান যে Android SDK প্ল্যাটফর্ম API স্তর 34 অনুপস্থিত, 'Android SDK আপডেট করুন' বিকল্পটি নির্বাচন করুন৷

অ্যান্ড্রয়েড স্টুডিও খুলুন

এই বিভাগে Android স্টুডিওর মধ্যে সম্পাদিত পদক্ষেপ রয়েছে।

Gradle JDK কনফিগারেশন আপডেট করুন

ফাইল (বা MacOS এ অ্যান্ড্রয়েড স্টুডিও) > সেটিংস > বিল্ড > এক্সিকিউশন > ডিপ্লয়মেন্ট > বিল্ড টুলস > গ্রেডল থেকে গ্রেডল সেটিংস খুলুন। Gradle JDK ড্রপ-ডাউন সনাক্ত করুন এবং JDK 17 বা তার পরে ব্যবহার করার জন্য Gradle JDK সেট করুন।

Gradle JDK কনফিগারেশন আপডেট করুন

আপনার যদি JDK 17 ইনস্টল না থাকে, তাহলে Gradle JDK মেনু বার থেকে ডাউনলোড JDK বিকল্পগুলি নির্বাচন করুন এবং একটি সামঞ্জস্যপূর্ণ সংস্করণ ডাউনলোড করুন। অ্যান্ড্রয়েড স্টুডিও যা বিতরণ করে তা মেলানোর জন্য আমরা aarch64 সমর্থন সহ JetBrains রানটাইম বিক্রেতাকে সুপারিশ করি।

প্রকল্প-স্তরের build.gradle আপডেট করুন

Gradle টুলস সংস্করণ 8.1.1 বা তার পরবর্তীতে সেট করুন।


plugins {
    id 'com.android.application' version '8.1.1' apply false
    id 'com.android.library' version '8.1.1' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

/gradle/gradle-wrapper.properties আপডেট করুন

Gradle 8.1.1 বা নতুন ব্যবহার করতে distributionUrl সেট করুন।

distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip

launcher/build.gradle আপডেট করুন

  • launcher/AndroidManifest.xml থেকে package অ্যাট্রিবিউটের মান ব্যবহার করে namespace অ্যাট্রিবিউট সেট করুন
  • জাভা 17 এ sourceCompatibility এবং targetCompatibility সেট করুন

apply plugin: 'com.android.application'

dependencies {
    implementation project(':unityLibrary')
}

android {
    namespace "com.google.android.gms.example"
    compileSdkVersion 35
    buildToolsVersion '35.0.0'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    defaultConfig {
        minSdkVersion 28
        targetSdkVersion 35
        applicationId 'com.google.android.gms.example'
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
        versionCode 1
        versionName '1.0'
    }

    aaptOptions {
        noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp']
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }

    lintOptions {
        abortOnError false
    }

    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt')
            signingConfig signingConfigs.debug
            jniDebuggable true
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt')
            signingConfig signingConfigs.debug
        }
    }

    packagingOptions {
        doNotStrip '*/armeabi-v7a/*.so'
        doNotStrip '*/arm64-v8a/*.so'
        doNotStrip '*/x86/*.so'
        doNotStrip '*/x86_64/*.so'
        jniLibs {
            useLegacyPackaging true
        }
    }

    bundle {
        language {
            enableSplit = false
        }
        density {
            enableSplit = false
        }
        abi {
            enableSplit = true
        }
    }
}

apply from: '../unityLibrary/GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'

প্রকল্প-স্তরের settings.gradle আপডেট করুন

pluginManagement এবং dependencyResolutionManagement বিভাগ সেট করুন।


pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

include ':launcher', ':unityLibrary'
include 'unityLibrary:GoogleMobileAdsPlugin.androidlib'

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {

        google()
        mavenCentral()
        flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }
    }
}

unityLibrary/build.gradle আপডেট করুন

  • "com.unity3d.player" মান সহ namespace সেট করুন
  • JavaVersion.VERSION_17sourceCompatibility এবং targetCompatibility সেট করুন

    apply plugin: 'com.android.library'

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        // Android Resolver Dependencies Start
        implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
        implementation 'com.google.android.gms:play-services-ads:23.6.0'
        implementation 'com.google.android.ump:user-messaging-platform:3.1.0'
        // Android Resolver Dependencies End
        implementation(name: 'googlemobileads-unity', ext:'aar')
        implementation project('GoogleMobileAdsPlugin.androidlib')
    }

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

    android {
        namespace "com.unity3d.player"
        compileSdkVersion 34
        buildToolsVersion '30.0.2'

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_17
            targetCompatibility JavaVersion.VERSION_17
        }

        defaultConfig {
            minSdkVersion 28
            targetSdkVersion 34
            ndk {
                abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
            }
            versionCode 1
            versionName '1.0'
            consumerProguardFiles 'proguard-unity.txt'
        }

        lintOptions {
            abortOnError false
        }

        aaptOptions {
            ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
        }

        packagingOptions {
            doNotStrip '*/armeabi-v7a/*.so'
            doNotStrip '*/arm64-v8a/*.so'
            doNotStrip '*/x86_64/*.so'
        }
    }


    apply from: 'GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'
    gradle.projectsEvaluated { apply from: 'GoogleMobileAdsPlugin.androidlib/validate_dependencies.gradle' }

unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle আপডেট করুন

"com.google.unity.ads" মান দিয়ে namespace অ্যাট্রিবিউট সেট করুন।


apply plugin: 'android-library'

dependencies {
    implementation fileTree(dir: 'bin', include: ['.jar'])
    implementation fileTree(dir: 'libs', include: ['.jar'])
}

android {
    namespace "com.google.unity.ads"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            //java.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
    }

    compileSdkVersion 34
    buildToolsVersion '30.0.2'
    defaultConfig {
        targetSdkVersion 31
    }

    lintOptions {
        abortOnError false
    }
}

অ্যান্ড্রয়েড প্রজেক্ট চালান

অ্যান্ড্রয়েড স্টুডিও থেকে, গ্রেডল সিঙ্ক চালান এবং প্রকল্পটি চালান