小编Mr.*_*ter的帖子

Android - 欧盟Cookie法

即将推出的Google政策更改,迫使我们实施一个对话框,通知欧盟用户有关广告和分析的Cookie /设备标识符使用情况.我想只向欧盟用户展示此对话框.我不想使用其他权限(例如android.permission.ACCESS_COARSE_LOCATION).因此我创建了一个测试欧盟用户的功能:

Android的

boolean showCookieHint()
{
    final SharedPreferences settings = getSharedPreferences("localPreferences", Context.MODE_PRIVATE);
    if (settings.getBoolean("termsAccepted", true)  == false) return false;

    List<String> list = new ArrayList<String>();
    list.add("AT"); //Austria
    list.add("BE"); //Belgium
    list.add("BG"); //Bulgaria
    list.add("HR"); //Croatia
    list.add("CY"); //Cyprus
    list.add("CZ"); //Czech Republic
    list.add("DK"); //Denmark
    list.add("EE"); //Estonia
    list.add("FI"); //Finland
    list.add("FR"); //France
    list.add("GF"); //French Guiana
    list.add("PF"); //French Polynesia
    list.add("TF"); //French Southern Territories
    list.add("DE"); //Germany
    list.add("GR"); //Greece
    list.add("HU"); //Hungary
    list.add("IE"); //Ireland
    list.add("IT"); //Italy
    list.add("LV"); //Latvia
    list.add("LT"); //Lithuania
    list.add("LU"); //Luxembourg
    list.add("MT"); //Malta
    list.add("NL"); //Netherlands
    list.add("PL"); //Poland
    list.add("PT"); …
Run Code Online (Sandbox Code Playgroud)

cookies policy android adsense admob

17
推荐指数
1
解决办法
1380
查看次数

如何将 productFlavors 用于 android aab 包

我尝试通过 productFlavors 构建不同的 Android 应用程序包。为了保存和测试文件,我需要一个固定的文件名。

对于 APK,我有以下工作代码:

    applicationVariants.all { variant ->
    if (variant.buildType.name.equals("release")) {
        variant.outputs.all { output ->
            outputFileName = "${applicationId}-${versionCode}-${variant.flavorName}.apk"
        }
    }

    if (variant.getBuildType().isMinifyEnabled()) {
        variant.assemble.doLast {
            copy {
                from variant.mappingFile
                into variant.outputs[0].outputFile.parent
                rename { String fileName ->
                    "${applicationId}-${versionCode}-${variant.flavorName}-mapping.txt"
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不适用于捆绑。我尝试使用此代码使其正常工作:

tasks.whenTaskAdded { task ->
    if (task.name.startsWith("bundle")) {
        def renameTaskName = "rename${task.name.capitalize()}Aab"
        def flavor = task.name.substring("bundle".length()).uncapitalize()
        tasks.create(renameTaskName, Copy) {
            println android.defaultConfig.versionName
            def applicationId = android.defaultConfig.applicationId
            def versionCode = android.defaultConfig.versionCode

            def path = "${buildDir}/outputs/bundle/${flavor}/"
            from(path)
            include …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin android-app-bundle

8
推荐指数
1
解决办法
1519
查看次数