White labeling in Adobe learning Manager Mobile app
Adobe Learning Manager mobile app now supports white labeling – which means that you can now release the app under your own branding.
How you should start preparing to launch your white-labeled app
To deploy and manage your own white labeled app, follow the steps:
-
Prepare the assets (like splash screen image), and the text so both can be used in the app and the description on the app/play store.
-
Assign a technical resource who is capable of:
- Generating the push notification certificate files.
- Signing the app binaries provided by the ALM team.
- Uploading and managing the publishing process. The publishing process requires communication between your app manager and app/play store teams that your app complies with all publishing guidelines. From ALM, you will receive a fully compliant app binary.
Overview
White labeling is a practice of rebranding an app or service with your own brand and customizing it as if you were the original creator. In Adobe Learning Manager, you can apply white labeling to the mobile app, so you can rebrand the app, and make the app available to your users under your own brand.
What can be customized
The following can be customized:
Fields
Update site association to handle custom deeplinks
If you’re using a custom domain or learningmanager*.adobe.com as host, you need not take any action. However, if you use a custom solution or specific hostname for the URLs, add the site-association files.
Refer the following links for more information:
Generate push notifications
Sending push notifications to Android and iOS apps require two different mechanisms.
- For iOS, generate the push notification certificates.
- For Android, provide a server key generated from the Firebase project.
Follow the instructions below to set up the projects in Firebase:
Push notifications on iOS
In iOS app development, a push notification certificate is a cryptographic credential issued by Apple that allows a server to securely send push notifications to an iOS device through Apple’s Push Notification service (APNs).
The certificate ensures secure communication between your server (or provider) and Apple’s APNs when sending push notifications to iOS devices.
Both Android and iOS use Firebase Cloud Messaging (FCM) as the service for sending push notifications to devices.
How to generate the certificate on iOS
Follow the procedure:
-
Generate or download the Push notification certificate and private key (.p12). For more information, see the Apple developer document.
-
Install the p12 file after the file is downloaded. Use the password to install in your Keychain access.
-
Navigate to My certificates and export the certificate. Ensure that you select the mime type .cer.
-
Once you have the p12 file and cer file are available, run the following commands:
- openssl pkcs12 -in privatekey.p12 -out myapnappkey.pem -nodes –clcerts
- openssl x509 -in privatekey.cer -inform DER -out myapnsappcert.pem
- openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert myapnsappcert.pem -key myapnappkey.pem
If you can connect to the server, the certificate you’ve created is valid. From the myapnappkey.pem file, copy the certificate and private key values.
Push notifications on Android
For Android, the user needs to provide the services.json file from the Firebase project for adding the entry in the SNS service.
Create a project in Firebase and share the services.json file to the CSM team. This file is needed for token-based entry in the SNS. Note that the server key is no longer used. See Create project in Firebase.
To download the services.json file, follow these steps:
-
Log in to the Firebase console.
-
Go to Project settings and select Cloud Messaging.
-
Find Firebase Cloud Messaging API and select Manage Service Accounts.
-
In the Service cccounts page, select the Service Accounts in the left panel.
-
Find your project entry, and select Manage details under actions.
note note NOTE The project entry format will be <-accountname->@appspot.gserviceaccount.com. -
Go to the Keys tab and select Add Key.
-
If there is no key, select Create new key and select JSON as the key type. This will generate and download the JSON file.
-
If there is already a key, select Upload existing key, paste the key, and upload it. This will generate and download the JSON file.
Contact the CSM team and share the JSON file for adding the entry to the SNS services on AWS. Users will have to get the entry registered in the SNS service for the push notification, which will require them to share the certificates generated above for validation.
Create project in Firebase create-project-in-firebase
Android
Re-use the same project that you’d created in the steps above for push notifications.
Add the project in Firebase and retrieve the google-services.json file.
iOS
Add the project to Firebase and retrieve the GoogleService-Info.plist file.
Generate the signed binaries
iOS
The <root>
folder contains the Runner.xcarchive.zip file. Run the below commands to generate the signed binary:
-
Run the following command to unzip the archive:
code language-none unzip Runner.xcarchive.zip
-
Navigate to the app directory:
code language-none cd Runner.xcarchive/Products/Applications/Runner.app
-
Copy the mobile provisioning file:
code language-none cp <path>/<mobile-provisioningfile>.mobileprovision embedded.mobileprovision
-
Return to the
<root>
folder (where Runner.xcarchive.zip is located):code language-none cd <root>
-
Export the archive using xcodebuild:
code language-none xcodebuild -exportArchive -archivePath Runner.xcarchive -exportPath ipa_path/ -exportOptionsPlist <path>/<ExportOptions-file>.plist
-
Locate the .ipa file in the ipa_path folder.
-
Upload the .ipa file to
Diawi
website. -
Once fully uploaded, select the Send button.
-
After completion, you will receive a QR code and a link.
-
Open the QR code or link directly in Safari.
If the device is included in the provisioning profile, the installation should proceed on the device.
Android
For apk file
sh""" <path>/apksigner sign --ks $storeFile --ks-pass "pass:$store_password" --ks-key-alias $key_alias --key-pass "pass:$key_password" --out app-release-signed.apk -v app-release.apk """
For aab file
The Play Store requires Android binaries in the aab format for publishing. Therefore, we will provide the unsigned .aab file.
Follow the below steps to sign the .aab file:
Run the following command:
<path>/jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore <keystore-file> app-release.aab <signingKeyAlias>
When prompted, please enter the following passwords:
- Keystore password
- password for signing key alias
You can use the provided apk. However, if you need to generate an apk from an aab file, please follow these steps:
Run the following command to create the apk file:
java -jar <path>/bundletool-all.jar build-apks --bundle=app-release.aab --output=my_app.apks --mode=universal
To unzip the file, run the following command:
unzip my_app.apks -d output_dir
You will get the apk file from the output_dir folder.
What’s next
After generating the binaries, push the binaries into Play Store or App Store.
How do I apply the changes
Sends the required assets and files to the CSM team. The CSM team then fills the form with the required changes and attaches the required assets. The team will then review and inform the engineering teams of the changes. The engineering team will then generate a build and share with the CSM team.
The CSM team will share the build with the customer.
What cannot be customized
- Update Password screen
- Creating an account screen