Skip to content

Commit

Permalink
Merge pull request #379 from adjust/v4180
Browse files Browse the repository at this point in the history
Version 4.18.0
  • Loading branch information
uerceg authored Jun 26, 2019
2 parents f4caeeb + 836a1fd commit 547a74e
Show file tree
Hide file tree
Showing 40 changed files with 613 additions and 496 deletions.
6 changes: 3 additions & 3 deletions Adjust/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@ ext {
coreMinSdkVersion = 9
coreCompileSdkVersion = 28
coreTargetSdkVersion = 28
coreVersionName = '4.17.0' //append -SNAPSHOT for snapshot version
coreVersionName = '4.18.0' //append -SNAPSHOT for snapshot version
defaultVersionCode = 1

// POM.
adjustGroupId = 'com.adjust.sdk'
}

buildscript {
ext.kotlin_version = '1.2.71'
ext.kotlin_version = '1.3.10'

repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle:3.4.1'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files.
Expand Down
2 changes: 1 addition & 1 deletion Adjust/example-app-java/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ dependencies {
// implementation project(':plugin-imei')
// implementation project(":plugin-play")
// Add SDK via Maven.
// implementation 'com.adjust.sdk:adjust-android:4.17.0'
// implementation 'com.adjust.sdk:adjust-android:4.18.0'

debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2'
Expand Down
4 changes: 2 additions & 2 deletions Adjust/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Wed Sep 26 14:50:43 CEST 2018
#Tue Apr 30 11:01:22 CEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
103 changes: 16 additions & 87 deletions Adjust/sdk-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,51 +26,36 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}

task adjustCoreAndroidAar (type: Copy) {
task adjustCoreAarRelease(type: Copy) {
dependsOn 'assembleRelease'

from('build/outputs/aar/')
include 'sdk-core-release.aar'
destinationDir file('build/libs/')
rename 'sdk-core-release.aar', "${project.name}.aar"
rename 'sdk-core-release.aar', 'adjust-sdk-release.aar'
}

task adjustSdkNonNativeAarDebug (type: Copy) {
task adjustCoreAarDebug(type: Copy) {
dependsOn 'assembleDebug'

from ('build/outputs/aar/')
from('build/outputs/aar/')
include 'sdk-core-debug.aar'
destinationDir file('build/libs/')
rename 'sdk-core-debug.aar', "adjust-sdk-debug.aar"
rename 'sdk-core-debug.aar', 'adjust-sdk-debug.aar'
}

task adjustSdkNonNativeAarRelease (type: Copy) {
dependsOn 'assembleRelease'

from ('build/outputs/aar/')
include 'sdk-core-release.aar'
destinationDir file('build/libs/')
rename 'sdk-core-release.aar', "adjust-sdk-release.aar"
}

task adjustCoreAndroidJar(type: Jar) {
task adjustCoreJarRelease(type: Jar) {
dependsOn 'compileReleaseJavaWithJavac'
from('build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/')
archiveName "${project.name}.jar"
archiveName "adjust-sdk-release.jar"
}

task adjustSdkNonNativeJarDebug(type: Jar) {
task adjustCoreJarDebug(type: Jar) {
dependsOn 'compileDebugJavaWithJavac'
from('build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/')
archiveName "adjust-sdk-debug.jar"
}

task adjustSdkNonNativeJarRelease(type: Jar) {
dependsOn 'compileReleaseJavaWithJavac'
from('build/intermediates/javac/release/compileReleaseJavaWithJavac/classes/')
archiveName "adjust-sdk-release.jar"
}

task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
Expand All @@ -92,7 +77,7 @@ task adjustCoreAndroidSourcesJar(type: Jar) {
}

artifacts {
archives adjustCoreAndroidJar
archives adjustCoreJarRelease
archives adjustCoreAndroidJavadocsJar
archives adjustCoreAndroidSourcesJar
}
Expand All @@ -105,41 +90,7 @@ publishing {
artifactId 'adjust-android'
version rootProject.ext.coreVersionName

// Create the signed POM artifact.
pom.withXml {
def pomFile = file("${project.buildDir}/generated-pom.xml")
writeTo(pomFile)
def pomAscFile = signing.sign(pomFile).signatureFiles[0]
artifact(pomAscFile) {
classifier = null
extension = 'pom.asc'
}
}

// Create the signed artifacts.
project.tasks.signArchives.signatureFiles.each {
// Exclude "usual" archive artifact .aar.
def signFileName = it.toString()
if (signFileName.contains('aar')) {
return
}
// Create a Maven artifact for each asc signature.
artifact(it) {
//println "archive name ${signFileName}"
if (signFileName.contains('-sources')) {
classifier = 'sources'
extension = 'jar.asc'
} else if (signFileName.contains('-javadoc')) {
classifier = 'javadoc'
extension = 'jar.asc'
} else {
classifier = null
extension = 'jar.asc'
}
}
}

artifact adjustCoreAndroidJar
artifact adjustCoreJarRelease
artifact adjustCoreAndroidJavadocsJar
artifact adjustCoreAndroidSourcesJar
}
Expand All @@ -161,33 +112,6 @@ publishing {
}
}

// Create the signed artifacts.
project.tasks.signArchives.signatureFiles.each {
// Exclude "usual" archive artifact .aar.
def signFileName = it.toString()
println "signArchives name ${signFileName}"

if (signFileName.contains('sdk-core.jar')) {
return
}

// Create a Maven artifact for each asc signature.
artifact(it) {
//println "archive name ${signFileName}"
if (signFileName.contains('-sources')) {
classifier = 'sources'
extension = 'jar.asc'
} else if (signFileName.contains('-javadoc')) {
classifier = 'javadoc'
extension = 'jar.asc'
} else {
classifier = null
extension = 'aar.asc'
}
}
}

//artifact adjustCoreAndroidJar
artifact("$buildDir/outputs/aar/sdk-core-release.aar")
artifact adjustCoreAndroidJavadocsJar
artifact adjustCoreAndroidSourcesJar
Expand Down Expand Up @@ -295,23 +219,28 @@ model {
tasks.generatePomFileForMavenAndroidCorePublication {
destination = file("${project.buildDir}/generated-pom.xml")
}
/* TODO check if/how to replace this tasks
tasks.publishMavenAndroidCorePublicationToMavenLocal {
dependsOn project.tasks.signArchives
}
tasks.publishMavenAndroidCorePublicationToMavenRepository {
dependsOn project.tasks.signArchives
}
*/
tasks.generatePomFileForMavenAndroidCoreAARPublication {
destination = file("${project.buildDir}/generated-pom.xml")
}
/* TODO check if/how to replace this tasks
tasks.publishMavenAndroidCoreAARPublicationToMavenLocal {
dependsOn project.tasks.signArchives
}
tasks.publishMavenAndroidCoreAARPublicationToMavenRepository {
dependsOn project.tasks.signArchives
}
*/
}

signing {
sign configurations.archives
sign publishing.publications.mavenAndroidCore
sign publishing.publications.mavenAndroidCoreAAR
}
16 changes: 3 additions & 13 deletions Adjust/sdk-core/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.adjust.sdk">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application>
<receiver android:name="com.adjust.sdk.AdjustReferrerReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.adjust.sdk">
</manifest>
27 changes: 27 additions & 0 deletions Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import com.adjust.sdk.scheduler.TimerCycle;
import com.adjust.sdk.scheduler.TimerOnce;

import org.json.JSONObject;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.LinkedHashMap;
Expand Down Expand Up @@ -606,6 +608,17 @@ public void run() {
});
}

@Override
public void trackAdRevenue(final String source, final JSONObject adRevenueJson) {
executor.submit(new Runnable() {
@Override
public void run() {
trackAdRevenueI(source, adRevenueJson);
}
});
}


@Override
public void gotOptOutResponse() {
executor.submit(new Runnable() {
Expand Down Expand Up @@ -1866,6 +1879,20 @@ private void gdprForgetMeI() {
}
}

private void trackAdRevenueI(String source, JSONObject adRevenueJson) {
if (!checkActivityStateI(activityState)) { return; }
if (!isEnabledI()) { return; }
if (activityState.isGdprForgotten) { return; }

long now = System.currentTimeMillis();

PackageBuilder packageBuilder = new PackageBuilder(adjustConfig, deviceInfo, activityState, sessionParameters, now);

ActivityPackage adRevenuePackage = packageBuilder.buildAdRevenuePackage(source, adRevenueJson);
packageHandler.addPackage(adRevenuePackage);
packageHandler.sendFirstPackage();
}

private void gotOptOutResponseI() {
activityState.isGdprForgotten = true;
writeActivityStateI();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.adjust.sdk;

public enum ActivityKind {
UNKNOWN, SESSION, EVENT, CLICK, ATTRIBUTION, REVENUE, REATTRIBUTION, INFO, GDPR;
UNKNOWN, SESSION, EVENT, CLICK, ATTRIBUTION, REVENUE, REATTRIBUTION, INFO, GDPR, AD_REVENUE;

public static ActivityKind fromString(String string) {
if ("session".equals(string)) {
Expand All @@ -16,6 +16,8 @@ public static ActivityKind fromString(String string) {
return INFO;
} else if ("gdpr".equals(string)) {
return GDPR;
} else if ("ad_revenue".equals(string)) {
return AD_REVENUE;
} else {
return UNKNOWN;
}
Expand All @@ -36,6 +38,8 @@ public String toString() {
return "info";
case GDPR:
return "gdpr";
case AD_REVENUE:
return "ad_revenue";
default:
return "unknown";
}
Expand Down
15 changes: 14 additions & 1 deletion Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import android.content.Context;
import android.net.Uri;

import org.json.JSONObject;

/**
* The main interface to Adjust.
* Use the methods of this class to tell Adjust about the usage of your app.
Expand Down Expand Up @@ -30,7 +32,7 @@ private Adjust() {
*/
public static synchronized AdjustInstance getDefaultInstance() {
@SuppressWarnings("unused")
String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:4.17.0";
String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:4.18.0";

if (defaultInstance == null) {
defaultInstance = new AdjustInstance();
Expand Down Expand Up @@ -237,6 +239,17 @@ public static void gdprForgetMe(final Context context) {
adjustInstance.gdprForgetMe(context);
}

/**
* Track ad revenue from a source provider
*
* @param source Source of ad revenue information, see AdjustConfig.AD_REVENUE_* for some possible sources
* @param payload JsonObject content of the ad revenue information
*/
public static void trackAdRevenue(final String source, final JSONObject payload) {
AdjustInstance adjustInstance = Adjust.getDefaultInstance();
adjustInstance.trackAdRevenue(source, payload);
}

/**
* Called to get value of Google Play Advertising Identifier.
*
Expand Down
19 changes: 19 additions & 0 deletions Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,25 @@ public class AdjustConfig {
public static final String ENVIRONMENT_SANDBOX = "sandbox";
public static final String ENVIRONMENT_PRODUCTION = "production";

public static final String AD_REVENUE_MOPUB = "mopub";
public static final String AD_REVENUE_ADMOB = "admob";
public static final String AD_REVENUE_FB_NATIVE_AD = "facebook_native_ad";
public static final String AD_REVENUE_IRONSOURCE = "ironsource";
public static final String AD_REVENUE_FYBER = "fyber";
public static final String AD_REVENUE_AERSERV = "aerserv";
public static final String AD_REVENUE_APPODEAL = "appodeal";
public static final String AD_REVENUE_ADINCUBE = "adincube";
public static final String AD_REVENUE_FUSE_POWERED = "fusepowered";
public static final String AD_REVENUE_ADDAPTR = "addapptr";
public static final String AD_REVENUE_MILLENNIAL_MEDITATION = "millennial_mediation";
public static final String AD_REVENUE_FLURRY = "flurry";
public static final String AD_REVENUE_ADMOST = "admost";
public static final String AD_REVENUE_DELTADNA = "deltadna";
public static final String AD_REVENUE_UPSIGHT = "upsight";
public static final String AD_REVENUE_UNITYADS = "unityads";
public static final String AD_REVENUE_ADTOAPP = "adtoapp";
public static final String AD_REVENUE_TAPDAQ = "tapdaq";

public AdjustConfig(Context context, String appToken, String environment) {
init(context, appToken, environment, false);
}
Expand Down
4 changes: 2 additions & 2 deletions Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ private static boolean checkEventToken(String eventToken, ILogger logger) {
logger.error("Missing Event Token");
return false;
}
if (eventToken.length() != 6) {
logger.error("Malformed Event Token '%s'", eventToken);
if (eventToken.length() <= 0) {
logger.error("Event Token can't be empty");
return false;
}
return true;
Expand Down
Loading

0 comments on commit 547a74e

Please sign in to comment.