Skip to content

Commit

Permalink
Merge branch 'WARN-InvalidProductIdentifiers' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Lutik-sun committed Nov 5, 2024
2 parents ba9e333 + b04900e commit 22e86ed
Show file tree
Hide file tree
Showing 17 changed files with 287 additions and 60 deletions.
58 changes: 58 additions & 0 deletions src/components/reusable/ProvideBundleID.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
no_index: true
---
import Zoom from 'react-medium-image-zoom';
import 'react-medium-image-zoom/dist/styles.css';

1. Open [App Store Connect](https://appstoreconnect.apple.com/apps). Select your app and proceed to **General****App Information** section.

2. Copy the **Bundle ID** in the **General Information** sub-section.



<Zoom>
<img src={require('@site/versioned_docs/version-3.0/img/afd5012-bundle_id_apple.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>




3. Open the [**App settings** -> **iOS SDK** tab](https://app.adapty.io/settings/ios-sdk) from the Adapty top menu.



<Zoom>
<img src={require('@site/versioned_docs/version-3.0/img/26f79d5-App_settings_top_menu.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>




4. Paste the copied value to the **Bundle ID** field.



<Zoom>
<img src={require('@site/versioned_docs/version-3.0/img/2d64163-bundle_id.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>
204 changes: 204 additions & 0 deletions versioned_docs/version-3.0/InvalidProductIdentifiers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
---
title: "Fix for Code-1000 `noProductIDsFound` error and `InvalidProductIdentifiers` warning"
description: ""
metadataTitle: ""
---

import ProvideBundleID from '@site/src/components/reusable/ProvideBundleID.md';
import Details from '@site/src/components/Details';
import Zoom from 'react-medium-image-zoom';
import 'react-medium-image-zoom/dist/styles.css';

This `InvalidProductIdentifiers` warning means that at least one of the products on the paywall isn’t available in the App Store, even though it’s listed there. If none of the products are available, you’ll get a 1000-code error: `noProductIDsFound`. If you don’t see an error, you can safely ignore the warning.

If you are encountering this error, please follow the steps below to resolve it:

## Step 1. Check your iOS version

Make sure you're not testing on iOS 18 — there’s a known issue in that version.
## Step 2. Check bundle ID

<ProvideBundleID />

## Step 3. Check products

1. Go to **App Store Connect** and navigate to [**Monetization****Subscriptions**](https://appstoreconnect.apple.com/apps/6477523342/distribution/subscriptions) in the left-hand menu.

<Zoom>
<img src={require('./img/subscription_group_open.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

2. Click on the subscription group name. You’ll see your products listed under the **Subscriptions** section.

3. Ensure the product you're testing is marked **Ready to Submit**. If not, follow the instructions on the [Product in App Store](app-store-products) page.
<Zoom>
<img src={require('./img/ready-to-submit.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

4. Compare the product ID from the table with the one in the [**Products**](https://app.adapty.io/products) tab in the Adapty Dashboard. If the IDs don’t match, copy the product ID from the table and [create a product](create-product) with it in the Adapty Dashboard.

<Zoom>

<img src={require('./img/product-id-copy.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>



## Step 4. Check if the product availability

1. Go back to **App Store Connect** and open the same **Subscriptions** section.

<Zoom>
<img src={require('./img/subscription_group_open.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

2. Click the subscription group name to view your products.

3. Select the product you're testing.
<Zoom>
<img src={require('./img/click-product.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

4. Scroll to the **Availability** section and check that all the required countries and regions are listed.

<Zoom>
<img src={require('./img/product-availability.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

## Step 5. Check product prices

1. Again, head to the **Monetization****Subscriptions** section in **App Store Connect**.

<Zoom>
<img src={require('./img/subscription_group_open.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

2. Click the subscription group name.

3. Select the product you’re testing.
<Zoom>
<img src={require('./img/click-product.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

4. Scroll down to **Subscription Pricing** and expand the **Current Pricing for New Subscribers** section.
<Zoom>
<img src={require('./img/check-prices.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

5. Ensure that all required prices are listed.
<Zoom>
<img src={require('./img/product-pricing.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

## Step 6. Check app paid status, back account, and tax forms are active

1. In х**App Store Connect**](https://appstoreconnect.apple.com/) homepage, click **Business**.

<Zoom>
<img src={require('./img/business.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

2. Select your company name.

<Zoom>
<img src={require('./img/business-name.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

3. Scroll down and check that your **Paid Apps Agreement**, **Bank Account**, and **Tax forms** all show as **Active**.

<Zoom>
<img src={require('./img/appstore-connect-status.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>

By following these steps, you should be able to resolve the `InvalidProductIdentifiers` warning and get your products live in the store
59 changes: 7 additions & 52 deletions versioned_docs/version-3.0/app-store-connection-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ metadataTitle: "Adapty App Store Integration Configuration"

import Zoom from 'react-medium-image-zoom';
import 'react-medium-image-zoom/dist/styles.css';
import ProvideBundleID from '@site/src/components/reusable/ProvideBundleID.md';

This section describes how to establish the connection between the App Store and Adapty for your iOS app. This is required for us to be able to show subscription analytics and validate purchases. You can complete the integration during the initial onboarding or later in the **App Settings** within the Adapty Dashboard.

Expand All @@ -18,58 +19,7 @@ Configuration changes can be done safely during the Sandbox phase, until your mo
## Step 1. Provide Bundle ID

Bundle ID is the unique identifier of your app in the App Store. This is required for the basic functionality of Adapty, such as subscription processing.

1. Open [App Store Connect](https://appstoreconnect.apple.com/apps). Select your app and proceed to **General****App Information** section.

2. Copy the **Bundle ID** in the **General Information** sub-section.


<Zoom>
<img src={require('./img/afd5012-bundle_id_apple.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>




3. Open the [**App settings** -> **iOS SDK** tab](https://app.adapty.io/settings/ios-sdk) from the Adapty top menu.


<Zoom>
<img src={require('./img/26f79d5-App_settings_top_menu.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>




4. Paste the copied value to the **Bundle ID** field.


<Zoom>
<img src={require('./img/2d64163-bundle_id.webp').default}
style={{
border: '1px solid #727272', /* border width and color */
width: '700px', /* image width */
display: 'block', /* for alignment */
margin: '0 auto' /* center alignment */
}}
/>
</Zoom>


<ProvideBundleID />


## Step 2. Provide Issuer ID and Key ID
Expand All @@ -80,6 +30,7 @@ The **In-app purchase Issuer ID**, referred to as **Issuer ID** in App Store Con
2. In the **Active **list, find the key you've created in the [Generate In-App Purchase Key in App Store Connect](generate-in-app-purchase-key) section.



<Zoom>
<img src={require('./img/19a2868-issuer_apple.webp').default}
style={{
Expand All @@ -96,6 +47,7 @@ The **In-app purchase Issuer ID**, referred to as **Issuer ID** in App Store Con
3. Copy **Issuer ID** and paste it to the **In-app purchase Issuer ID** field in the Adapty Dashboard.



<Zoom>
<img src={require('./img/c2b42e7-issuer_id.webp').default}
style={{
Expand Down Expand Up @@ -158,6 +110,7 @@ The **App Store shared secret**, also known as the App Store Connect Shared Secr
2. Scroll down to the **App-Specific Shared Secret** sub-section.



<Zoom>
<img src={require('./img/2bd112a-shared_secret_apple.webp').default}
style={{
Expand All @@ -179,6 +132,7 @@ The **App Store shared secret**, also known as the App Store Connect Shared Secr
3. Click the **Manage** button.



<Zoom>
<img src={require('./img/2d8b4c0-shared_secret_apple_copy.webp').default}
style={{
Expand All @@ -198,6 +152,7 @@ The **App Store shared secret**, also known as the App Store Connect Shared Secr
5. Paste the copied **Shared Secret** to the **App Store shared secret** field in the Adapty Dashboard.



<Zoom>
<img src={require('./img/4f9624d-shared_secret.webp').default}
style={{
Expand Down
Loading

0 comments on commit 22e86ed

Please sign in to comment.