Skip to content

Commit a60a081

Browse files
author
Conor O'Donnell
committed
Released version 3.0.19
1 parent fe16711 commit a60a081

File tree

8 files changed

+173
-20
lines changed

8 files changed

+173
-20
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Changelog
22

3+
## Version 3.0.19
4+
5+
23-01-2017
6+
* Fixed NPE on some devices (https://github.com/intercom/intercom-android/issues/304)
7+
* Fixed aliasing in some Drawables (https://github.com/intercom/intercom-android/issues/303)
8+
* Fixed crash caused by permission issues in other apps (https://github.com/intercom/intercom-android/issues/302)
9+
* Fixed temporary memory leak (https://github.com/intercom/intercom-android/issues/297)
10+
* Fixed messages showing after a conversation has been read (https://github.com/intercom/intercom-android/issues/243)
11+
* Fixed sounds playing multiple times for the same notification
12+
* Fixed attachment upload icon being incorrectly hidden
13+
* Improved logging for developers
14+
* Better support for `singleTask` and `singleInstance` Activities
15+
* Fixed incorrect delays when changing visibility of in-app notifications and launcher
16+
* Optimised networking code
17+
* Updated localisation
18+
319
## Version 3.0.18
420

521
09-01-2017

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,6 @@ You can also include [VIBRATE](http://developer.android.com/reference/android/Ma
7777
<uses-permission android:name="android.permission.VIBRATE"/>
7878
```
7979

80-
## Changing from versions older than Android SDK v1.1.0
81-
82-
Before version 1.1.0 of our Android SDK was released we included Google’s GCM library with our base library in a single bundle called *intercom-sdk*. From version 1.1.0 onward we separated the GCM (*intercom-sdk-gcm*) and base (*intercom-sdk-base*) libraries so that anyone who didn’t need GCM wasn't forced to include it as a dependency. The *intercom-sdk* package reference is still valid for anyone who would like to continue using it.
83-
8480
## Dependency graph
8581

8682
Here is our complete dependency graph:
Binary file not shown.
Binary file not shown.
Binary file not shown.

docs/deprecated-list.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ <h2 title="Contents">Contents</h2>
9595
<div class="block"><span class="deprecationComment">replaced with <a href="io/intercom/android/sdk/Intercom.html#handlePushMessage-android.app.TaskStackBuilder-"><code>Intercom.handlePushMessage(TaskStackBuilder)</code></a></span></div>
9696
</td>
9797
</tr>
98+
<tr class="altColor">
99+
<td class="colOne"><a href="io/intercom/android/sdk/Intercom.html#updateUser-java.util.Map-">io.intercom.android.sdk.Intercom.updateUser(Map&lt;String, ?&gt;)</a></td>
100+
</tr>
98101
</tbody>
99102
</table>
100103
</li>

docs/index-all.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,10 @@ <h2 class="title">O</h2>
242242
</a>
243243
<h2 class="title">R</h2>
244244
<dl>
245+
<dt><span class="memberNameLink"><a href="io/intercom/android/sdk/Intercom.html#registerForLaterInitialisation-android.app.Application-">registerForLaterInitialisation(Application)</a></span> - Static method in class io.intercom.android.sdk.<a href="io/intercom/android/sdk/Intercom.html" title="class in io.intercom.android.sdk">Intercom</a></dt>
246+
<dd>
247+
<div class="block">Begin tracking Activity lifecycle events so that Intercom can be initialized later.</div>
248+
</dd>
245249
<dt><span class="memberNameLink"><a href="io/intercom/android/sdk/Intercom.html#registerIdentifiedUser-io.intercom.android.sdk.identity.Registration-">registerIdentifiedUser(Registration)</a></span> - Method in class io.intercom.android.sdk.<a href="io/intercom/android/sdk/Intercom.html" title="class in io.intercom.android.sdk">Intercom</a></dt>
246250
<dd>
247251
<div class="block">Registers an identified user with Intercom.</div>
@@ -300,8 +304,16 @@ <h2 class="title">S</h2>
300304
</a>
301305
<h2 class="title">U</h2>
302306
<dl>
307+
<dt><span class="memberNameLink"><a href="io/intercom/android/sdk/Intercom.html#unregisterForLateInitialisation-android.app.Application-">unregisterForLateInitialisation(Application)</a></span> - Static method in class io.intercom.android.sdk.<a href="io/intercom/android/sdk/Intercom.html" title="class in io.intercom.android.sdk">Intercom</a></dt>
308+
<dd>
309+
<div class="block">Stop tracking Activity lifecycle events.</div>
310+
</dd>
303311
<dt><span class="memberNameLink"><a href="io/intercom/android/sdk/Intercom.html#updateUser-java.util.Map-">updateUser(Map&lt;String, ?&gt;)</a></span> - Method in class io.intercom.android.sdk.<a href="io/intercom/android/sdk/Intercom.html" title="class in io.intercom.android.sdk">Intercom</a></dt>
304312
<dd>
313+
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
314+
</dd>
315+
<dt><span class="memberNameLink"><a href="io/intercom/android/sdk/Intercom.html#updateUser-User-">updateUser(User)</a></span> - Method in class io.intercom.android.sdk.<a href="io/intercom/android/sdk/Intercom.html" title="class in io.intercom.android.sdk">Intercom</a></dt>
316+
<dd>
305317
<div class="block">Updates a user in Intercom.</div>
306318
</dd>
307319
</dl>

docs/io/intercom/android/sdk/Intercom.html

Lines changed: 142 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
catch(err) {
1818
}
1919
//-->
20-
var methods = {"i0":6,"i1":9,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":9,"i11":6,"i12":6,"i13":38,"i14":38,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":9,"i22":6,"i23":6};
20+
var methods = {"i0":6,"i1":9,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":9,"i11":6,"i12":6,"i13":38,"i14":38,"i15":9,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":9,"i23":6,"i24":9,"i25":38,"i26":6};
2121
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
2222
var altColor = "altColor";
2323
var rowColor = "rowColor";
@@ -291,57 +291,75 @@ <h3>Method Summary</h3>
291291
</td>
292292
</tr>
293293
<tr id="i15" class="rowColor">
294+
<td class="colFirst"><code>static void</code></td>
295+
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#registerForLaterInitialisation-android.app.Application-">registerForLaterInitialisation</a></span>(android.app.Application&nbsp;application)</code>
296+
<div class="block">Begin tracking Activity lifecycle events so that Intercom can be initialized later.</div>
297+
</td>
298+
</tr>
299+
<tr id="i16" class="altColor">
294300
<td class="colFirst"><code>abstract void</code></td>
295301
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#registerIdentifiedUser-io.intercom.android.sdk.identity.Registration-">registerIdentifiedUser</a></span>(<a href="../../../../io/intercom/android/sdk/identity/Registration.html" title="class in io.intercom.android.sdk.identity">Registration</a>&nbsp;userRegistration)</code>
296302
<div class="block">Registers an identified user with Intercom.</div>
297303
</td>
298304
</tr>
299-
<tr id="i16" class="altColor">
305+
<tr id="i17" class="rowColor">
300306
<td class="colFirst"><code>abstract void</code></td>
301307
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#registerUnidentifiedUser--">registerUnidentifiedUser</a></span>()</code>
302308
<div class="block">Registers an unidentified user with Intercom.</div>
303309
</td>
304310
</tr>
305-
<tr id="i17" class="rowColor">
311+
<tr id="i18" class="altColor">
306312
<td class="colFirst"><code>abstract void</code></td>
307313
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#removeUnreadConversationCountListener-UnreadConversationCountListener-">removeUnreadConversationCountListener</a></span>(UnreadConversationCountListener&nbsp;listener)</code>
308314
<div class="block">Removes a listener from the collection that receive updates when the unread conversation count changes.</div>
309315
</td>
310316
</tr>
311-
<tr id="i18" class="altColor">
317+
<tr id="i19" class="rowColor">
312318
<td class="colFirst"><code>abstract void</code></td>
313319
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#reset--">reset</a></span>()</code>
314320
<div class="block">Clears all data from the Intercom SDK.</div>
315321
</td>
316322
</tr>
317-
<tr id="i19" class="rowColor">
323+
<tr id="i20" class="altColor">
318324
<td class="colFirst"><code>abstract void</code></td>
319325
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#setInAppMessageVisibility-io.intercom.android.sdk.Intercom.Visibility-">setInAppMessageVisibility</a></span>(<a href="../../../../io/intercom/android/sdk/Intercom.Visibility.html" title="enum in io.intercom.android.sdk">Intercom.Visibility</a>&nbsp;visibility)</code>
320326
<div class="block">Toggles visibility of in-app messages.</div>
321327
</td>
322328
</tr>
323-
<tr id="i20" class="altColor">
329+
<tr id="i21" class="rowColor">
324330
<td class="colFirst"><code>abstract void</code></td>
325331
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#setLauncherVisibility-io.intercom.android.sdk.Intercom.Visibility-">setLauncherVisibility</a></span>(<a href="../../../../io/intercom/android/sdk/Intercom.Visibility.html" title="enum in io.intercom.android.sdk">Intercom.Visibility</a>&nbsp;visibility)</code>
326332
<div class="block">Toggles visibility of the launcher view.</div>
327333
</td>
328334
</tr>
329-
<tr id="i21" class="rowColor">
335+
<tr id="i22" class="altColor">
330336
<td class="colFirst"><code>static void</code></td>
331337
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#setLogLevel-int-">setLogLevel</a></span>(int&nbsp;logLevel)</code>
332338
<div class="block">Set the level of the logger</div>
333339
</td>
334340
</tr>
335-
<tr id="i22" class="altColor">
341+
<tr id="i23" class="rowColor">
336342
<td class="colFirst"><code>abstract void</code></td>
337343
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#setSecureMode-java.lang.String-java.lang.String-">setSecureMode</a></span>(java.lang.String&nbsp;secureHash,
338344
java.lang.String&nbsp;secureData)</code>
339345
<div class="block">Sets the secure hash and data to be used for Secure Mode.</div>
340346
</td>
341347
</tr>
342-
<tr id="i23" class="rowColor">
348+
<tr id="i24" class="altColor">
349+
<td class="colFirst"><code>static void</code></td>
350+
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#unregisterForLateInitialisation-android.app.Application-">unregisterForLateInitialisation</a></span>(android.app.Application&nbsp;application)</code>
351+
<div class="block">Stop tracking Activity lifecycle events.</div>
352+
</td>
353+
</tr>
354+
<tr id="i25" class="rowColor">
343355
<td class="colFirst"><code>abstract void</code></td>
344356
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#updateUser-java.util.Map-">updateUser</a></span>(java.util.Map&lt;java.lang.String,?&gt;&nbsp;attributes)</code>
357+
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
358+
</td>
359+
</tr>
360+
<tr id="i26" class="altColor">
361+
<td class="colFirst"><code>abstract void</code></td>
362+
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../io/intercom/android/sdk/Intercom.html#updateUser-User-">updateUser</a></span>(User&nbsp;user)</code>
345363
<div class="block">Updates a user in Intercom.</div>
346364
</td>
347365
</tr>
@@ -437,14 +455,48 @@ <h4>initialize</h4>
437455
<p>Must be called before trying to access the object with Intercom.client()</p></div>
438456
<dl>
439457
<dt><span class="paramLabel">Parameters:</span></dt>
440-
<dd><code>application</code> - A reference to the Application</dd>
458+
<dd><code>application</code> - Your app's Application object</dd>
441459
<dd><code>apiKey</code> - The Android SDK API key found on the Intercom for Android settings page.</dd>
442460
<dd><code>appId</code> - The app ID of your Intercom app.</dd>
443461
<dt><span class="simpleTagLabel">Since:</span></dt>
444462
<dd>1.0.0</dd>
445463
</dl>
446464
</li>
447465
</ul>
466+
<a name="registerForLaterInitialisation-android.app.Application-">
467+
<!-- -->
468+
</a>
469+
<ul class="blockList">
470+
<li class="blockList">
471+
<h4>registerForLaterInitialisation</h4>
472+
<pre>public static&nbsp;void&nbsp;registerForLaterInitialisation(android.app.Application&nbsp;application)</pre>
473+
<div class="block"><p>Begin tracking Activity lifecycle events so that Intercom can be initialized later.</p>
474+
475+
<p>This must be called in Application.onCreate()</p></div>
476+
<dl>
477+
<dt><span class="paramLabel">Parameters:</span></dt>
478+
<dd><code>application</code> - Your app's Application object</dd>
479+
<dt><span class="simpleTagLabel">Since:</span></dt>
480+
<dd>3.0.19</dd>
481+
</dl>
482+
</li>
483+
</ul>
484+
<a name="unregisterForLateInitialisation-android.app.Application-">
485+
<!-- -->
486+
</a>
487+
<ul class="blockList">
488+
<li class="blockList">
489+
<h4>unregisterForLateInitialisation</h4>
490+
<pre>public static&nbsp;void&nbsp;unregisterForLateInitialisation(android.app.Application&nbsp;application)</pre>
491+
<div class="block"><p>Stop tracking Activity lifecycle events. This will prevent you from initializing Intercom correctly later.</p></div>
492+
<dl>
493+
<dt><span class="paramLabel">Parameters:</span></dt>
494+
<dd><code>application</code> - Your app's Application object</dd>
495+
<dt><span class="simpleTagLabel">Since:</span></dt>
496+
<dd>3.0.19</dd>
497+
</dl>
498+
</li>
499+
</ul>
448500
<a name="client--">
449501
<!-- -->
450502
</a>
@@ -532,14 +584,16 @@ <h4>setSecureMode</h4>
532584
<ul class="blockList">
533585
<li class="blockList">
534586
<h4>updateUser</h4>
535-
<pre>public abstract&nbsp;void&nbsp;updateUser(java.util.Map&lt;java.lang.String,?&gt;&nbsp;attributes)</pre>
587+
<pre>@Deprecated
588+
public abstract&nbsp;void&nbsp;updateUser(java.util.Map&lt;java.lang.String,?&gt;&nbsp;attributes)</pre>
589+
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
536590
<div class="block"><p>Updates a user in Intercom.</p>
537591

538592
<p>You can send any data you like to Intercom. Typically our customers see a lot of value in sending data that
539593
relates to customer development, such as price plan, value of purchases, etc. Once these have been sent to
540594
Intercom you can then apply filters based on these attributes.</p>
541595

542-
<p>A detailed list of the fields you can use to update a user is available <a href="https://developers.intercom.io/docs#user-model">here</a></p>
596+
<p>A detailed list of the fields you can use to update a user is available <a href="https://developers.intercom.com/reference#create-or-update-user">here</a></p>
543597

544598
<p>Attributes such as the user email or name can be updated by calling</p>
545599

@@ -587,8 +641,7 @@ <h4>updateUser</h4>
587641
</code>
588642
</pre>
589643

590-
<p>`id` is a required field for adding or modifying a company. A detailed description of the company model
591-
is available <a href="https://developers.intercom.io/docs#companies-and--users">here</a></p>
644+
<p>`id` is a required field for adding or modifying a company.</p>
592645

593646
<p>Attributes may be a `string`, `int`, `double`, `unix timestamp` or `bool`.</p></div>
594647
<dl>
@@ -599,6 +652,79 @@ <h4>updateUser</h4>
599652
</dl>
600653
</li>
601654
</ul>
655+
<a name="updateUser-User-">
656+
<!-- -->
657+
</a>
658+
<ul class="blockList">
659+
<li class="blockList">
660+
<h4>updateUser</h4>
661+
<pre>public abstract&nbsp;void&nbsp;updateUser(User&nbsp;user)</pre>
662+
<div class="block"><p>Updates a user in Intercom.</p>
663+
664+
<p>You can send any data you like to Intercom. Typically our customers see a lot of value in sending data that
665+
relates to customer development, such as price plan, value of purchases, etc. Once these have been sent to
666+
Intercom you can then apply filters based on these attributes.</p>
667+
668+
<p>A detailed list of the fields you can use to update a user is available <a href="https://developers.intercom.com/reference#create-or-update-user">here</a></p>
669+
670+
<p>Attributes such as the user email or name can be updated by calling</p>
671+
672+
<pre>
673+
<code>
674+
675+
User user = new User.Builder()
676+
.withUserId("1234")
677+
.withEmail("[email protected]")
678+
.build();
679+
Intercom.client().updateUser(user);
680+
</code>
681+
</pre>
682+
683+
<p>Custom user attributes can be created and modified by passing a custom_attributes map.
684+
You do not have to create attributes in Intercom beforehand. If one hasn't been seen before it will be
685+
created for you automatically.</p>
686+
687+
<pre>
688+
<code>
689+
User user = new User.Builder()
690+
.withUserId("1234")
691+
.withEmail("[email protected]")
692+
.withCustomAttribute("team_mates", 3)
693+
.build();
694+
Intercom.client().updateUser(user);
695+
</code>
696+
</pre>
697+
698+
<p>For multiple user attributes you can chain withCustomAttribute several times
699+
or pass a Map to withCustomAttributes</p>
700+
701+
<p>You can also set company data via this call by submitting an attribute map like</p>
702+
703+
<pre>
704+
<code>
705+
Company company = new Company.Builder()
706+
.withCompanyId("1234")
707+
.withName("TestCorp")
708+
.build();
709+
User user = new User.Builder()
710+
.withCompany(company)
711+
.build();
712+
Intercom.client().updateUser(user);
713+
</code>
714+
</pre>
715+
716+
<p>`id` is a required field for adding or modifying a company. A detailed description of the company model
717+
is available <a href="https://developers.intercom.com/docs#companies-and--users">here</a></p>
718+
719+
<p>Attributes may be a `string`, `int`, `double`, `unix timestamp` or `bool`.</p></div>
720+
<dl>
721+
<dt><span class="paramLabel">Parameters:</span></dt>
722+
<dd><code>user</code> - This is a user object to update this user in Intercom.</p></dd>
723+
<dt><span class="simpleTagLabel">Since:</span></dt>
724+
<dd>3.0.19</dd>
725+
</dl>
726+
</li>
727+
</ul>
602728
<a name="logEvent-java.lang.String-">
603729
<!-- -->
604730
</a>
@@ -611,7 +737,7 @@ <h4>logEvent</h4>
611737
<p>You can log events in Intercom based on user actions in your app. Events are different
612738
to custom user attributes in that events are information on what Users did and when they
613739
did it, whereas custom user attributes represent the User's current state as seen in their
614-
profile. See details about Events <a href="https://developers.intercom.io/docs#events">here</a>.</p></div>
740+
profile. See details about Events <a href="https://developers.intercom.com/docs#events">here</a>.</p></div>
615741
<dl>
616742
<dt><span class="paramLabel">Parameters:</span></dt>
617743
<dd><code>name</code> - The name of the event that it is going to be logged.</dd>
@@ -631,7 +757,7 @@ <h4>logEvent</h4>
631757
<div class="block"><p>Logs an event with a given name and some metadata.</p>
632758

633759
<p>Metadata Objects support a few simple types that Intercom can present on your behalf, see the
634-
<a href="https://developers.intercom.io/docs#event-metadata-types">Intercom API docs</a></p>
760+
<a href="https://developers.intercom.com/docs#event-metadata-types">Intercom API docs</a></p>
635761

636762
<pre>
637763
<code>

0 commit comments

Comments
 (0)