Skip to content

Commit c339378

Browse files
authored
Improve navbar category visibility (#1051)
* change navbar * green instead of froggy * support tweaks * fixes
1 parent f68f206 commit c339378

File tree

12 files changed

+248
-116
lines changed

12 files changed

+248
-116
lines changed

docs/revenuecat-support/general-troubleshooting.mdx

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ slug: general-troubleshooting
44
hidden: false
55
---
66

7-
If you are having any issues in RevenueCat, below is a list of some common questions that we see and some quick ways to troubleshoot them. If you are still having issues after checking this document, please feel free to reach out to [support](https://app.revenuecat.com/settings/support) or check out our [community](https://community.revenuecat.com/)!
7+
This guide covers common issues and their solutions.
88

99
## General Issues
1010

@@ -17,17 +17,7 @@ If you are having any issues in RevenueCat, below is a list of some common quest
1717

1818
<br />
1919

20-
If you can't fetch products, or your offerings are empty, this is nearly always a configuration issue. We have a guide detailing the next steps [in our community here](https://community.revenuecat.com/sdks-51/why-are-offerings-or-products-empty-124). For Google Play Store issues, please refer to our [Google Play Checklists](/service-credentials/creating-play-service-credentials/google-play-checklists).
21-
22-
Here's how it works under the hood:
23-
24-
1. Products are configured in each store
25-
2. Product identifiers are added to your Offering configuration in the RevenueCat dashboard
26-
3. The RevenueCat SDK fetches the configuration from the RevenueCat API
27-
4. The SDK requests the products in the configuration from the stores directly
28-
5. The stores return the valid products from that request
29-
30-
If the stores are unable to return valid products, it means that somewhere in that cycle there is a configuration issue. If there is a typo in your product identifier, the request will fail. If the bundle ID doesn't match the configuration in App Store Connect (or package name for Google Play, etc.), the request will fail. The guide linked above details the potential configuration issues.
20+
If you can't fetch products, or your offerings are empty, this is nearly always a configuration issue. Our [troubleshooting guide](/offerings/troubleshooting-offerings) covers the most common issues and how to fix them.
3121

3222
### Customer can't access their entitlements?
3323

@@ -40,9 +30,9 @@ If a user has active purchases that are no longer synced to their user ID or the
4030

4131
Restoring purchases will re-sync the user's purchase with the currently identified user ID and re-unlock any entitlements that have been lost due to a changed user ID. If this does not work, it might have to do with you're identifying users or how you are checking for entitlements. We recommend checking the respective docs linked below.
4232

43-
- [Restore behavior](https://www.revenuecat.com/docs/getting-started/restoring-purchases).
44-
- [Identifying users](https://www.revenuecat.com/docs/customers/user-ids).
45-
- [Checking subscription status](https://www.revenuecat.com/docs/customers/customer-info).
33+
- [Restore behavior](/getting-started/restoring-purchases)
34+
- [Identifying users](/customers/user-ids)
35+
- [Checking subscription status](/customers/customer-info)
4636

4737
### A user's purchases were mistakenly transferred.
4838

@@ -53,7 +43,7 @@ While this may seem unexpected at times, this is **extremely common**, and is a
5343
1. The user is logged into the underlying store account, indicating ownership of those purchases.
5444
2. The user is attempting to restore those purchases from a different app user ID than the one that already owns the purchases.
5545

56-
We recommend also looking more into your transfer settings as this can chang the behavior in your app when a transfer is made. More information on this can be found [here](https://www.revenuecat.com/docs/getting-started/restoring-purchases#transferring-purchases-seen-on-multiple-app-user-ids).
46+
We recommend also looking more into your transfer settings as this can chang the behavior in your app when a transfer is made. More information on this can be found [here](/getting-started/restoring-purchases#transferring-purchases-seen-on-multiple-app-user-ids).
5747

5848
### I accidentally logged in all of my app users with the same app user ID.
5949

@@ -75,25 +65,21 @@ While you can't directly reset customer attributes, you can delete your current
7565

7666
### Help, I am having issues with the SDK.
7767

78-
We have gone ahead and created a document to troubleshoot SDK problems which we recommend checking out [here](https://www.revenuecat.com/docs/test-and-launch/debugging/troubleshooting-the-sdks)!
68+
We have gone ahead and created a document to troubleshoot SDK problems which we recommend checking out [here](/test-and-launch/debugging/troubleshooting-the-sdks)!
7969

8070
### What countries are supported?
8171

8272
Since RevenueCat works as a wrapper for purchases made by the respective store, we will support purchases from countries that each of the respective stores support.
8373

84-
- [App Store supported countries](https://support.apple.com/en-us/118205)
85-
- [Google Play Store supported countries](https://support.google.com/googleplay/answer/143779?hl=en-GB&sjid=12085401994901043904-NC)
86-
- [Amazon App Store supported countries](https://www.amazon.com/gp/help/customer/display.html?nodeId=GG6HESXQN45DZQ8N)
87-
- [Stripe supported countries](https://stripe.com/global)
88-
- [Web Billing](https://www.revenuecat.com/docs/web/web-billing) - Since Web Billing (formerly RevenueCat Billing) only supports using Stripe as the payment gateway, we currently will use the same supported countries as Stripe does as seen in the link above.
74+
See [here](/platform-resources/developer-store-payments) for a list of supported countries.
8975

9076
### Why does my app keep getting rejected?
9177

92-
If your app is being rejected from the respective store it can be for many different reasons. We have a useful document [here](https://www.revenuecat.com/docs/test-and-launch/app-store-rejections) that goes over common reasons for rejection and how to help get your app approved!
78+
If your app is being rejected from the respective store it can be for many different reasons. We have a useful document [here](/test-and-launch/app-store-rejections) that goes over common reasons for rejection and how to help get your app approved!
9379

9480
### Seeing crashes like `NoCoreLibraryDesugaringException` or `NoClassDefFoundError: com.android.billingclient.api.zzce` in your Android app?
9581

96-
If you're seeing a crash similar to:
82+
If you're seeing a crash similar to:
9783

9884
```
9985
com.revenuecat.purchases.NoCoreLibraryDesugaringException: Error building BillingFlowParams which is required to perform purchases in the Play store. This is due to an issue in Google's Billing Client library.
@@ -111,7 +97,7 @@ This issue was introduced by Google in the Billing client library in version 7.1
11197

11298
The Play Billing Library started using certain Java 8 types, which not all devices can handle. Concretely this issue may happen in specific older Android models.
11399

114-
Until Google fixes this, the current workaround is to enable Core Library Desugaring in your Android app. To do so, you can follow the instructions [here](https://developer.android.com/studio/write/java8-support#library-desugaring).
100+
Until Google fixes this, the current workaround is to enable Core Library Desugaring in your Android app. To do so, you can follow the instructions [here](https://developer.android.com/studio/write/java8-support#library-desugaring).
115101

116102
Please let us know if you are still having issues!
117103

@@ -121,7 +107,7 @@ Service credentials issues can be tricky and can occur for multiple reasons but
121107

122108
### Google Play Service credentials Troubleshooting.
123109

124-
We have a great document [here](https://www.revenuecat.com/docs/service-credentials/creating-play-service-credentials/google-play-checklists) that goes over how to check which part of your credentials is failing and if it is failing how to fix the issue at hand. We recommend checking that out if you are experiencing any issues in relation to this!
110+
Having trouble with Google Play credentials? Check out our troubleshooting guide [here](/service-credentials/creating-play-service-credentials/google-play-checklists) to identify and fix any credential issues.
125111

126112
### App Store Connect API Key.
127113

docs/revenuecat-support/support-first-steps.mdx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ Our documentation (you're already here!) answers a lot of questions about Charts
1919
title="⚠️ View Status Page"
2020
/>
2121

22-
### Contacting Support
22+
## Common Issues
23+
24+
For troubleshooting common issues, view our troubleshooting guide [here](/revenuecat-support/general-troubleshooting)!
25+
26+
## Contacting Support
2327

2428
When contacting support, it's extremely important that you provide enough information for the team to help out. This includes:
2529

@@ -28,12 +32,3 @@ When contacting support, it's extremely important that you provide enough inform
2832
3. **Be descriptive.** We need you to be as descriptive as possible about the issue you're facing. We receive a lot of questions, and if we don't have enough information we're going to be requesting more. This causes unnecessary back and forth, and delays the answer you're looking for.
2933

3034
Finally, be sure to check the [status page](https://status.revenuecat.com) before creating a ticket if you're concerned about potential downtime.
31-
32-
<ExternalButton
33-
href="https://app.revenuecat.com/settings/support"
34-
title="Open a Support Ticket"
35-
/>
36-
37-
### General Troubleshooting
38-
39-
For more troubleshooting, view our troubleshooting document [here](/revenuecat-support/general-troubleshooting)!

docs/test-and-launch/app-store-rejections.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ excerpt: Your app was rejected. Now what?
55
hidden: false
66
---
77

8-
:::danger
9-
RevenueCat Support can explain error messages, or help you troubleshoot reproducible issues, but don't have other ways of expediting the review process.
10-
:::
11-
128
Your app is finally complete! 🎉 You're tracking subscriptions in Sandbox, your Testflight users love it, you've followed our [Launch Checklist](/test-and-launch/launch-checklist), and you're finally ready to launch your app to the world.
139

1410
After a few days in review, you get the dreaded 'Rejected' message. Now what? Let's work through some common rejection reasons and the best way to get your app back on track.
1511

12+
:::danger
13+
RevenueCat Support can explain error messages, or help you troubleshoot reproducible issues, but don't have other ways of expediting the review process.
14+
:::
15+
1616
## Understanding the rejection reason
1717

1818
According to Apple's [App Review Center](https://developer.apple.com/app-store/review/), over 40% of app rejections are for [Guideline 2.1 – Performance: App Completeness](https://developer.apple.com/app-store/review/guidelines/#app-completeness) - this means that something didn't work in your app during review. We can't help with those rejections, obviously.

docusaurus.config.js

Lines changed: 23 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ const config = {
6868
docs: {
6969
sidebarPath: "./sidebars.ts",
7070
routeBasePath: "/",
71-
breadcrumbs: true,
71+
breadcrumbs: false,
7272
editUrl: "https://github.com/RevenueCat/docs/tree/main/",
7373
},
7474
theme: {
@@ -161,36 +161,36 @@ const config = {
161161
title: "RevenueCat",
162162
logo: {
163163
alt: "RevenueCat Logo",
164-
src: "img/logo-rc.svg",
164+
src: "img/logo-rc-small.svg",
165165
},
166166
items: [
167167
{
168-
label: "Categories",
169-
to: "/welcome/overview",
170-
items: [
171-
{
172-
type: "docSidebar",
173-
sidebarId: "defaultSidebar",
174-
label: "Implementation Reference",
175-
},
176-
{
177-
type: "docSidebar",
178-
sidebarId: "integrationsSidebar",
179-
label: "Events & Integrations Reference",
180-
},
181-
{
182-
type: "docSidebar",
183-
sidebarId: "dataSidebar",
184-
label: "Charts, Metrics, & Data Reference",
185-
},
186-
],
168+
type: "docSidebar",
169+
sidebarId: "defaultSidebar",
170+
label: "Implementation",
171+
},
172+
{
173+
type: "docSidebar",
174+
sidebarId: "dataSidebar",
175+
label: "Charts & Data",
176+
},
177+
{
178+
type: "docSidebar",
179+
sidebarId: "integrationsSidebar",
180+
label: "Integrations",
187181
},
188182
{
189183
label: "Guides",
190184
type: "docSidebar",
191185
sidebarId: "playbookSidebar",
192186
position: "left",
193187
},
188+
{
189+
label: "Support",
190+
type: "docSidebar",
191+
sidebarId: "supportSidebar",
192+
position: "left",
193+
},
194194
{
195195
label: "REST API",
196196
to: "/api-v1/",
@@ -204,26 +204,12 @@ const config = {
204204
to: "/api-v2/",
205205
},
206206
],
207-
},
208-
{
209-
label: "Support",
210-
type: "docSidebar",
211-
sidebarId: "supportSidebar",
212207
position: "left",
213208
},
214209
{
215-
label: "Account",
210+
label: "Dashboard",
216211
position: "right",
217-
items: [
218-
{
219-
label: "Sign Up",
220-
to: "https://app.revenuecat.com/signup",
221-
},
222-
{
223-
label: "Sign In",
224-
to: "https://app.revenuecat.com/login",
225-
},
226-
],
212+
to: "https://app.revenuecat.com",
227213
},
228214
],
229215
},

sidebars.ts

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,7 @@ const accountCategory = Category({
584584

585585
const supportCategory = Category({
586586
iconName: "help-prominent",
587+
iconColor: "var(--rc-red-primary)",
587588
label: "RevenueCat Support",
588589
itemsPathPrefix: "revenuecat-support/",
589590
items: [
@@ -622,7 +623,7 @@ const migrateToRevenueCatCategory = Category({
622623

623624
const sdkMigrationCategory = Category({
624625
iconName: "file-document",
625-
iconColor: "black",
626+
iconColor: "var(--text-primary)",
626627
label: "SDK Reference",
627628
itemsPathPrefix: "",
628629
items: [
@@ -660,7 +661,7 @@ const sdkMigrationCategory = Category({
660661

661662
const metricsCategory = Category({
662663
iconName: "chart-pie",
663-
iconColor: "var(--rc-froggy-primary)",
664+
iconColor: "var(--rc-green-primary)",
664665
label: "Metrics",
665666
itemsPathPrefix: "dashboard-and-metrics/",
666667
items: [
@@ -675,7 +676,7 @@ const metricsCategory = Category({
675676

676677
const chartsCategory = Category({
677678
iconName: "chart-bar",
678-
iconColor: "var(--rc-froggy-primary)",
679+
iconColor: "var(--rc-green-primary)",
679680
label: "Charts",
680681
itemsPathPrefix: "dashboard-and-metrics/",
681682
items: [
@@ -766,7 +767,7 @@ const chartsCategory = Category({
766767

767768
const dataExportCategory = Category({
768769
iconName: "file-download",
769-
iconColor: "var(--rc-froggy-primary)",
770+
iconColor: "var(--rc-green-primary)",
770771
label: "Data Exports",
771772
itemsPathPrefix: "integrations/",
772773
items: [
@@ -871,7 +872,7 @@ const aiToolsCategory = Category({
871872

872873
const chartsDummyCategory = Category({
873874
iconName: "chart-bar",
874-
iconColor: "var(--rc-froggy-primary)",
875+
iconColor: "var(--rc-green-primary)",
875876
label: "Charts & Metrics",
876877
itemsPathPrefix: "",
877878
items: [
@@ -1056,6 +1057,40 @@ const playbooksOtherResourcesCategory = Category({
10561057
],
10571058
});
10581059

1060+
const supportResourcesCategory = Category({
1061+
iconName: "info",
1062+
iconColor: "var(--rc-violet-primary)",
1063+
label: "App Launch",
1064+
itemsPathPrefix: "",
1065+
items: [
1066+
Link({
1067+
label: "App Launch Checklist",
1068+
slug: "/test-and-launch/launch-checklist",
1069+
}),
1070+
Link({
1071+
label: "App Store Rejections",
1072+
slug: "/test-and-launch/app-store-rejections",
1073+
}),
1074+
],
1075+
});
1076+
1077+
const supportLinksCategory = Category({
1078+
iconName: "info",
1079+
iconColor: "var(--text-primary)",
1080+
label: "Links",
1081+
itemsPathPrefix: "",
1082+
items: [
1083+
Link({
1084+
label: "RevenueCat Blog",
1085+
slug: "https://www.revenuecat.com/blog",
1086+
}),
1087+
Link({
1088+
label: "RevenueCat Community",
1089+
slug: "https://community.revenuecat.com",
1090+
}),
1091+
],
1092+
});
1093+
10591094
// Add the top level categories to the defaultSidebar object
10601095
// The defaultSidebar is referenced in docusaurus.config.js
10611096
const sidebars = {
@@ -1095,21 +1130,8 @@ const sidebars = {
10951130
],
10961131
supportSidebar: [
10971132
supportCategory,
1098-
Category({
1099-
iconName: "info",
1100-
label: "Links",
1101-
itemsPathPrefix: "",
1102-
items: [
1103-
Link({
1104-
label: "RevenueCat Blog",
1105-
slug: "https://www.revenuecat.com/blog",
1106-
}),
1107-
Link({
1108-
label: "RevenueCat Community",
1109-
slug: "https://community.revenuecat.com",
1110-
}),
1111-
],
1112-
}),
1133+
supportResourcesCategory,
1134+
supportLinksCategory,
11131135
],
11141136
};
11151137

0 commit comments

Comments
 (0)