Bug 1245942 - Add how to build with adjust to in-tree docs. r=mfinkle
--- a/mobile/android/docs/adjust.rst
+++ b/mobile/android/docs/adjust.rst
@@ -130,16 +130,25 @@ Access to the Adjust backend is controll
managed by Release Engineering and should not be exposed if at all possible; for example, it should
*not* leak to build logs. The value of the token is read from the file specified using the
``configure`` flag ``--with-adjust-sdk-keyfile=KEYFILE`` and stored in the build variable
``MOZ_INSTALL_TRACKING_ADJUST_SDK_APP_TOKEN``. Nota bene: if ``MOZ_INSTALL_TRACKING`` is defined
but the App-specific token is not specified, Fennec will submit data to a special Adjust sandbox.
This makes it possible to test the Adjust flow without submitting false data to the install tracking
backend.
+Building with Adjust (anecdotally)
+==================================
+(via mcomella) In my experience, to build with the Adjust SDK, you must specify
+the ``MOZ_INSTALL_TRACKING`` flag in addition to the ``RELEASE_BUILD`` and
+``MOZ_NATIVE_DEVICES`` build flags. This appears to be due to `confvars.sh`_.
+Additionally, gradle builds (e.g. Intellij) don't properly build with Adjust
+(see `bug 1233601`_) – build with mach for now. Note also that Adjust appears
+to work with artifact builds.
+
Technical notes on the Adjust SDK integration
=============================================
The *Adjust install tracking SDK* is a pure-Java library that is conditionally compiled into Fennec.
It's not trivial to integrate such conditional feature libraries into Fennec without pre-processing.
To minimize such pre-processing, we define a trivial ``AdjustHelperInterface`` and define two
implementations: the real ``AdjustHelper``, which requires the Adjust SDK, and a no-op
``StubAdjustHelper``, which has no additional requirements. We use the existing pre-processed
@@ -154,8 +163,10 @@ Notes and links
redistributors such as the Palemoon project.
.. [#channel] Data is not sent for Aurora, Nightly, or custom builds.
.. [#started] *Started* means more than just when the user taps the Fennec icon or otherwise causes
the Fennec user interface to appear directly. It includes, for example, when a Fennec service
(like the Update Service, or Background Sync), starts and Fennec was not previously running on the
device. See http://developer.android.com/reference/android/app/Application.html#onCreate%28%29
for details.
.. _INSTALL_REFERRER Intent: https://developer.android.com/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver.html
+.. _confvars.sh: https://mxr.mozilla.org/mozilla-central/source/mobile/android/confvars.sh?rev=3f8b80d42f00#76
+.. _bug 1233601: https://bugzilla.mozilla.org/show_bug.cgi?id=1233601