# App Settings

## Overview

App settings is where you configure and customize various aspects of your app. It is organized into the following sections:

1. [Project Settings](#1.-project-settings)
2. [Publishing Settings](#2.-publishing-settings)
3. [Integrations](#id-3.-integrations)

To view or change your app settings:

* On your project's Design tab, click the **gear icon** in the left sidebar.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LAn5scXl2uqUJUOqkJo-84897653%2Fuploads%2FLrkvj4R4OB3T2Epbbj5V%2Fproject_settings.png?alt=media\&token=11c086f5-ebde-49b4-b73d-2ba22ae64bdd)

## 1. Project Settings

### App Description

This describes your app and how you intend it to be used. While it is unnecessary to fill this out in Thunkable, if you publish your app, you must enter this information on Thunkable, the Apple App Store or the Google Play Store.

### App Name

The app name is the public name you choose for your app. It is what is displayed on the Google Play Store or Apple App Store and that users see when they install your app on their device. This name is also used to set the page title when you [publish as a web app](https://docs.thunkable.com/publishing/publish-as-a-web-app-pro).

The best practice is to select a short one or two-word app name. The maximum length of an app name is 30 characters.&#x20;

The app name is different from the project name, which is displayed at the top of your project. While the project name is Thunkable-specific and may include details specific to your team, the app name is user-facing.

### Default App Layout <a href="#default-app-layout" id="default-app-layout"></a>

{% hint style="info" %}
This feature may only be available for Creators on certain Thunkable plans. Please refer to our [pricing page](https://thunkable.com/#/pricing) for more information.
{% endhint %}

The best practice is to set your project's default app layout *before* you add components to your app screens. If you add components to your app screens and *then* change your project's default app layout, your designs will not automatically respond to the new size and layout, meaning that neither the size of your existing components nor the distance between components will change.

Use the dropdown menu to select your app's default layout. The options are:

* Phone + Portrait
* Phone + Landscape
* Tablet + Portrait
* Tablet + Landscape

<div align="left"><img src="https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LAn5scXl2uqUJUOqkJo-84897653%2Fuploads%2F9iqa4GSqNzv9TyAY07Zr%2Fdefault_app_layout_tablet.png?alt=media&#x26;token=88fbde5b-5b8e-4d8d-ac05-2ec0ec800983" alt="" width="255"></div>

### Icon

Your app icon is the image that represents your app on your users' mobile devices. This icon will also appear on your listing in the Google Play Store or Apple App Store and as your project icon on Thunkable.&#x20;

{% hint style="info" %}
This feature may only be available for Creators on certain Thunkable plans. Please refer to our [pricing page](https://thunkable.com/#/pricing) for more information.
{% endhint %}

{% hint style="warning" %}
Ensure the file you upload does not have the same name as another asset used in your app. This will result in an error.
{% endhint %}

#### Icon Best Practices&#x20;

| Property  | Setting                                       |
| --------- | --------------------------------------------- |
| Size      | 192 x 192 px (minimum)                        |
| Shape     | Square (equal height and width)               |
| File Type | Preferably .png (vs. jpg or other file types) |

For publishing to the iOS [App Store](https://docs.thunkable.com/publishing/publish-to-app-store-ios#upload-an-icon-and-enter-your-build-number-and-version-number), you will also need an app icon that does not have any transparency, or it may cause an error.

{% hint style="info" %}
For publishing your app to the Google Play and Apple App Stores, you will need to create a separate icon with a higher resolution. For [Google Play](https://developer.android.com/google-play/resources/icon-design-specifications#creating_assets), the current requirement is 500 x 500 px. For the [App Store](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon#app-icon-sizes), it's 1024 x 1024 px.
{% endhint %}

### Splash Screen Image

To access your app's splash screen image settings:

1. Navigate to the project’s **Design tab**.
2. Click the **Settings** icon in the left sidebar.
3. Click the **ellipsis icon** at the bottom of the Project Settings section to access the advanced settings.

![](https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LAn5scXl2uqUJUOqkJo-84897653%2Fuploads%2FdsnRzeGS8VfQqX9J3VxE%2Fsplash_screen_image.png?alt=media\&token=d74b661f-7601-411b-a8b9-578dbaa5d9d5)

#### Picture

To customize your app’s splash screen picture:

1. Click in the **Picture** field.
2. Click **Upload files** and select an image from your computer, or select an image from your app’s current assets.

Splash Screen Picture Requirements:

* The picture must be square. Rectangle pictures will not render correctly.
* The ideal dimensions for your splash screen picture are 1152x1152 pixels.&#x20;
* If you want a transparent background, a PNG file is recommended.
* [Android splash screen image dimension guide](https://developer.android.com/develop/ui/views/launch/splash-screen#dimensions)

{% hint style="info" %}
**Note:** If you do not select a custom splash screen picture, your app icon image will be used by default.&#x20;
{% endhint %}

#### Background Color

To customize the background color of your app’s splash screen:

1. Click in the **Background Color** field.
2. Use the **color picker** or input the **HEX or RBGA codes** to select your preferred color.

{% hint style="info" %}
**Note:** If you do not select a custom splash screen background color, white will be used by default.&#x20;
{% endhint %}

#### Sample Splash Screens

<div align="left"><figure><img src="https://1223006790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LAn5scXl2uqUJUOqkJo-84897653%2Fuploads%2FzXfY0ILQZh2dMPZxXtGL%2Fsplash%20screen%20-%20iOS%20vs.%20Android.png?alt=media&#x26;token=c6a36e46-aa25-476f-bde7-cdf0d4bb026d" alt="" width="563"><figcaption></figcaption></figure></div>

## 2. Publishing Settings

### App (Bundle) ID

This is a unique identifier for your app on the [App Store](https://docs.thunkable.com/publishing/publish-to-app-store-ios#register-an-app-id-on-app-store-connect) or [Play Store](https://docs.thunkable.com/publishing/publish-to-play-store-android#the-package-name). This field is auto-populated upon project creation, but if you choose to modify it, please ensure you follow the requirements below.

#### App (Bundle) ID Requirements:

* The maximum length is 155 characters.
* &#x20;It must have at least two segments (one or more dots) - ex. `com.domain.creatorname.appname`
* Each segment must start with a letter (i.e. none of the segments can begin with a number).
* All characters must be alphanumeric or an underscore.&#x20;
* ﻿A character cannot have an accent (e vs ë).

{% hint style="info" %}
For auto-populated App (Bundle) IDs, if there are characters in the project name that are not alphanumeric (or an underscore), they will be omitted in the App (Bundle) ID.
{% endhint %}

### Public App

Creators on certain Thunkable plans can set their app to private. A private app will not be displayed in the Thunkable Public Gallery. Learn more about public and private apps here: [Public vs. Private Projects](https://docs.thunkable.com/manage-your-projects/projects#public-vs.-private-projects) and more about our Thunkable plans here: [Thunkable pricing page](https://thunkable.com/#/pricing).&#x20;

### Auto-increment Version

When you publish to the [App Store](https://docs.thunkable.com/publishing/publish-to-app-store-ios) or the [Play Store](https://docs.thunkable.com/publishing/publish-to-play-store-android), you must increment (increase) your version number each time. If this switch is set to true, Thunkable will automatically increment your project's version number each time you publish your app (iOS) or download your app (Android).

### Use Zero-Based Index For Blocks

This option is set to true for new projects created with the AI project generator. This means that when you want to get the first item from a list, you can use, for example, the "In list get item" block, with the number set to 0.

### Optimize Fonts

If this switch is set to true, Thunkable will automatically remove all unused fonts from your built app. Removing unused fonts will reduce the overall size of your app for downloading and/or publishing. Only fonts set in the design tab will be kept. Fonts set by blocks will also be removed.&#x20;

### Play sounds in background

If this switch is set to true, the sound will keep playing even when the app is minimized.

### Ignore Notch Area

In app development, the "notch area" refers to the space on the screen of a mobile device where the front-facing camera, sensors, and sometimes the speaker are located. By default, Thunkable adds the notched-out safe area at the top of the screen, resulting in a non-rectangular display shape.

If you set the Ignore Notch Area property to true, the screen background color will extend to fill the screen. However, if you do this, to avoid your app elements being blocked by the notch, you must manually address this in your app design.&#x20;

### Notch Area Background Color

By default, the notch area background color is white. You can change this color here if you wish, however. This is an app-level setting, and you won’t be able to customize the color at the screen level.

### Android Publishing Details

#### Version Name

Set a [version name](https://docs.thunkable.com/publishing/publish-to-play-store-android#build-and-version-number) for this version of your Android app.

#### Version Code

Set a [version code](https://docs.thunkable.com/publishing/publish-to-play-store-android#build-and-version-number) for this version of your Android app.

### iOS

#### Version Number

Set a [version number](https://docs.thunkable.com/publishing/publish-to-app-store-ios#set-a-version-number) for this version of your iOS app.

#### Tracking Usage Description (iOS only)

If your app or any external service your app interacts with is gathering any type of identifiable information, this must be explicitly disclosed to the end user of your app using an in-app prompt. If you do not include this and your app engages in tracking, Apple will reject your submission and ask you to resubmit while including an appropriate tracking string. To learn more about when to include a tracking string,[ click here.](https://intercom.help/thunkable/en/articles/5945318-nsusertrackingusagedescription-messages)

#### iOS Permissions

When you add components that require permissions to your app, like the camera or map, you must add purpose strings for any relevant component in your app if you want to publish it to the App Store.&#x20;

## 3. Integrations

If your app uses [translation](https://docs.thunkable.com/blocks/app-features/speech#translation), [image recognition](https://docs.thunkable.com/blocks/app-features/camera#image-recognition), [media upload to the cloud](https://docs.thunkable.com/blocks/app-features/camera#upload-image-to-the-cloud), or requires users to [sign in](https://docs.thunkable.com/blocks/app-features/sign-in), you can enter your personal API keys for these integrations in the app settings.&#x20;

### Firebase Settings

To learn more about the Firebase integration, please see here: [Firebase Sign-in](https://docs.thunkable.com/sign-in#firebase-sign-in).

### Google OAuth Settings

To learn more about the Google OAuth integration, please see here: [Google Sign-In](https://docs.thunkable.com/blocks/app-features/sign-in#google-sign-in).

### Google Translate Settings

To learn more about the Google Translate integration, please see here: [Cloud Translate](https://cloud.google.com/translate/docs/overview?_gl=1*oxbtaw*_up*MQ)

### Google Map Settings

To learn more about the Google Map integration, please see here: [Map](https://docs.thunkable.com/map).

### AdMob Settings

#### iOS and Android App ID

Enter the AdMob app ID for your iOS and/or Android app. To learn more, see here: [Find your app IDs & ad unit IDs](https://support.google.com/admob/answer/7356431?hl=en).

#### Keystore

Import and export an Android Keystore to/from your app. Learn more about the Android Keystore here: [Publish to Android > Keystore](https://docs.thunkable.com/publishing-apps/publish-to-play-store-android#the-keystore-signing-key).

### Cloudinary Settings

To learn more about the Cloudinary integration, please see here: [Cloudinary](https://docs.thunkable.com/files#connecting-your-cloudinary-db-to-your-thunkable-project).
