Skip to main content

Mobile Self Compile (optional)

The source code of Tailchat mobile terminal is located in client/mobile. The technology stack is react-native

You can download the compiled general version directly from the official website: https://tailchat.msgbyte.com/downloads, or compile it yourself from the source code

This section mainly explains how to compile the mobile version of Tailchat.

Prepare the development environment​

You can see the complete development environment preparation operation at https://reactnative.dev/docs/environment-setup, so I won’t go into details here.

Install dependencies​

cd client/mobile
yarn

Environment check​

yarn doctor

Prepare environment variables​

cp.env.example.env

In the .env file we configure the required environment variables for compilation

TAILCHAT_UPLOAD_STORE_FILE=
TAILCHAT_UPLOAD_STORE_PASSWORD=
TAILCHAT_UPLOAD_KEY_ALIAS=
TAILCHAT_UPLOAD_KEY_PASSWORD=

GETUI_APPID=
GETUI_APPKEY=
GETUI_APPSECRET=
GETUI_HUAWEI_APP_ID=

Certificate signing​

If you are only using it for testing, you can skip this section and Tailchat will sign it for you using a public test certificate.

Android​

If you need to use your own certificate for signing, you need to fill in the following:

TAILCHAT_UPLOAD_STORE_FILE=
TAILCHAT_UPLOAD_STORE_PASSWORD=
TAILCHAT_UPLOAD_KEY_ALIAS=
TAILCHAT_UPLOAD_KEY_PASSWORD=

Need to fill in: certificate file name, password, alias, alias password The certificate file needs to be placed in the client/mobile/android/app directory, usually a *.keystore file

As for how to generate it, you can use Android Studio or keytool tool to generate it.

iOS​

TODO

Push​

Tailchat implements Android multi-vendor message push by integrating personal tweets as a relay

You can get all the required configuration in the application configuration of getui

Among them GETUI_APPID, GETUI_APPKEY, GETUI_APPSECRET are filled in in order

Corresponding configuration is required on the server side GETUI_APPID, GETUI_APPKEY, GETUI_MASTERSECRET so that the self-deployed push service can send push messages correctly

Manufacturer Push​

Manufacturer push can be turned on or off as needed

The source code needs to be modified as follows:

  • manifestPlaceholders section and dependencies section of client/mobile/android/app/build.gradle
  • .env environment variable configuration

Compile​

Android​

cd android
./gradlew assembleRelease

iOS​

iOS compilation needs to be done through xcode

Screenshot cannot be taken due to lack of equipment, please follow the public information on the Internet.

FAQ​

If the following types of errors occur:

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
> Could not create task ':app:generateDebugLintModel'.
> java.lang.NullPointerException (no error message)

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 27s

It may be because your environment variable is missing, you can leave the value empty, but the entry must exist

like:

GETUI_APPID=xxxxxxxxxxxx
GETUI_APPKEY=yyyyyyyyy
GETUI_APPSECRET=zzzzzzzzzz
GETUI_HUAWEI_APP_ID=

instead of

GETUI_APPID=xxxxxxxxxxxx
GETUI_APPKEY=yyyyyyyyy
GETUI_APPSECRET=zzzzzzzzzz

Can I compile it myself and publish it to the app store?​

Yes, but please modify the application name, package name, icon and other information to prevent conflicts with official applications.