Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V4100 #222

Merged
merged 48 commits into from
Sep 13, 2016
Merged

V4100 #222

Changes from 1 commit
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
a2cb24c
Update tests
nonelse May 23, 2016
c866495
Read files on the background
nonelse Jul 27, 2016
31e1795
Close and flush connections
nonelse Jul 27, 2016
6622920
Replace thread sleep
nonelse Jul 28, 2016
f6c52b9
Delay start
nonelse Jul 28, 2016
426adcd
Parameter builder static
nonelse Jul 28, 2016
1f7a07d
Add Session parameters
nonelse Jul 28, 2016
1485580
Remove session parameters
nonelse Jul 29, 2016
92201cb
Cache session parameters before start
nonelse Jul 29, 2016
9441414
Update delay packages
nonelse Aug 1, 2016
4200db0
Attribution deferred deeplink
nonelse Aug 1, 2016
a34927f
Loglevel Supress
nonelse Aug 2, 2016
7956c3d
Rename internal functions
nonelse Aug 3, 2016
086faf6
Teardown
nonelse Aug 3, 2016
2508959
Replace HandlerThread for ExecutorService
nonelse Aug 4, 2016
a55b452
Add read permission
nonelse Aug 4, 2016
377542d
Wrap executor
nonelse Aug 5, 2016
bdadb11
Generalize hash and equal helpers
nonelse Aug 24, 2016
dd200ec
Remove duplicate purchases
nonelse Aug 24, 2016
d827511
Redefine sending and pausing conditions
nonelse Aug 24, 2016
049fd5f
Clean logs
nonelse Aug 24, 2016
ed9d2bd
Update android versions
nonelse Aug 29, 2016
8808df3
Add debug tools to example app
nonelse Aug 29, 2016
4990c35
Update android versions
nonelse Aug 29, 2016
903b0b0
Update README.md
nonelse Aug 29, 2016
ce1f870
Check queue size
nonelse Aug 29, 2016
f111c83
Tests
nonelse Aug 24, 2016
624d322
Create CHANGELOG.md
nonelse Aug 30, 2016
7d271a5
Weak refs for response handlers
nonelse Aug 30, 2016
5a307f4
Weak refs for executor in timers
nonelse Aug 30, 2016
c4ec889
Replace activity state clone
nonelse Aug 30, 2016
0b59ff0
Explicit connect
nonelse Aug 31, 2016
c4a1ee7
Add user agent
nonelse Aug 31, 2016
f602373
New version v4.9.0
nonelse Aug 31, 2016
65ac5cd
Static init date formatter
nonelse Aug 31, 2016
7e1b0fa
Delete class not needed
nonelse Sep 5, 2016
2e17f68
Extract click time
nonelse Sep 5, 2016
c25002a
Send push token
nonelse Sep 5, 2016
d2d2bca
Remove external device id
nonelse Sep 5, 2016
3b518be
Update tests
nonelse Sep 5, 2016
9062bdc
Light cleanup
nonelse Sep 5, 2016
79568a4
Build tools 24.0.2
Sep 8, 2016
9360e87
Check Assert log level
nonelse Sep 12, 2016
d9cacb8
Update warning log
nonelse Sep 13, 2016
8212d0a
New version v4.10.0
nonelse Sep 13, 2016
fcfc701
Update README.md
uerceg Sep 13, 2016
99c5a38
Removing CHANGELOG.md
Sep 13, 2016
d191c06
englishafy
Sep 13, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update README.md
nonelse committed Aug 31, 2016
commit 903b0b065a82c4181d44d1b83f2ebc8f9370ef20
118 changes: 109 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -29,6 +29,11 @@ our [Android web views SDK guide](doc/web_views.md).
* [In-App Purchase verification](#iap-verification)
* [Callback parameters](#callback-parameters)
* [Partner parameters](#partner-parameters)
* [Session parameters](#session-parameters)
* [Session callback parameters](#session-callback-parameters)
* [Session partner parameters](#session-partner-parameters)
* [External device id](#external-device-id)
* [Delay start](#delay-start)
* [Attribution callback](#attribution-callback)
* [Session and event callbacks](#session-event-callbacks)
* [Disable tracking](#disable-tracking)
@@ -367,7 +372,7 @@ future. Depending on your coding style you might want to implement this in a com

### <a id="adjust-logging"></a>Adjust Logging

You can increase or decrease the amount of logs you see in tests by calling `setLogLevel` on your `AdjustConfig` instance
You can increase or decrease the amount of logs that you see during testing by calling `setLogLevel` on your `AdjustConfig` instance
with one of the following parameters:

```java
@@ -419,7 +424,7 @@ choice. Read more about [currency conversion here.][currency-conversion]

You can read more about revenue and event tracking in the [event tracking guide.][event-tracking]

The event instance can be used to configure the event even more before tracking it.
The event instance can be used to configure the event further before tracking it:

#### <a id="iap-verification">In-App Purchase verification

@@ -430,7 +435,7 @@ receipt verification tool, then check out our Android purchase SDK to read more
#### <a id="callback-parameters">Callback parameters

You can register a callback URL for your events in your [dashboard]. We will send a GET request to that URL whenever the
event gets tracked. You can add callback parameters to that event by calling `addCallbackParameter` on the event instance
event is tracked. You can add callback parameters to that event by calling `addCallbackParameter` to the event instance
before tracking it. We will then append these parameters to your callback URL.

For example, suppose you have registered the URL `http://www.adjust.com/callback` then track an event like this:
@@ -452,15 +457,14 @@ http://www.adjust.com/callback?key=value&foo=bar

It should be mentioned that we support a variety of placeholders like `{gps_adid}` that can be used as parameter values.
In the resulting callback this placeholder would be replaced with the Google Play Services ID of the current device. Also
note that we don't store any of your custom parameters, but only append them to your callbacks. If you haven't registered a
callback for an event, these parameters won't even be read.
note that we don't store any of your custom parameters, but only append them to your callbacks. If you haven't registered a callback for an event, these parameters won't even be read.

You can read more about using URL callbacks, including a full list of available values, in our
[callbacks guide][callbacks-guide].

#### <a id="partner-parameters">Partner parameters

You can also add parameters to be transmitted to network partners, for the integrations that have been activated in your
You can also add parameters to be transmitted to network partners, which have been activated in your
adjust dashboard.

This works similarly to the callback parameters mentioned above, but can be added by calling the `addPartnerParameter`
@@ -477,6 +481,102 @@ Adjust.trackEvent(event);

You can read more about special partners and these integrations in our [guide to special partners.][special-partners]

### <a id="session-parameters">Set up session parameters

Some parameters are saved to be send in every event and session of the adjust SDK.
Once you have add any of these parameters, you don't need to add them every time, since they will be saved locally.
If you add the same parameter twice, there will be no effect.

These session parameters can be called before the adjust SDK is launched to make sure they are send even on install.
If you need to send them with an install, but can only obtain the needed values after launch, it's possible to [delay](#delay-start) the first launch of the adjust SDK to allow this behaviour.

#### <a id="session-callback-parameters"> Session callback parameters

The same callback parameters that are registered for [events](#callback-parameters) can be also saved to be sent in every event or session of the adjust SDK.

The session callback parameters have a similar interface of the event callback parameters.
Instead of adding the key and it's value to an event, it's added through a call to `Adjust.addSessionCallbackParameter(String key, String value)`:

```java
Adjust.addSessionCallbackParameter("foo", "bar");
```

The session callback parameters will be merged with the callback parameters added to an event.
The callback parameters added to an event have precedence over the session callback parameters.
Meaning that, when adding a callback parameter to an event with the same key to one added from the session, the value that prevails is the callback parameter added to the event.

It's possible to remove a specific session callback parameter by passing the desiring key to the method `Adjust.removeSessionCallbackParameter(String key)`.

```java
Adjust.removeSessionCallbackParameter("foo");
```

If you wish to remove all key and values from the session callback parameters, you can reset it with the method `Adjust.resetSessionCallbackParameters()`.

```java
Adjust.resetSessionCallbackParameters();
```

#### <a id="session-partner-parameters"> Session partner parameters

In the same way that there is [session callback parameters](#session-callback-parameters) that are send every in event or session of the adjust SDK, there is also session partner parameters.

These will be transmitted to network partners, for the integrations that have been activated in your adjust [dashboard].

The session partner parameters have a similar interface of the event partner parameters.
Instead of adding the key and it's value to an event, it's added through a call to `Adjust.addSessionPartnerParameter(String key, String value)`:

```java
Adjust.addSessionPartnerParameter("foo", "bar");
```

The session partner parameters will be merged with the partner parameters added to an event.
The partner parameters added to an event have precedence over the session partner parameters.
Meaning that, when adding a partner parameter to an event with the same key to one added from the session, the value that prevails is the partner parameter added to the event.

It's possible to remove a specific session partner parameter by passing the desiring key to the method `Adjust.removeSessionPartnerParameter(String key)`.

```java
Adjust.removeSessionPartnerParameter("foo");
```

If you wish to remove all key and values from the session partner parameters, you can reset it with the method `Adjust.resetSessionPartnerParameters()`.

```java
Adjust.resetSessionPartnerParameters();
```

#### <a id="external-device-id"> External device id

The adjust SDK uses device ids that are available from iOS, but your app might have other sources of identifiers that can help features like ad conversion.

To save your unique identifier in the session parameters that are send in every request and session, call the `Adjust.addExternalDeviceId(String externalDeviceId)` method:

```java
Adjust.addExternalDeviceId("customDeviceId");
```

It's also possible to remove the saved unique identifier by calling the method `Adjust.resetExternalDeviceId()`:

```java
Adjust.resetExternalDeviceId();
```

#### <a id="delay-start"> Delay start

Delaying the start of the adjust SDK allows your app some time to obtain session parameters, such as unique identifiers, to be send on install.

Set the initial delay time in seconds with the method `setDelayStart` in the `AdjustConfig` instance:

```java
adjustConfig.setDelayStart(5.5);
```

In this case this will make the adjust SDK not send the initial install session and any event created for 5.5 seconds.
After this time is expired or if you call `Adjust.sendFirstPackages()` in the meanwhile, every session parameter will be added to the delayed install session and events and the adjust SDK will resume as usual.

The maximum delay start time of the adjust SDK is 10 seconds.

### <a id="attribution-callback"></a>Attribution callback

You can register a listener to be notified of tracker attribution changes. Due to the different sources considered for
@@ -507,7 +607,7 @@ config.setOnAttributionChangedListener(this);
Adjust.onCreate(config);
```

The listener function will be called when the SDK receives the final attribution information. Within the listener function
The listener function will be called after the SDK receives the final attribution data. Within the listener function
you have access to the `attribution` parameter. Here is a quick summary of its properties:

- `String trackerToken` the tracker token of the current install.
@@ -577,7 +677,7 @@ Both event response data objects contain:

And both event and session failed objects also contain:

- `boolean willRetry` indicates there will be an attempt to resend the package at a later time.
- `boolean willRetry` indicates that will be an attempt to resend the package at a later time.

### <a id="disable-tracking"></a>Disable tracking

@@ -604,7 +704,7 @@ Adjust.setOfflineMode(true);
```

Conversely, you can deactivate offline mode by calling `setOfflineMode` with `false`. When the adjust SDK is put back in
online mode, all saved information is send to our servers with the correct time information.
online mode, all saved information is sent to our servers with the correct time information.

Unlike disabling tracking, this setting is **not remembered** between sessions. This means that the SDK is in online mode
whenever it is started, even if the app was terminated in offline mode.