Skip to content

Commit

Permalink
Merge pull request adjust#61 from adjust/device_ids
Browse files Browse the repository at this point in the history
Device ids
  • Loading branch information
nonelse committed Feb 12, 2016
2 parents 368aba4 + 4b89eec commit 51296a7
Show file tree
Hide file tree
Showing 21 changed files with 347 additions and 39 deletions.
25 changes: 24 additions & 1 deletion Assets/Adjust/Adjust.cs
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ public static void setOfflineMode (bool enabled)

Adjust.instance.setOfflineMode (enabled);
}


// iOS specific methods
public static void setDeviceToken (string deviceToken)
{
if (Adjust.instance == null) {
Expand All @@ -152,6 +153,17 @@ public static void setDeviceToken (string deviceToken)
Adjust.instance.setDeviceToken (deviceToken);
}

public static string getIdfa ()
{
if (Adjust.instance == null) {
Debug.Log (Adjust.errorMessage);
return null;
}

return Adjust.instance.getIdfa ();
}

// Android specific methods
public static void setReferrer (string referrer)
{
if (Adjust.instance == null) {
Expand All @@ -162,6 +174,17 @@ public static void setReferrer (string referrer)
Adjust.instance.setReferrer (referrer);
}

public static void getGoogleAdId (Action<string> onDeviceIdsRead)
{
if (Adjust.instance == null) {
Debug.Log (Adjust.errorMessage);
return;
}

Adjust.instance.getGoogleAdId (onDeviceIdsRead);
}


#endregion

#region Attribution callback
Expand Down
52 changes: 48 additions & 4 deletions Assets/Adjust/Android/AdjustAndroid.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace com.adjust.sdk
#if UNITY_ANDROID
public class AdjustAndroid : IAdjust
{
private const string sdkPrefix = "unity4.1.2";
private const string sdkPrefix = "unity4.1.3";
private AndroidJavaClass ajcAdjust;
private AndroidJavaObject ajoCurrentActivity;
private AttributionChangeListener onAttributionChangedListener;
Expand Down Expand Up @@ -42,6 +42,38 @@ public void onAttributionChanged (AndroidJavaObject attribution)
}
}

private class DeviceIdsReadListener : AndroidJavaProxy
{
private Action<string> onPlayAdIdReadCallback;

public DeviceIdsReadListener (Action<string> pCallback) : base("com.adjust.sdk.OnDeviceIdsRead")
{
this.onPlayAdIdReadCallback = pCallback;
}

public void onGoogleAdIdRead(string playAdId)
{
if (onPlayAdIdReadCallback == null) {
return;
}

this.onPlayAdIdReadCallback(playAdId);
}

// null object
public void onGoogleAdIdRead(AndroidJavaObject ajo)
{
if (ajo == null) {
string adId = null;
this.onGoogleAdIdRead(adId);

return;
}

this.onGoogleAdIdRead(ajo.Call<string> ("toString"));
}
}

public AdjustAndroid ()
{
ajcAdjust = new AndroidJavaClass ("com.adjust.sdk.Adjust");
Expand Down Expand Up @@ -69,8 +101,8 @@ public void start (AdjustConfig adjustConfig)

AndroidJavaObject ajoAdjustConfig = new AndroidJavaObject ("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, ajoEnvironment);

if (adjustConfig.logLevel != null) {
AndroidJavaObject ajoLogLevel = new AndroidJavaClass ("com.adjust.sdk.LogLevel").GetStatic<AndroidJavaObject> (adjustConfig.logLevel.ToString().ToUpper());
if (adjustConfig.logLevel.HasValue) {
AndroidJavaObject ajoLogLevel = new AndroidJavaClass ("com.adjust.sdk.LogLevel").GetStatic<AndroidJavaObject> (adjustConfig.logLevel.Value.uppercaseToString());

if (ajoLogLevel != null) {
ajoAdjustConfig.Call ("setLogLevel", ajoLogLevel);
Expand Down Expand Up @@ -135,14 +167,26 @@ public void setOfflineMode (bool enabled)
ajcAdjust.CallStatic ("setOfflineMode", enabled);
}

// Android specific methods
public void setReferrer(string referrer)
{
ajcAdjust.CallStatic ("setReferrer", referrer);
}

public void setDeviceToken(string deviceToken)
public void getGoogleAdId (Action<string> onDeviceIdsRead)
{
DeviceIdsReadListener onDeviceIdsReadProxy = new DeviceIdsReadListener(onDeviceIdsRead);

ajcAdjust.CallStatic("getGoogleAdId", ajoCurrentActivity, onDeviceIdsReadProxy);
}

// iOS specific methods
public void setDeviceToken(string deviceToken)
{ }

public string getIdfa()
{
return null;
}

#endregion
Expand Down
5 changes: 2 additions & 3 deletions Assets/Adjust/Android/AdjustAndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
android:installLocation="preferExternal"
android:theme="@android:style/Theme.NoTitleBar"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
Expand All @@ -14,6 +13,7 @@
android:anyDensity="true"/>

<application
android:theme="@style/UnityThemeSelector"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:debuggable="true">
Expand All @@ -24,14 +24,13 @@
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
Expand Down
Binary file modified Assets/Adjust/Android/adjust-android.jar
Binary file not shown.
22 changes: 16 additions & 6 deletions Assets/Adjust/Metro/AdjustMetro.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace com.adjust.sdk
{
public class AdjustMetro : IAdjust
{
private const string sdkPrefix = "unity4.1.2";
private const string sdkPrefix = "unity4.1.3";

public bool isEnabled()
{
Expand All @@ -36,7 +36,7 @@ public void start(AdjustConfig adjustConfig)
string logLevelString = null;
if (adjustConfig.logLevel != null)
{
logLevelString = adjustConfig.logLevel.ToString();
logLevelString = adjustConfig.lowercaseToString();
}

Action<Dictionary<string, string>> attributionChangedDictionary = null;
Expand All @@ -45,10 +45,12 @@ public void start(AdjustConfig adjustConfig)
attributionChangedDictionary = (attributionDictionary) => Adjust.runAttributionChangedDictionary(attributionDictionary);
}

string environment = adjustConfig.environment.lowercaseToString ();

AdjustWS.ApplicationLaunching (
appToken: adjustConfig.appToken,
logLevelString: logLevelString,
environment: adjustConfig.environment.ToString ().ToLower (),
environment: environment,
defaultTracker: adjustConfig.defaultTracker,
eventBufferingEnabled: adjustConfig.eventBufferingEnabled,
sdkPrefix: sdkPrefix,
Expand All @@ -66,10 +68,18 @@ public void trackEvent (AdjustEvent adjustEvent)
partnerList: adjustEvent.partnerList
);
}
// iOS specific methods
public void setDeviceToken (string deviceToken) {}
// iOS specific methods
public void setDeviceToken (string deviceToken) { }

public string getIdfa()
{
return null;
}

// Android specific methods
public void setReferrer (string referrer) {}
public void setReferrer (string referrer) { }

public void getGoogleAdId (Action<string> onDeviceIdsRead) { }
}
}
#endif
16 changes: 16 additions & 0 deletions Assets/Adjust/Unity/AdjustEnvironment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,20 @@ public enum AdjustEnvironment
Sandbox,
Production
}

public static class AdjustEnvironmentExtension
{
public static string lowercaseToString(this AdjustEnvironment adjustEnvironment)
{
switch (adjustEnvironment)
{
case AdjustEnvironment.Sandbox:
return "sandbox";
case AdjustEnvironment.Production:
return "production";
default:
return "unknown";
}
}
}
}
46 changes: 46 additions & 0 deletions Assets/Adjust/Unity/AdjustLogLevel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,50 @@ public enum AdjustLogLevel
Error,
Assert
}
public static class AdjustLogLevelExtension
{
public static string lowercaseToString(this AdjustLogLevel AdjustLogLevel)
{
switch (AdjustLogLevel)
{
case AdjustLogLevel.Verbose:
return "verbose";
case AdjustLogLevel.Debug:
return "debug";
case AdjustLogLevel.Info:
return "info";
case AdjustLogLevel.Warn:
return "warn";
case AdjustLogLevel.Error:
return "error";
case AdjustLogLevel.Assert:
return "assert";
default:
return "unknown";
}
}

public static string uppercaseToString(this AdjustLogLevel AdjustLogLevel)
{
switch (AdjustLogLevel)
{
case AdjustLogLevel.Verbose:
return "VERBOSE";
case AdjustLogLevel.Debug:
return "DEBUG";
case AdjustLogLevel.Info:
return "INFO";
case AdjustLogLevel.Warn:
return "WARN";
case AdjustLogLevel.Error:
return "ERROR";
case AdjustLogLevel.Assert:
return "ASSERT";
default:
return "unknown";
}
}

}

}
2 changes: 2 additions & 0 deletions Assets/Adjust/Unity/IAdjust.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@ public interface IAdjust

// iOS specific methods
void setDeviceToken (string deviceToken);
string getIdfa ();

// Android specific methods
void setReferrer (string referrer);
void getGoogleAdId (Action<string> onDeviceIdsRead);
}
}
20 changes: 15 additions & 5 deletions Assets/Adjust/WP8/AdjustWP8.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace com.adjust.sdk
{
public class AdjustWP8 : IAdjust
{
private const string sdkPrefix = "unity4.1.2";
private const string sdkPrefix = "unity4.1.3";

public bool isEnabled()
{
Expand All @@ -36,7 +36,7 @@ public void start(AdjustConfig adjustConfig)
string logLevelString = null;
if (adjustConfig.logLevel != null)
{
logLevelString = adjustConfig.logLevel.ToString();
logLevelString = adjustConfig.logLevel.lowercaseToString();
}

Action<Dictionary<string, string>> attributionChangedDictionary = null;
Expand All @@ -45,10 +45,12 @@ public void start(AdjustConfig adjustConfig)
attributionChangedDictionary = (attributionDictionary) => Adjust.runAttributionChangedDictionary(attributionDictionary);
}

string environment = adjustConfig.environment.lowercaseToString ();

AdjustWP.ApplicationLaunching (
appToken: adjustConfig.appToken,
logLevelString: logLevelString,
environment: adjustConfig.environment.ToString ().ToLower (),
environment: environment,
defaultTracker: adjustConfig.defaultTracker,
eventBufferingEnabled: adjustConfig.eventBufferingEnabled,
sdkPrefix: sdkPrefix,
Expand All @@ -68,8 +70,16 @@ public void trackEvent (AdjustEvent adjustEvent)
}
// iOS specific methods
public void setDeviceToken(string deviceToken) { }
// Android specific methods
public void setReferrer(string referrer) { }

public string getIdfa()
{
return null;
}

// Android specific methods
public void setReferrer (string referrer) { }

public void getGoogleAdId (Action<string> onDeviceIdsRead) { }
}
}
#endif
6 changes: 3 additions & 3 deletions Assets/Adjust/iOS/ADJConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
* You can increase or reduce the amount of logs from Adjust by passing
* one of the following parameters. Use Log.ASSERT to disable all logging.
*
* @param logLevel The desired minimum log level (default: info)
* @var logLevel The desired minimum log level (default: info)
* Must be one of the following:
* - ADJLogLevelVerbose (enable all logging)
* - ADJLogLevelDebug (enable more logging)
Expand All @@ -68,7 +68,7 @@
* When enabled, events get buffered and only get tracked each
* minute. Buffered events are still persisted, of course.
*
* @param eventBufferingEnabled Enable or disable event buffering
* @var eventBufferingEnabled Enable or disable event buffering
*/
@property (nonatomic, assign) BOOL eventBufferingEnabled;

Expand All @@ -77,7 +77,7 @@
*
* See the AdjustDelegate declaration above for details
*
* @param delegate The delegate that might implement the optional delegate
* @var delegate The delegate that might implement the optional delegate
* methods like adjustAttributionChanged:
*/
@property (nonatomic, weak) NSObject<AdjustDelegate> *delegate;
Expand Down
2 changes: 1 addition & 1 deletion Assets/Adjust/iOS/ADJEvent.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
/**
* Create Event object with Event Token.
*
* @param event Event token that is created in the dashboard
* @param eventToken Event token that is created in the dashboard
* at http://adjust.com and should be six characters long.
*/
+ (ADJEvent *)eventWithEventToken:(NSString *)eventToken;
Expand Down
Loading

0 comments on commit 51296a7

Please sign in to comment.