> For the complete documentation index, see [llms.txt](https://docs.buildnatively.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buildnatively.com/getting-started/other-platform-integrations/replit/integration.md).

# Integration

To ensure your Base44 app works smoothly once converted into a native mobile app, you’ll need to prepare your Base44 project in specific ways. These steps make sure navigation, login, payments, and notifications all work correctly inside iOS and Android apps.

***

#### 1) Publish Your Base44 App with HTTPS

* Your Base44 app must be live on a **secure HTTPS link**.
* iOS and Android block **http\://** content for security reasons.
* If any image, API, or script inside your Base44 app still uses `http://`, update it to `https://`.
* Test by opening your app in Chrome or Safari → if you see a “Not Secure” warning, fix before moving forward.

***

#### 2) Use a Single Primary Domain

* Keep your app hosted on **one main domain** (for example, `app.example.com`).
* Avoid sending users to different subdomains like `login.example.com` or `checkout.example.com`.
* If certain flows must use a different domain (like Stripe or PayPal checkout), you’ll need to mark these links as **external** in BuildNatively.
* Staying on one domain makes login, deep links, and navigation seamless.

***

#### 3) Give Every Important Screen Its Own URL

* Make sure all critical pages in your Base44 app can be reached via a **unique, stable URL**.
* Examples:
  * `/login` → Login screen
  * `/signup` → Signup screen
  * `/profile` → Profile page
  * `/orders/123` → Order details
  * `/checkout` → Checkout page
* Why this matters:
  * Push notifications can deeplink users directly to a page.
  * Social logins return users to the right screen after authentication.
  * Users can share or revisit pages reliably.

***

#### 4) Avoid Popups for Critical Flows

* Login, signup, onboarding, and checkout should not exist **only** as popups or modals.
* Popups do not change the URL, which breaks:
  * Deep linking
  * Social login redirects
  * Push notification routing
* Instead, design these flows as **dedicated full pages** in Base44.

***

#### 5) Test Your App on Real Mobile Devices

* Open your Base44 app in Safari (iPhone) and Chrome (Android).
* Test every page and flow:
  * Do text and buttons fit the screen?
  * Are forms easy to complete without zooming?
  * Does scrolling feel smooth?
  * Do images and videos load quickly?
* Fix any layout problems in Base44 before integrating with BuildNatively — the mobile app will display your web content exactly as it appears in a phone browser.

***

#### 6) Plan for Login & Authentication

* **Email/Password Login**: If it works in Safari/Chrome, it will also work inside your app.
* **Google, Apple, or Facebook Login**:
  * These require **deep links** (Universal Links/App Links).
  * Make sure your Base44 login flow redirects users back to your app’s primary domain after login.
  * Later, enable **Social Auth + Deep Links** in BuildNatively to complete the setup.

***

#### 7) Identify All External Links

* Make a list of every link in your Base44 app that goes outside your domain.
* Common examples:
  * Stripe or PayPal checkout
  * Calendly scheduling pages
  * YouTube or Vimeo video embeds
  * External Help Docs
* In BuildNatively, configure these as **external links** so they open in Safari/Chrome instead of inside your app.
* This prevents broken experiences or being “stuck” in the wrong view.

***

#### 8) Prepare Checkout & Payments

* If you’re using an external checkout provider (like Stripe), test your payment flow on a real mobile device.
* If your checkout redirects to an external page, mark it as **external** in BuildNatively.
* If you sell **digital goods or subscriptions** (courses, content, memberships), Apple and Google require you to use **In-App Purchases** instead of external payments.
* If you sell **physical products or services**, Stripe/PayPal is fine.

***

#### 9) Optimize Performance for Mobile

* Compress large images (JPG/PNG) and videos before uploading.
* Use lazy-loading where possible for heavy content.
* Simplify your homepage design — the faster your app loads, the better the user experience.

***

#### 10) Define Routes for Notifications & Deep Links

* Push notifications and deep links depend on stable URLs.
* Example flows:
  * A “New Message” notification should open `/messages/123`.
  * An “Order Shipped” notification should open `/orders/456`.
* Make sure these routes exist in your Base44 project and open the correct content when tested in a browser.

***

#### ✅ Summary of Integration Requirements

Before wrapping your Base44 app with BuildNatively, confirm that:

1. Your Base44 app runs on **HTTPS** (no insecure content).
2. You’re using **one main domain** for internal navigation.
3. All key screens (login, signup, profile, checkout, orders) have **unique URLs**.
4. Login/signup/checkout are **full pages**, not only popups.
5. You’ve tested your app on real phones for **mobile readiness**.
6. Your login flow (especially with Google/Apple/Facebook) redirects back to your **primary domain**.
7. You have a list of **external links** (payments, scheduling, videos, docs) ready to configure.
8. Your checkout/payment flow works correctly and follows **App Store rules**.
9. Large media is optimized for **fast mobile performance**.
10. All notification and deep link routes exist as **real pages with URLs**.
