# Create Production Error

### 📖 Google Play Store Publishing Guide for VPN App (IKEv2)

When publishing your VPN app to the Google Play Store, you may encounter issues related to permissions and Google’s policies. Below are the most common issues and their solutions.

<figure><img src="https://2204777889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2jD9ADMI5G50ySTeB12E%2Fuploads%2FYLIwND0twefiijLPhRrx%2FScreenshot%202025-08-02%20at%204.28.04%E2%80%AFPM.png?alt=media&#x26;token=0cb8ee4b-da1c-481a-a4dd-fe30b3a9e4ce" alt=""><figcaption></figcaption></figure>

***

#### 1. 🛑 Sensitive Permissions Issue

**Problem:**\
Google Play rejects apps that request **Sensitive Permissions** (like VPN, location, or background services) without proper justification.

**Solution:**

* In your **Play Console**, fill out the **Permissions Declaration Form**.
* Justify why the app needs VPN permission (e.g., "App provides VPN functionality based on the IKEv2 protocol for secure browsing and privacy").
* Add a clear explanation in your **App’s Privacy Policy**.
* Host the Privacy Policy on your website and link it inside the app and in the Play Store listing.

<figure><img src="https://2204777889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2jD9ADMI5G50ySTeB12E%2Fuploads%2FvAkbH6kcgxhFfb44PS9c%2FScreenshot%202025-08-30%20at%2012.29.49%E2%80%AFAM.png?alt=media&#x26;token=fcb92e6f-0d65-463e-892b-cd501a1d6b2f" alt=""><figcaption></figcaption></figure>

***

#### 2. ⚡ Foreground Permission Use (Background VPN Services)

**Problem:**\
Google Play requires apps running background VPN services to show a **foreground notification**, otherwise the app may be rejected.

**Solution:**

* Always use a **Foreground Service** when VPN is active.
* Create a vpn app screen recording and upload in youtube and past the link.
* Add explanation in the **Data Safety section**:

  > "My app is a VPN service that provides secure and private internet access using the Ikev2 protocol. The FOREGROUND\_SERVICE\_SPECIAL\_USE permission is required because the VPN service operates as a foreground process to maintain a stable and uninterrupted connection.
  >
  > Why the task must start immediately and cannot be paused or restarted: A VPN service must establish and maintain an active tunnel at all times to ensure continuous encryption and protection of user traffic.
  >
  > If the service is paused or restarted, users may experience sudden disconnections, exposing their data to potential security risks.
  >
  > Many users rely on the VPN for privacy and security while performing sensitive tasks such as online banking, accessing restricted content, or maintaining anonymity.
  >
  > The nature of VPN protocols requires persistent connectivity, and stopping the service could lead to disruptions in network communication.
  >
  > To demonstrate our app's functionality, we have attached a YouTube video showcasing how the VPN operates and why foreground service is essential."

<figure><img src="https://2204777889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2jD9ADMI5G50ySTeB12E%2Fuploads%2FAQvp5ZnsCFEk5KmvWler%2FScreenshot%202025-08-30%20at%2012.27.17%E2%80%AFAM.png?alt=media&#x26;token=ff889c19-3d23-4092-b147-0fb54665d1ee" alt=""><figcaption></figcaption></figure>

***

#### 3. 🖼️ Photo & Video Permission Use

**Problem:**\
Google Play often flags `READ_MEDIA_IMAGES` / `READ_MEDIA_VIDEO` permissions if not properly declared.

**Solution:**

* Read media images

  > "My VPN, does not directly use the READ\_MEDIA\_IMAGES permission. However, this permission may be requested by third-party libraries or SDKs used within our app."
* Read media video

  > "My VPN, does not directly use the READ\_MEDIA\_VIDEO permission. However, this permission may be requested by third-party libraries or SDKs used within our app."

<figure><img src="https://2204777889-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2jD9ADMI5G50ySTeB12E%2Fuploads%2FWtovXCLtO7YeP9V77aBX%2FScreenshot%202025-08-02%20at%204.45.20%E2%80%AFPM.png?alt=media&#x26;token=bce77e60-fdb2-43e1-866c-01e2962c081d" alt=""><figcaption></figcaption></figure>

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://orban-tech.gitbook.io/v2ray-vpn/app-guide/play-store-publishing/create-production-error.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
