mobile-bbl-cbx

1.1.0-prod.2 • Public • Published

Finds and removes all node_modules inside @igtb-digital
--------------------------------------------------------
sudo find ./node_modules/@igtb-digital -name "node_modules" -exec rm -rf '{}' +

increase heap size and prepare build for ios and android
---------------------------------------------------------
sudo node --max-old-space-size=4096 /usr/local/bin/ionic cordova prepare ios --prod
sudo node --max-old-space-size=4096 /usr/local/bin/ionic cordova prepare android --prod

increase heap size and generate .ipa and apk
---------------------------------------------
sudo node --max-old-space-size=4096 /usr/local/bin/ionic cordova build ios --prod
sudo node --max-old-space-size=4096 /usr/local/bin/ionic cordova build android --prod

Increase heap memory size
----------------------------
npm install -g increase-memory-limit
increase-memory-limit

Production build issues
-------------------------
* Strictly use @ionic/app-scripts - 3.1.8 & typescript 2.4.2

ngc build to detect product issues
------------------------------------
1) ./node_modules/.bin/ngc build
2) Open node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js and replace '#!/usr/bin/env node' to '#!/usr/bin/env node --max-old-space-size=8192'
3) export NODE_OPTIONS=--max-old-space-size=8192
4) sudo node --max-old-space-size=8192 /usr/local/bin/ionic cordova prepare ios --prod

iPhone x support
-------------------
* Update to latest ionic-angular - 3.9.2
* Add 'fit-cover' meta tag in .html
* Add splash screen universal any
* Update status bar plugin to 2.4.2

Disable clipboard
------------------
* Add the following attribute in index.html
* <body oncopy="return false;" onpaste="return false;"></body>

Disable keyboard cache
-----------------------
* By default ionic disables autocomplete. Please refer the below link
https://ionicframework.com/docs/api/components/input/Input/


Jailbreak and Root detection
-------------------------------
* Follow the below link for jailbreak and root detection. It uses rootbeer library for android
* cordova plugin add cordova-plugin-iroot --save
https://github.com/WuglyakBolgoink/cordova-plugin-iroot/issues/7


Remove console logs in the production build
---------------------------------------------
* Copy 'uglifyjs.config.js' from node_modules / @ionic / app - scripts / config / uglifyjs.config.js to 'project folder'
* Add following lines in uglifyjs.config.js
compress: {
drop_console: true,
drop_debugger: true
}
* Add following lines in package.json
"config": {
"ionic_copy": "copy.config.js",
"ionic_uglifyjs": "uglifyjs.config.js"
...
}
* Build app in prod mode


Security lists - content security policy
-------------------------------------------
http://masteringionic.com/blog/2018-01-09-securing-ioniccordova-mobile-applications/

npm clean cacache issue
----------------------------
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

Publishing .apk
------------------
https://ionicframework.com/docs/v1/guide/publishing.html (Digital1234*)
1) ionic cordova build --release android
// 2) keytool -genkey -v -keystore cbx-digital.keystore -alias cbx-digital-app -keyalg RSA -keysize 2048 -validity 10000
3) jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore cbx-digital.keystore /Users/POLARISFT/Senthil/Digital/Workbench/BBL/mobile-bbl-cbx/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk cbx-digital-app
4) rm -rf /Users/POLARISFT/Senthil/Digital/Workbench/BBL/mobile-bbl-cbx/platforms/android/app/build/outputs/apk/release/CBX-Digital.apk
5) /Users/POLARISFT/Softwares/adt-bundle-mac-x86_64-20130729_latest/sdk/build-tools/28.0.3/zipalign -v 4 /Users/POLARISFT/Senthil/Digital/Workbench/BBL/mobile-bbl-cbx/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk /Users/POLARISFT/Senthil/Digital/Workbench/BBL/mobile-bbl-cbx/platforms/android/app/build/outputs/apk/release/CBX-Digital.apk


Upgrading to WKWebView from UIWebView
---------------------------------------
1) Update latest webview plugin - cordova-plugin-ionic-webview@5.0.0
2) Goto config.xml file
a) Remove the below preference
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
b) Add the following preferences
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
3) Remove ios platform and add it again

Downgrading from WKWebView to UIWebView
-----------------------------------------
1) Goto config.xml file
a) Remove the following preferences
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
b) Add the below preference
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
2) Remove ios platform and add it again


iGTB build - unbrand build - CBX Digital
-------------------------------------------
1. Update assets in copy.config.js -> Change "bbl-core-assets" to "core-assets" and run node copy.config.js
2. Update icons and splash screens - ionic cordova resources
3. IDP Login false
4. Update scripts/android-resources.js [from 'notification-icon' to 'notification-icon-igtb' ]and execute for android status bar notification icon
Bkkg.jpg img [src/assets/logo-images/small]
5. Rename app name BBL -> CBX in config.xml
6. Set the below flags as false in config.ts
6.1) PRESENT_FOOTER_WARNING_NOTES: false ( Disable payment summary warning note footer )
6.2) PRESENT_WELCOME_TOUR_ON_STARTUP: false, ( Disable welcome tour)
6.3) ENABLE_VERSION_UPGRADE_ALERT: false ( Disable version upgrade alert )



Notification payload formats
-------------------------------
Android - FCM - Postman - Action buttons
{
"to" : "c-XrjK4FF2c:APA91bEkjEVD70-MPzpPKEwAxzDXJm1TguY_Wuw89sRh_XG5Z_37ubRJnnIQ0LyqPFE69M4CpqI1wqvEFpAYDMwIErjtEq4X0YVEEdQljNy6y0r34Q3SscG-MevwIsEMQqa1F3vXmVGe",
"data" : {
"body" : "Payments pending for approval",
"title": "Payments pending",
"status" : "PENDING APPROVAL",
"actions":[{
"title":"Approve",
"callback":"Approve",
"foreground":false,
"inline":true
},
{
"title":"Reject",
"callback":"Reject",
"foreground":false,
"inline":false
}]
}
}
Payments payload
{
"to":"dmcHWd_0eLQ:APA91bHmGuJ7BNQ2VOnmL4NvjuGy2iOFKtNAF8QZnCRMcKzOUzW6BsXNn-yRHxaC0bkJvgmUCRkUWKAt-pdzrRPpdv8dVOAAyxzTa9XXc6PKsR2pJlKwzOIM3Vty4vFZhPlgl4PbxD4h",
"data": {
"category": "AUTHORIZE",
"title": "Payment is pending for your approval",
"alert": "Cross Border payment of (456324 THB) to Biogen-807-K *9353 KH16204192011103759353 from Premier Group *0011 30000000000011 is pending verification."
"debtorAccount": {
"currency": {
"code": "THB"
},
"corporate": {
"id": "a86a8817-2f91-5ce2-a790-efc811965044"
}
},
"paymentRailObj": {
"code": "A2A3P"
},
"paymentReason": {
"code": "A2ATPT"
},
"releaseDate": "2018-07-23T00:00:00.000Z",
"subProduct": "PaymentInstruction",
"product": "paymnt",
"actionInfo": {
"currentAction": "add",
"nextAction": "approve",
"referenceId": "11U5F1lGesVcxzo",
"rejectionInfo": null
},
"actions":[
{
"title":"Approve",
"callback":"Approve",
"foreground":true,
"inline":false
},
{
"title":"Reject",
"callback":"Reject",
"foreground":true,
"inline":false
}
]
}
}
——————————————————————————————
iOS - APNS - Action buttons
{
"aps" : {
"category" : "AUTHORIZE",
"title" : "Payments pending for your approval",
"alert" : "SWIFT payment reference no.23498728374 of 2500 EUR is pending for your approval",
"badge" : 1,
"sound" : "chime.aiff"
},
"status":"PENDING APPROVAL"
}

Payments payload
{
"aps": {
"category": "AUTHORIZE",
"title": "Payment is pending for approval",
"alert": "Cross Border payment of 3500 EUR to Biogen-807-K *9353 KH16204192011103759353 from Premier Group *0011 30000000000011 is pending verification."
},
"debtorAccount": {
"currency": {
"code": "THB"
},
"corporate": {
"id": "a86a8817-2f91-5ce2-a790-efc811965044"
}
},
"paymentRailObj": {
"code": "A2A3P"
},
"paymentReason": {
"code": "A2ATPT"
},
"releaseDate": "2018-07-23T00:00:00.000Z",
"subProduct": "PaymentInstruction",
"product": "paymnt",
"actionInfo": {
"currentAction": "add",
"nextAction": "approve",
"referenceId": "11U5F1lGesVcxzo",
"rejectionInfo": null
}
}



Readme

Keywords

none

Package Sidebar

Install

npm i mobile-bbl-cbx

Weekly Downloads

1

Version

1.1.0-prod.2

License

none

Unpacked Size

1.75 MB

Total Files

126

Last publish

Collaborators

  • karmasakshi-ov3