Overview
You will learn
- How to generate platform specific configurations required for your MDK client
- How to build a standard MDK client
- How to upload your local
.mdkprojectto the Cloud Build service to build a customized MDK client - How to install the binary on your device
Prerequisites
Prerequisites
- Tutorial: Set Up Initial Configuration for an MDK App
- Apple ID: A paid Apple developer account is required
Steps
Intro
Cloud Build Service provides 2 options for creating a mobile development kit client:
- Create a standard MDK client by providing your own app icon and app logo.
- Create a customized MDK client by importing your local
.mdkprojectsimilar to what you might have done via MDK SDK locally on your machine.
You need to:
- Add Cloud Build service feature to your MDK app configuration
- Upload signing profiles and/or app information
- Upload your local
.mdkproject(applies for custom MDK client) - Initiate the build
After a successful build, you can download the APK or IPA file.
Make sure you are choosing the right device platform tab above.
This step is required only if you will be using Push notification in your Android MDK client. If not using the Push, proceed to next step.
Open the Firebase console, login with your Google account and click Create a new Firebase Project.

Firebase Console Create New Project Provide a Project Name, click Continue.

Firebase Project Name Entry Uncheck Enable Gemini in Firebase option and click Continue.

Disable Gemini In Firebase Option Uncheck Enable Google Analytics for this project option and click Create Project.

Disable Google Analytics Create Project Once the project is ready, click Continue.

Firebase Project Ready Continue Click Add app and click Android icon to add Firebase to your Android app.

Firebase Add Android App Provide a unique name to Android package name, click Register app.

Firebase Android Package Name Registration Download
google-services.jsonfile, click Next.
Download google-services.json File In Add Firebase SDK step, click Next.
In the following step, click Next and then click Continue to console.

Firebase Continue To Console
In order to implement Push Notifications, a paid Apple developer account is required. Students or other developers with a personal Apple ID for their team will not be able to use push notifications, because they will not have access to the Developer Portal to generate the required certificate.
To enable your app for push notifications, you need to carry out the following tasks:
- Obtain a certificate signing request
- Create a new development certificate
.cerfile - Install the
.cerfile and create the .p12 file - Register an iOS App ID
- Register your device
- Create a development provisioning profile
Obtain a certificate signing request
In order to use the Apple Push Notification service, you need to create a CSR file.
On your Mac, open the Keychain Access application, and navigate to Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority…

Keychain Access Certificate Request Menu In the dialog, enter the email address which is associated with your Apple Developer account. Also, make sure you check the Request is saved to disk option.

CSR Email Request Saved To Disk Click Continue.
Choose a folder to store the certificate – it is good practice to store generated files in a separate folder for each project – and click Save.
Once you see a dialog saying the certificate is saved successfully, click Done to finish.

Certificate Saved Successfully Done Dialog Create a new development certificate
.cerfileGo to your Apple Developer Account and Click Certificates.

Apple Developer Certificates Section Click + icon to create a Certificate for your app.

Apple Developer Add Certificate Icon Select Apple Development and click Continue.

Select Apple Development Certificate Type Click Choose File and browse to the downloaded Signing Request
CSRfile, click Continue.Apple will now create a
.cerfile for you which is issued by the Apple Worldwide Developer Relations Certification Authority.
Apple Certificate CSR Upload Continue Click Download to download your certificate.

Apple Developer Certificate Download Install the
.cerfile and create the .p12 fileIn order to create a signing profile on SAP Mobile Services, you need to install the
.cerfile and create the needed.p12file.A
.p12file is a encrypted container for the certificate and private key. This file is needed by Mobile Services for creating a signing profile.Locate your downloaded
.cerfile and double-click it in order to install the certificate.In case the Add Certificate dialog pops up make sure to choose Login from the dropdown and click Add.
If the certificate is added correctly to the Keychain you should see it in the
MyCertificatessection, make sure you selected login as keychain.
Keychain MyCertificates Installed Certificate Select the certificate as well as the private key and right-click to export those 2 items.

Keychain Export Certificate And Private Key Make sure that in the dropdown Personal Information Exchange (.p12) is selected and click Save. You will be prompted to enter a password, click OK to export the files.

Export P12 Certificate Save Dialog Register an iOS App ID
Click + icon to register a unique Identifiers for your app.

Apple Developer Add App Identifier Select App IDs and click Continue.

Select App IDs Registration Type Provide a unique Bundle ID name, Description and click Continue.

Bundle ID And Description Entry In the following screen, select option for Deployment Details and then click Continue.
Confirm your App ID by clicking on Register.
Register your device
Click + icon to register your iOS device.

Apple Developer Register iOS Device Provide Device Name & Device ID (UDID) and then click Continue.

Device Name And UDID Entry Create a development provisioning profile
Click + icon to create a development provisioning profile.

Apple Developer Add Provisioning Profile Select iOS App Development to create a provisioning profile to install development apps on test devices and click Continue.

iOS App Development Provisioning Profile Select an App ID from the dropdown list and click Continue.

Select App ID For Provisioning Profile Select the required certificate to include in this provisioning profile and click Continue.

Select Certificate For Provisioning Profile Select the device to include in this provisioning profile and click Continue.

Select Device For Provisioning Profile Provide a unique name to the profile and click Generate.

Provisioning Profile Name Generate In next step, download the generated provisioning profile on your local machine.

Download Generated Provisioning Profile
If you haven’t created your local .mdkproject, have a look at step 3 from Build Your Mobile Development Kit Client Using MDK SDK tutorial.
Compress your .mdkproject folder, the resulting zip file will be used to create a build job for a customized mobile development kit client in Mobile Services admin UI.
Make sure you are choosing the right device platform tab above.
Open the SAP Mobile Services admin UI and navigate to Settings | Cloud Build. Initialize the Cloud Build Settings if not done before.
You have an option to generate a new signing profile in the Mobile Services admin UI by providing mandatory info like Profile Name, Validity, Common Name (user name). Other information are optional.

Generate New Android Signing Profile Or you have an option to to upload an Android Signing profile, if you already have one.

Upload Android Signing Profile
Open the SAP Mobile Services admin UI and navigate to Settings | Cloud Build. Initialise the Cloud Build Settings if not done before.
Click Upload to upload iOS Signing profile and provide below information:
Property Value PlatformsiOSProfile Nameprovide a name of your choiceSigning CertificateBrowse to .p12 certificatePrivate Key PassphraseEnter the password that you chose while exporting .p12 certificateprovisioning ProfileBrowse to .mobileprovision fileClick OK.

Upload iOS Signing Profile Details
You can find more details about Cloud Build service in help documentation.
Make sure you are choosing the right tab above to build a MDK client as per your requirement.
Navigate to Mobile Applications → Native/MDK →
myapp.mdk.demo→ Cloud Build.If you do not see Cloud Build feature in the Assigned Features list, click the + icon to add it.
Click Create Build Job to build your first build job.

Cloud Build Create Build Job In the Basic Information step, select Mobile Development Kit Client from Client Type dropdown.

Basic Information Client Type Selection Provide required values and click Next.

Build Job Required Values Entry Bundle ID (iOS)/ Package Name (Android) is a unique app identifier used to sign mobile development kit clients. For iOS, make sure to provide the same bundle ID while registering an iOS App ID in step 1.
In the Platform step, provide a unique value to the URL Scheme.
If you have a Firebase configuration for your client, browse to select the
google-services.jsonfile and click Next.
Platform Step URL Scheme Configuration Google Services JSON File: The Firebase Android configuration file associated with your app in your Firebase project.
For Android builds: The packaging format to use for the build, including APK (Android Package Kit, the default) or AAB (Android App Bundle). Since Google requires applications uploaded to the Google Play Store be built in the AAB format, select this option if that is your plan. To install an AAB binary without using Google Play Store, you must download the AAB and use Google’s
bundletoolto extract an install-ready binary from the AAB and to install that binary. Refer to their documentation onbundletoolfor more details.In the Multimedia step, you may upload an image to use for the app logo and click Next.

Multimedia Step App Logo Upload In the Build Options step, select respective Signing profile(s), set minimum platform version, select a supported SDK version and click Finish.

Build Options Signing Profile SDK Selection The default version is always recommended (it will vary over time), but you can select an older SDK version.
Click Build to start the Build job.

Cloud Build Start Build Job After few minutes, Build should be completed. You can select each cloud build history row to view its current state, install, and download binaries.

Cloud Build Completed History Row You can find more details about packaging details in help documentation.
In Mobile Services admin UI, navigate to Mobile Applications → Native/MDK →
myapp.mdk.demo→ Cloud Build.If you do not see Cloud Build feature in the Assigned Features list, click the + icon to add it.
Click Create Build Job to build your first build job.

Cloud Build Create Build Job In the Basic Information step, select Customized Mobile Development Kit Client from Client Type dropdown.

Customized MDK Client Type Selection The build includes functionality to run customized extensions, application resources, and onboarding, and to include demo mode in your application.
Browse to your compressed MDK project as previously created.

Browse Compressed MDK Project Upload Upon upload, Cloud Build service starts validating the ZIP file. If the ZIP file doesn’t conform to the
.mdkprojectstructure, you may see build failures. Check the documentation for more details.Once validation is successful, you will notice the values like Device App Name, Device App Display Name, Device App Version, Device App Details, Bundle ID, and Encrypt Database have been auto-filled/selected. These values were provided in your
MDKProject.jsonandBrandedSettings.jsonas part of your local.mdkproject.
Auto-Filled MDK Project Values After Validation Click Next.
In the Platform step, URL Scheme has been retrieved from the MDKProject.json. Click Next.
If you have a Firebase configuration for your client, browse to select the
google-services.jsonfile and click Next.
Platform Step Firebase Configuration Upload Google Services JSON File: The Firebase Android configuration file associated with your app in your Firebase project. If the google-services.json is available in the uploaded ZIP file, you will see option Show Contents to view the contents of the JSON file. If it is not the right file, click Remove File and then you can upload a new google-services.json file to override it.
For Android builds: The packaging format to use for the build, including APK (Android Package Kit, the default) or AAB (Android App Bundle). Since Google requires applications uploaded to the Google Play Store be built in the AAB format, select this option if that is your plan. To install an AAB binary without using Google Play Store, you must download the AAB and use Google’s
bundletoolto extract an install-ready binary from the AAB and to install that binary. Refer to their documentation onbundletoolfor more details.In the Multimedia step, you may upload an image to use for the app logo and click Next.

Multimedia Step App Logo Upload In the Build Options step, select respective Signing profile(s), set minimum platform version, select a supported SDK version and click Finish.

Build Options Signing Profile SDK Selection The default version is always recommended (it will vary over time), but you can select an older SDK version.
Click Build to start the Build job.

Cloud Build Start Custom Client Build After few minutes, Build should be completed. You can select each cloud build history row to view its current state, install, and download binaries.

Cloud Build Completed History Row You can find more details about packaging details in help documentation.
You can install this new custom MDK client app either by scanning QR code from Android phone camera app (click Install) or download binary (APK) locally and install in your device via IDEs like Android Studio or via other means.



You can install this new custom MDK client app either by scanning QR code from iPhone phone camera app (click Install) or download binary (IPA) locally and install in your device via IDEs like Xcode or via other means.



Resources
Discussion
Share feedback on this tutorial or join the conversation in SAP Community.