HealthShare Personal Community Mobile Application Guide 1. Overview Personal Community is designed as a fully responsive web application. Additionally, organizations can deploy Personal Community as a mobile application available on various app stores. This guide outlines how to leverage the mobile application framework to build and deploy the hybrid mobile application. Hybrid mobile apps are developed using web technologies such as HTML, CSS, and JavaScript but are wrapped in a native container, allowing them to be installed on mobile devices and accessed through app stores. Personal Community uses Capacitor to create the hybrid mobile application. Capacitor is a cross-platform app runtime that provides a native bridge for web apps, enabling you to build and deploy mobile applications using web technologies. Capacitor allows you to: Access native device features using a simple API. Deploy your application as a native app on multiple platforms, including iOS and Android. To learn more about Capacitor, visit the official Capacitor documentation . 2. Responsibility Matrix Ownership of the mobile application is shared across three parties: Core Personal Community Development Ensures the application functions as intended when deployed to iOS or Android devices. Conducts yearly reviews of the application with Apple and Google to ensure it meets their publishing guidelines. Implementation Deploys the mobile application for each customer using Capacitor. If implementing push notifications, creation and management of Firebase project for push notification support. Manages the deployment of the mobile application as part of Personal Community upgrades. Publishes the mobile application to the app stores (this may be handled by the customer). Customer (if not handled by implementation) If implementing push notifications, creation and management of Firebase project for push notification support. Manages relationships and accounts needed to publish the application to the app store. Publishes the mobile application to the app stores. 3. Building the Personal Community Mobile Application with Capacitor 3.1. Environment Requirements Version Dependencies Building the mobile application for Personal Community requires specific versions of software. Always ensure you are using the versions specified in this document, failure to due so may cause unexpected behavior in the application. If you are building the application for iOS, your environment must be macOS . 3.2. Installing NodeJS Ensure you are using the correct version of NodeJS for the version of Personal Community you are using. Personal Community Version Node Version npm Version <=2025.5 16.19.0 8.19.3 2025.6 - 2026.3 20.14.0 10.7.0 >=2026.4 22+ 10.9.8 Use the following steps to install: Uninstall any other versions of node that are currently on the system. Download and install node version manager (nvm) and use it to install the appropriate node version. On Mac/Linux, download and install nvm from: https://github.com/creationix/nvm On Windows, download and install nvm from https://github.com/coreybutler/nvm-windows/releases/download/1.1.7/nvm-setup.zip Using the terminal of your choice, install node. nvm install 22 nvm use 22 On mac / Linux, run nvm alias default 22 Confirm your version of node. node --version # v22.x.x Confirm your version of npm. npm --version # v10.9.8 If the npm version is not correct, install the correct version. On Mac/Linux npm install -g [email protected] On Windows Delete the following files from the nvm\[node version] folder (e.g. C:\Users\[user name]\AppData\Roaming\nvm\10.15.1) C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npm C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npm.cmd C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npx C:\Users\[user name]\AppData\Roaming\nvm\[node version]\npx.cmd Rename the underlying node_modules\npm folder to npm2 C:\Users\[user name]\AppData\Roaming\nvm\[node version]\node_modules\npm2 Open any console with admin rights, and type the following commands cd C:\Users\[user name]\AppData\Roaming\nvm\[node version]\node_modules\npm2\bin node npm-cli.js i -g [email protected] Verify the npm version npm --version # v10.9.8 3.3. Requirements for iOS Building the mobile app for iOS requires macOS. Install the following dependencies: 3.3.1. Xcode Version and Minimum OS Version Xcode is Apple's IDE for creating native macOS, iOS, and iPadOS applications. Install Xcode by using the Apple App Store on your Mac. For Personal Community versions with a minimum OS version defined below, the minimum version should not be modified in Xcode. Personal Community Version Xcode Version Minimum OS Version 2025.6 - 2026.2 16.0+ >=2026.3 26.0+ (required only by Apple policy at the time of release) 16.0 Beginning in April 2026, Apple requires Xcode version 26 for App Store submission. Xcode 26 should be used to ensure compatibility with Apple's latest App Store submission policy. This is independent of Personal Community version. 3.3.2. XCode Command Line Tools The Xcode command line tools are additional tools not included with the core of Xcode that are required for building and testing our application. Once Xcode has been installed, install the Xcode Command Line Tools by running the following command in the terminal: xcode-select --install V erify that the tools are installed. xcode-select -p # /Applications/Xcode.app/Contents/Developer 3.3.3. Homebrew Homebrew is a package manager for macOS packages. It is needed in order to install CocoaPods. To install Homebrew, run the following bash command: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3.3.4. Cocoapods Personal Community Version Cocoapods Version >=2025.6 1.16.2 Cocoapods is an iOS dependency manager that Capacitor uses to install and manage native dependencies for the iOS project. You can install CocoaPods by running the following command in the terminal: brew install cocoapods V erify that CocoaPods has installed correctly by running the following command : pod --version # 1.16.2 3.4. Requirements for Android Personal Community Version Android Studio Version Java JDK 2025.6 - 2026.3 Ladybug | 2024.2.1 + 21 >=2026.4 Otter | 2025.2.1 + 21 Install the following dependencies to build the mobile application for Android: Android Studio Android Studio is Google's IDE for creating native Android applications. You can install Android Studio by going to the Android Studio download page . After upgrading Android Studio, run Tools → AGP Upgrade Assistant An Android SDK installation Once Android Studio has been installed, you need to install an Android SDK package. Developing Android apps requires some Android SDK packages to be installed. Make sure to install the Android SDK Tools, and a version of the Android SDK Platforms for API 23 or greater. In Android Studio, open Settings , search for Android SKD . from the menu and install the platform versions you would like to test with in the SDK Platforms tab. 3.5. Installing Base-Capacitor-Env Personal Community makes a pre-configured repository available for creating the mobile application. The repository with ReadMe file can be downloaded from the WRC Software Distribution . The file called HealthShare Personal Community Capacitor contains both the repository and ReadMe file. Follow the steps in the ReadMe file to complete the following: Configuring Capacitor Configuring Capacitor includes obtaining the intended version of the dist, which is the HealthShare Personal Community Mobile tgz file available for download from the WRC Software Distribution . Running the Mobile App 4. Push Notifications Personal Community uses Firebase Cloud Messaging (FCM) , Google's cross-platform push notification service, to deliver notifications to both Android and iOS devices. FCM provides a single notification platform while managing delivery between the application server and the mobile device through each operating system's native notification service: Android: FCM delivers notifications directly to devices through Google Play services. iOS: FCM forwards notifications to Apple Push Notification service (APNs), which then delivers the notification to the device. Each Personal Community deployment is responsible for configuring and maintaining its own Firebase project. As part of the implementation, each customer must provision and manage: A dedicated Firebase project Firebase service account credentials Android application registration and configuration iOS application registration and configuration An APNs Authentication Key ( .p8 ) for iOS notification delivery These resources are customer-specific and must be configured within the customer's own Firebase account. Once configured, Personal Community can deliver push notifications for: Personal Community system event notifications (such as account status changes and proxy configuration updates) Notifications generated by other integrated external systems Push notifications are an opt-in notification method. A patient must grant notification permission through the operating system's push notification permission dialog after signing in to the Personal Community mobile application. Until permission is granted, push notifications cannot be delivered to that device. After permission has been granted, notification delivery continues to be governed by the device's operating system. Patients can enable or disable push notifications for the Personal Community mobile application at any time through their device's notification settings. If push notifications become unavailable, Personal Community can continue delivering notifications through the patient's configured email and/or text message notification routes. 4.1. Push Notification Limitations The following limitations apply to push notification support: Two-factor authentication – Push notifications are not supported for 2FA. Verification codes can only be delivered by email or SMS. Deep links – Push notifications do not support deep links or navigation to specific pages within the application. Urgent notifications – Push notifications cannot bypass device settings such as Silent mode, Do Not Disturb, or Focus modes. In-app notifications – Notifications are delivered through the device's push notification service only. In-app notifications are not supported. Shared devices – Push notifications are intended for devices used by a single patient. Multiple patients sharing the same device are not supported. 4.2. Prerequisites Before you begin, ensure you have: Created a Firebase project . A paid Apple Developer account (required for iOS). Installed and have access to the base-capacitor-env project. 4.3. Configure Base-Capacitor-Env and Firebase Project for Push Notifications 4.3.1. Android In the Firebase Console, register the Android application . Select Android to add the Android app. Use the application's package name ( appId in capacitor.config.json ) as your Android package name . Select Register app . Download the google-services.json configuration file. Copy google-services.json into the application's app directory under android/app/ . 4.3.2. iOS In the Firebase Console, register the iOS application . Select iOS within Add App to add the iOS app. Use the app's bundle id ( appId in capacitor.config.json ) as the iOS bundle ID . Select Register app . Download the GoogleService-Info.plist configuration file. This is not the same file used for the Android app. Open the project in Xcode: npx cap open ios Drag GoogleService-Info.plist into the Xcode project as instructed by Firebase, ensuring to add it to all targets. Add the file using Xcode. Do not copy the file into the project directory. 4.3.2.1. Configure Apple Push Notifications (iOS) A paid Apple Developer account is required to configure push notifications for iOS. In the Apple Developer Portal: Update the required development and production certificates and provisioning profiles to support push notifications. Create an APNs Authentication Key . Enable Push Notifications in Xcode: Open the application in Xcode. Select the application target and enable the Push Notifications capability . Ensure the Push Notifications capability is enabled for at least the Release configuration. Xcode allows you to enable the Push Notifications capability for Debug , Release , or both. Upload the APNs Authentication Key : In the Firebase Console, navigate to the iOS application → Settings page → Cloud Messaging. Under the iOS app configuration , upload the APNs Authentication Key or APNs Certificate. 4.3.3. Enable Push Notification Code Locate all optional push notification code by searching for the PUSH_OPTIONAL marker: rg "PUSH_OPTIONAL" Uncomment the PUSH_OPTIONAL blocks Ensure the following files are changed: File Required Change AndroidManifest.xml Uncomment the POST_NOTIFICATIONS permission. AppDelegate.swift Uncomment the Firebase imports, FirebaseApp.configure() , and the APNs delegate callback implementations. Sync after uncommenting the above code: npx cap sync 4.4. Configure Personal Community for Push Notifications 4.4.1. Create Firebase Credentials A set of interoperability credentials for your Firebase project must be created for configuration in the Personal Community production. First, generate a private key in your Firebase project: Navigate to the Firebase console for your Firebase project. In the Firebase project, go to Settings → General → Service Accounts . Select Generate a new private key . Using a text editor (e.g. VSCode), open the private key file and modify it so it is only on one line. Next, register your Firebase interoperability credentials: Logon to the Management Portal as a user with the %EnsRole_Adminstrator role. Change to the Personal Community namespace. (This uses the Switch link, which is at the top of the Portal.) Navigate to Interoperability > Configure > Credentials. This displays the Credentials Viewer on the right. In the Credentials Viewer , enter the following values for the fields: ID - Enter "FCM" User Name - Enter "Service_Account" Password - Enter the content of the private key you modified to be only one line. Business Partner - This field is not relevant. Do not enter any value here. Select Save to save these credentials. 4.4.2. Create an SSL Configuration You will need an SSL/TLS configuration to establish secure communication with Firebase Cloud Messaging. To create an SSL/TLS configuration on your instance of Personal Community: Log into the Management Portal for Personal Community as a user with the %EnsRole_Administrator role and switch to the Personal Community namespace. Go to the SSL/TLS Configurations page ( System Administration > Security > SSL/TLS Configurations ) and select Create New Configuration . Enter a name of your choice for the configuration. Make sure that the configuration is enabled: the Enabled checkbox should already be selected. For Type , make sure that Client is selected. For Server certificate verification , make sure that None is selected. For Protocols , make sure that TLSv1.1 and TLSv1.2 are selected. Select the Save button to save the new configuration. IMPORTANT If your installation of Personal Community is mirrored, you must complete these same steps on both members of the mirror. 4.4.3. Configure the Push Notification Production Components To enable push notification delivery, you must configure the business process and business operation responsible for routing notifications to Firebase Cloud Messaging (FCM). To configure your Personal Community production for push notifications: Log on to the Management Portal for Personal Community as a user with the %EnsRole_Administrator role. In your Personal Community namespace, go to the Production Configuration page. Specifically: Go to your Personal Community namespace by selecting Switch from the title bar and choosing its name in the namespace chooser. From the Management Portal, select Interoperability > Configure > Production . Set up the business operation: Under Operations , select the + icon, to add a new business operation. This displays the Business Operation Wizard . Select the HSPortal.Production.Operation.PushNotificationOperation item in the page and do the following: Fill in the Operation Name field with the following: HSPortal_PushNotificationOperation . Select the Enabled check box and then select the Apply button to enable the component After you add the operation, set its property values as follows: Under Basic Settings : FCMCredential – Select the Firebase credentials configured in the previous section. LockTimeout – The timeout used to coordinate OAuth access token refresh operations. By default this timeout is 5 seconds. Adjust this based on your testing of the timing to receive the OAuth response from FCM. SSLConfig – Specify the SSL/TLS configuration used to establish secure communication with Firebase Cloud Messaging. This should be set to a valid SSL configuration that allows outbound HTTPS communication with FCM. ReplyCodeActions – Set this property to E*Retry=R,E=F . Select OK to save the business operation. Set up the business process: Under Processes , select the + icon, to add a new business process. This displays the Business Process Wizard . Select the HSPortal.Production.Process.PushNotificationProcess item in the page and do the following: Fill in the Process Name field with the following: HSPortal_PushNotificationProcess . Select the Enabled check box and then select the Apply button to enable the component Modify its property values as follows: SubmissionTarget – Select HSPortal_PushNotificationOperation . TokenStalenessDays – The number of days a device registration token can remain inactive before it is considered stale and automatically deactivated. By default this is 30 days. Select OK to save the business process. 4.4.4. Configure the Push Notification Process Routing For every notification process that should be able to trigger a push notification, you must configure your Push Notification Operation as the target: Select each of the following processes if they are configured for use in your environment: HSPortal_ActivationNotificationProcess (classname: HSPortal.Production.Process.ActivationNotificationProcess) – Provides notification of the account activation workflow to the patient. HSPortal_InvitationsNotificationProcess (classname: HSPortal.Production.Process.InvitationsNotificationProcess) – Provides invitation to enroll to the patient. HSPortal_MessageNotificationProcess (classname: HSPortal.Production.Process.MessageNotificationProcess) – Provides notification of new messages to the patient. HSPortal_PasswordNotificationProcess (classname: HSPortal.Production.Process.PasswordNotificationProcess) – Provides notification of forgotten or expired credentials to the patient. HSPortal_SelfEnrollmentNotificationProcess (classname: HSPortal.Production.Process.SelfEnrollmentNotificationProcess) – Provides notification of the self-enrollment process to the patient. HSPortal_TaskNotificationProcess (classname: HSPortal.Production.Process.TaskNotificationProcess) – Provides notification of new tasks to the patient. For each of the above processes, modify their property values as follows: PushNotificationTarget – Select HSPortal_PushNotificationOperation . Select OK to save the business process. 4.4.5. Enable Push Notifications in the Workbench To enable push notifications in the Workbench: Log into the Workbench as a user with the Configuration Manager role. Go to the Configuration Application page ( Setup > Configuration Application ) and select the Feature Control tab. Select Edit Mode to make edits to the fields described in the following steps. In the Account Settings box, select the Enable Push Notifications checkbox. Submit your changes. 4.4.5.1. Additional Notification and Communication Methods Review your existing configuration for the following account settings interactions that may enable additional, or other, methods of communication. These settings should all be reviewed for relevant push notification considerations and related fallback logic for when push notifications are no longer available for the patient. Notifications may revert to a fallback notification route in the following cases: Failure to send the push notification Unsupported content file – password-reset Patient revoked notification permissions Device registration token expiration 4.4.5.1.1. System Default Communication Method By default, Email is the system default communication method. 4.4.5.1.2. Review Preferences Review the existing Review Preferences configuration in the Workbench. Push notifications extend the existing communication preference workflow by allowing patients to receive notifications through push notifications alone or in combination with email and/or text message preferences. The patient's existing communication preferences also serve as the fallback notification routes if push notifications can no longer be delivered (for example, if notification permission is revoked or the device registration token expires). Push notification permission cannot be modified here, it must be modified within the device settings. To review the Review Preferences configuration: Log into the Workbench as a user with the Configuration Manager role. Navigate to Setup > Configuration Application and select the Feature Control tab. Select Edit Mode . Review the following settings under Account Settings . Setting Push Notification Considerations Enable Review Preferences Determines whether patients can review and update their preferences after account activation. Enabled: Patients may be able to configure their preferred notification routes after granting or declining push notification permission, depending on below configuration. Disabled: Patients are not prompted to review their preferences. Their communication method configured during enrollment remains unchanged. If push notifications are enabled on the device for this user, notifications are delivered by push notification only. If push notifications later become unavailable (for example, notification permission is revoked or the device token expires), Personal Community falls back to the communication method configured during enrollment. Enable Preferred Communication Method Allows patients to configure email and text message notification routes in addition to push notifications. This setting is recommended if patients should be able to receive notifications through multiple channels. Enabled: After accepting push notification permission, patients can choose between Push notifications only and Push notifications and other notification methods . If the latter is selected, the patient can choose Email and/or Text Message (depending on the configured options). Notifications are delivered through push notifications and each selected communication method. If push notifications later become unavailable, notifications continue to be delivered through the selected email and/or text message routes. If the patient declines push notification permission, only the configured email and/or text message options are available. Disabled: Patients cannot configure additional notification routes. If push notifications are enabled, notifications are delivered by push notification only. If push notifications later become unavailable, Personal Community falls back to the communication method configured during enrollment. Enable Email Address Recommended when email notifications are supported. Enable Mobile Phone Number Recommended when text message notifications are supported. 4.4.5.1.3. Update Profile Review the existing Update Profile configuration in the Workbench. When push notifications are enabled, the Update Profile page is also used to allow patients to manage any additional notification delivery preferences at any point in time. The patient's communication preferences also serve as the fallback notification routes if push notifications can no longer be delivered (for example, if notification permission is revoked or the device registration token expires). Push notification permission cannot be modified here, it must be modified within the device settings. To review Update Profile configuration: Log into the Workbench as a user with the Configuration Manager role. Navigate to Setup > Configuration Application and select the Feature Control tab. Select Edit Mode . Review the following settings under Account Settings . Setting Push Notification Considerations Enable Patient Profile Updates Determines whether patients can review and update their preferences and profile from the Profile Summary page Enabled: Patients can modify their preferences at any time from Account Settings > Update Profile . The communication preference section behaves the same as the Review Preferences page. Disabled: Patients cannot modify their preferences. The notification preference established during activation (or enrollment if Review Preferences is disabled) remains in effect until changed by an administrator. If push notifications are enabled on the device for this user, notifications are delivered by push notification only. If push notifications later become unavailable (for example, notification permission is revoked or the device token expires), Personal Community falls back to the communication method configured. Enable Email Address Recommended when email notifications are supported. Enable Mobile Phone Number Recommended when text message notifications are supported. Enable Preferred Communication Method Allows patients to manage email and text message notification routes after account activation. This setting is recommended if patients should be able to receive notifications through multiple channels. Enabled: If push notifications have been accepted, patients can choose between Push notifications only and Push notifications and other notification methods . If the latter is selected, the patient can enable Email and/or Text Message (depending on the configured options). Notifications are delivered through push notifications and each selected communication method. If push notifications later become unavailable, notifications continue to be delivered through the selected email and/or text message routes. If push notification permission has not been granted, only the configured Email and/or Text Message options are displayed together with a message indicating that push notifications can be enabled later from the device settings. Disabled: Patients cannot modify communication preferences. The notification preference established during activation (or enrollment if Review Preferences is disabled) remains in effect. Enable Email Address Recommended when email notifications are supported. Enable Mobile Phone Number Recommended when text message notifications are supported. 4.4.6. Configure System Tasks To ensure reliable push notification delivery and ongoing maintenance of device registration tokens, configure the scheduled tasks described below. 4.4.6.1. Configure the OAuth Warm-up Task The OAuth Warm-up Task periodically refreshes the Firebase Cloud Messaging (FCM) OAuth access token. Keeping the token cached minimizes authentication overhead and avoids delays when notifications are sent. It is recommended that this task runs every 15 to 30 minutes . To configure the OAuth Warm-up Task: Log into the Management Portal as a user who has a role with the %Admin_Operate:Use privilege. Go to the Task Scheduler Wizard page ( System Operation > Task Manager > New Task ) On the Task Scheduler Wizard page, specify values for the fields as follows: Task Name — Specify the name that you wish the task to have. Namespace to run task in — Select the namespace that your instance of Personal Community is using. If you have followed the example of the installation guide, this is HSPC. Task Type — Select OAuth Warm-up Task. Once you have completed the fields on this page, select Next . This displays the page of the wizard for specifying how frequently the task runs. On this page, specify how often the Task Manager runs the task, as well as other scheduling constraints. Select Finish . This adds the task to those scheduled to run, and displays the Task Schedule page, where the task is now listed. (To go directly to the Task Schedule page, select System Operation > Task Manager > Task Schedule .) 4.4.6.2. Configure the Stale Token Cleanup Task The Stale Token Cleanup Task periodically reviews registered device tokens and deactivates tokens that have not been refreshed within the configured inactivity period. It is recommended that this task runs once daily during off-peak hours. To configure the Stale Token Cleanup Task: Log into the Management Portal as a user who has a role with the %Admin_Operate:Use privilege. Go to the Task Scheduler Wizard page ( System Operation > Task Manager > New Task ) On the Task Scheduler Wizard page, specify values for the fields as follows: Task Name — Specify the name that you wish the task to have. Namespace to run task in — Select the namespace that your instance of Personal Community is using. If you have followed the example of the installation guide, this is HSPC. Task Type — Select Stale Token Cleanup Task . Selecting this task displays the following field: TokenStalenessDays – The inactivity period, in days, that is used to deactivate tokens that have not been refreshed. If no value is provided here, the default value of 30 will be used. Once you have completed the fields on this page, select Next . This displays the page of the wizard for specifying how frequently the task runs. On this page, specify how often the Task Manager runs the task, as well as other scheduling constraints. Select Finish . This adds the task to those scheduled to run, and displays the Task Schedule page, where the task is now listed. (To go directly to the Task Schedule page, select System Operation > Task Manager > Task Schedule .) 4.4.7. Configure Push Notification Content See the Personal Community Messaging: System Initiated Notifications from External Systems Setup Guide and the Personal Community Localization Setup Guide for information on customizing the existing Personal Community system event notifications and creating additional notifications for notifications from external systems. 5. Configuring Personal Community for External Credentials in Mobile App Deployments This step is only required for implementation of external credentials with Personal Community deployed as a mobile app. Complete the following steps to set the following global: Make the following terminal call in your Personal Community namespace: Set ^HSPortal.ConfigD("MobileAppOAuthRedirectURL") = "iscinternal.basecapacitorenv.app://oauth/callback" Replace " iscinternal.basecapacitorenv.app " with your app bundle ID of base-capacitor-env repo in all lowercase . 6. Publishing the App For patients to be able to download and install the Personal Community mobile application, it must be published to an app store. InterSystems has verified the process for publishing to Apple and Google Play. Implementation should review the full documentation provided by each app store the customer wishes to publish with. 6.1. Required Information Needed 6.1.1. Application Items Need Prior to Building a Release Prior to building the application for release, the following information will be needed: Unique name for the application on the app store (bundle id) Display name for the application App Icons for the application → customers may provide implementation with one PNG and online tools can be used to create Account access for implementation to assist with publishing 6.1.2. Marketing Materials Publishing to the app store requires designing and providing the information needed to create a store listing. This includes: A minimum of 3 screenshots of the application. These will need to be captured at different sizes to fulfill both the Apple and Google Store requirements Feature Graphic - This is required for the Google Play store. 6.1.3. Privacy and Security Materials Both Apple and Google require a set of attestations and privacy policies in order to publish the application. Implementation should review what is needed for the desired stores and ensure the customer provides the appropriate links and materials well in advance of publishing. This includes, but is not limited to: Privacy policy URL Content Rating Target Audience Data safety attestation Digital Services Act Attestation (Apple) Both Apple and Google walk the user through completing all the information needed to publish the app to their store. 6.2. Building the App for Apple Distribution The following steps are run within Xcode to build, sign, and publish the application. 6.2.1. Setting the Application Name and Version in Xcode In Xcode, navigate to the General setting. In Identity, set the following: Display Name → Display name for your application Bundle Identifier → The unique identifier for this app on the app store Version → The major version of the published app Build → the minor version of the published app Select the Info file in your App project. On the Information Property List, set the following: Bundle display name → Display name for your application 6.2.2. Setting your App Icons These steps assume you have created the appropriate assets catalog for your app icon. From Xcode: Select your project from the left Right click → Add new file → choose Asset Catalog Upload your asset catalog Confirm all app icons are present 6.2.3. Publishing the App to App Connect In XCode, run the following to publish the app to App Connect Select Project → Archive When this completes, you have the option to Validate App or Distribute App Select Distribute App and choose a distribution model. From App Connect, you can now see this build of the application and can initiate testing, the review process, or publishing. 6.3. Building the App for Android Distribution Publishing the app with Google Play Console requires a Google Developer account. To publish, you can rely on Google to do the signing of the generated app bundle. The Google Play Console will only take apps that meet the following requirements: Are serving API requests of HTTPS → ensure you are configured to use an HTTPs endpoint Is built using the release variant 6.3.1. Setting the Application Name and Version In Visual Studio we will set the name and the version of the app. In your project, navigate to android/app/build.gradle set versionCode as appropriate → This will need to be updated on every release published to the console set versionName as appropriate Execute a find and replace for iscinternal.baseCapacitorEnv.app to set to your unique bundle identifier. Open the AndroidManifest Update the android:label to be the name of your application 6.3.2. Setting your App Icons In Android Studio, navigate to your app/res directory. To add icons: Right click Select New → Image Asset From the editor, change the file path to the path of your app icons 6.3.3. Building and Signing the App In Android Studio: Sync gradle files (File → Sync Project with Gradle Files) Open the Build Variants tool bar View → Tool Windows → Build variants Set Active Build Variant to release Build the app bundle Build → Generate Signed App Bundle / APK Follow the prompts to sign the application 6.3.4. Google Play Console Once you've built your bundle you can upload to the Google Play Console for internal, closed, open testing, and to publish for release. Configure the testing group for your test Create a new release of your application → Choose the option to let Google sign the release Upload your app-release bundle Assign your testers