tag:blogger.com,1999:blog-61877014800324148542024-03-13T21:06:37.471-07:00AEM Mobile - AEMMThis blog helps Adobe Experience Manager Mobile developers to achieve any custom development to be done on applicationThe Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.comBlogger30125tag:blogger.com,1999:blog-6187701480032414854.post-4119346580212873422017-12-01T00:18:00.001-08:002019-02-02T22:38:22.136-08:00Looking for an AEM Mobile App developer or development partner?<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHw-TOomMDjv81XDMJslzwBdFaZJ_u7nwePC5fhvupny09B9ywXAtvlhFhFfVqvPBGYBThaZ3onIR09Hu1LdZwAhoVP7pazJqVKP8FF_63JvyZ7aQ4xk_gt56-MKosGlj_ifha21WVMVU/s1600/AEM+Mobile+development.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="352" data-original-width="615" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHw-TOomMDjv81XDMJslzwBdFaZJ_u7nwePC5fhvupny09B9ywXAtvlhFhFfVqvPBGYBThaZ3onIR09Hu1LdZwAhoVP7pazJqVKP8FF_63JvyZ7aQ4xk_gt56-MKosGlj_ifha21WVMVU/s320/AEM+Mobile+development.png" width="320" /></a>Adobe Experience Manager Mobile(AEMM) is a new comer in Adobe Marketing Cloud & having its own share in mobile app market. We need potential to implement a fully functional AEMM application which utilizes all capabilities. In addition to this, a successful creative team plays an integral part of providing a seamless user experience(UX Designs) across screens on mobile application. An effective development and creative team together can deliver a powerful mobile application.<br />
<br />
<b>What we offer as services as part of AEM Mobile app development</b><br />
<b></b><br />
Our AEMM Developers does,<br />
<br />
• Migration of other apps to AEM Mobile.<br />
• Integrating AEM content with AEM Mobile articles.<br />
• Creation of .articles through various HTML elements including Angular JS.<br />
• Personalized content utilizing the AEM Mobile entitlement features.<br />
• A unified On-Demand portal dash board integration for authoring.<br />
• Integration which are allowed by AEM Mobile technology like Login functionality (SAML 2.0, OAuth 2.0, Generic).<br />
• Customizing the app based on multi-platform Apache Cordova (open source using HTML5, and JavaScript) development.<br />
• Adobe cloud integration like Analytics and Campaign. Analytics helps to improve the app usage in more efficient way and campaigns help for promoting customer preferences to users.<br />
• A fully functional AEMM search implementation.<br />
• Integrated Hybrid Mobile Apps with Adobe analytics tools.<br />
• Integrated Hybrid Mobile Apps with AEM Content.<br />
• Our expert creative engineers design screens which are efficient, engagement friendly.<br />
<br />
Our AEMM related Maintenance & Support activities includes<br />
• Authoring and migrations.<br />
• Account administration and management.<br />
• Managing Adobe Analytics, marketing campaigns etc.<br />
• Social sharing setup, management.<br />
• Custom extensible Cordova development.<br />
<br />
<b>Contact us for partnering with us.</b><br />
'cqguru@gmail.com'<br />
<br />
Read the blog here : http://aem-mobile.blogspot.in/<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b><a href="http://aem-mobile.blogspot.in/2016/09/aem-mobile-integration-with-third-party.html">AEM Mobile integration with third party applications</a></b><br />
<br />
<b><a href="http://aem-mobile.blogspot.in/2016/09/aemm-how-to-create-custom-authentication_27.html">AEMM: How to create custom authentication</a></b><br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com1tag:blogger.com,1999:blog-6187701480032414854.post-29084194471859765932017-08-07T20:27:00.000-07:002019-02-02T22:37:31.263-08:00Difference between Adobe Experience Manager Mobile(AEM Mobile) and PhoneGap.<div dir="ltr" style="text-align: left;" trbidi="on">
<b>AEM Mobile Vs PhoneGap.</b><br />
<br />
Technical clients come up with a common question, what is the difference between AEM Mobile and PhoneGap?<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEaaGjXsUpJpYCv5dA_lBhqG3Pl0ugoCNen30zs7u6qOlPFqJLCcBV8plO_gkVLuaBQ-kop6hatCWONzHGsvC2oO8IW7zmBtD6vdxB1xuI7wVYoDiQ4Es0rz3yjmrY78P84Ec3Zqf2KCQ/s1600/AEM+Mobile+Vs+PhoneGap.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="220" data-original-width="509" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEaaGjXsUpJpYCv5dA_lBhqG3Pl0ugoCNen30zs7u6qOlPFqJLCcBV8plO_gkVLuaBQ-kop6hatCWONzHGsvC2oO8IW7zmBtD6vdxB1xuI7wVYoDiQ4Es0rz3yjmrY78P84Ec3Zqf2KCQ/s320/AEM+Mobile+Vs+PhoneGap.png" width="320" /></a><b>Adobe PhoneGap</b> is a powerful opensource platform for creating and publishing multi-platform mobile apps. Web technologies like HTML and CSS are used to build apps which are wrapped in a native app wrapper.<br />
<br />
<b>AEM Mobile</b> is one of the new entrant in mobile technology which enables enterprise organizations to produce, manage and maintain their mobile apps through a unified dashboard, which in turn reducing time to market and making it easier for organizations to engage audiences quicker. AEM Mobile collaborates PhoneGap Enterprise and Adobe Digital Publishing Suite with AEM Apps to make an app which changes an enterprise customers essential for the business.<br />
<br />
<b>Differences:</b><br />
<br />
<b>PhoneGap</b><br />
<ul style="text-align: left;">
<li>Need web development skills like HTML,CSS, Javascript.</li>
<li>Opensource. So great community support.</li>
<li>PhoneGap supports quick test and preview of the changes on iOS and Andriod.</li>
<li>With PhoneGap, we need to do some HTML / JavaScript / CSS coding to design and build an app that works on any platform.</li>
<li>Phonegap supports third party data integrations.</li>
<li>PhoneGap Build service can be utilized by AEM Mobile for quicker app installation/updates.</li>
</ul>
<br />
<br />
<b>AEM Mobile</b><br />
<ul style="text-align: left;">
<li>No need of web development skills to work on basic AEM Mobile apps.</li>
<li>AEM Mobile is licensed, with Adobe community support available.</li>
<li>Using AEM Mobile, we can build an app from scratch without any coding and have it on devices in a minutes with less effort.</li>
<li>AEM Mobile once built, helps to add content to the app without rebuilding, and many build options like iOS, Android, Windows, or the Web available.</li>
<li>AEM Mobile helps even a non IT person to create content with existing or new data through template-based authoring.</li>
<li>AEM Mobile provides a dashboard to manage various operations of an app.</li>
<li>AEM Mobile helps to develop and deliver apps for iOS and Android quickly compared to other technologies.</li>
<li>AEM Mobile has power to extend some of the most used Cordova Plugins to include in the app; also new plugins are easy to create.</li>
<li>AEM Mobile provides option to instant update of apps and its content.</li>
<li>AEM Mobile can be easily connected to other Adobe cloud tools like analytics, Test and Target.</li>
<li>AEM Mobile provides API support to integrate third party applications like login, authentication etc.</li>
</ul>
<br />
<b>Both</b><br />
<br />
Both PhoneGap and AEM Mobile supports Apache Cordova plug-ins to access native device APIs such as GPS, camera, contacts etc. AEM Authored data can be pulled to PhoneGap and AEM Mobile by configuring.<br />
<br />
<div>
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b><a href="http://aem-mobile.blogspot.in/2016/09/aem-mobile-integration-with-third-party.html">AEM Mobile integration with third party applications</a></b><br />
<br />
<b><a href="http://aem-mobile.blogspot.in/2016/09/aemm-how-to-create-custom-authentication_27.html">AEMM: How to create custom authentication</a></b><br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-63739663319290209072017-04-28T03:48:00.000-07:002019-02-02T22:36:04.728-08:00AEM Mobile app with PhoneGap<div dir="ltr" style="text-align: left;" trbidi="on">
<b>AEM Mobile app with PhoneGap</b><br />
<br />
An app in AEM is commonly divided into two parts.<br />
<ul style="text-align: left;">
<li>'shell'</li>
<li>'content'</li>
</ul>
<b>Shell</b>:<br />
<br />
The shell in high level is all the non-AEM authored content of a Hybrid(cross platform) PhoneGap app built by the app developer.<br />
<br />
The 'shell' is a part which has the static parts of the app; Real world examples could be PhoneGap configuration files, the navigation controls, and the app framework. Any content of the archive that we import are stored as part of the shell.<br />
<br />
<b>Content</b>:<br />
<br />
Content includes the components, templates and authored pages that are authored in AEM built by the AEM Developer. Content is categorized as either developer content or as authored content.<br />
<br />
<b>Developer Content:</b> Designs, page templates, and components are considered to be dev content since they are built by a developer.<br />
<br />
<b>Author Content</b>: Pages that are built using the design, components and templates are referred as author content.<br />
<br />
Generic Phone gap CRX site structure is given below<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX-APdjC9-wIMN2U09ptkkih8o5WRm7SdtLxPSOdRD2w3NR_2nV02X_1axNPAeRaEkWZbhHGkNiCLRS_qxMweNwmmREUAA9v68HbCRqaDknQ8ucCEmS1hiNZb0lzKJ-41FGDv54kr6lZQ/s1600/Phonegap+Structure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX-APdjC9-wIMN2U09ptkkih8o5WRm7SdtLxPSOdRD2w3NR_2nV02X_1axNPAeRaEkWZbhHGkNiCLRS_qxMweNwmmREUAA9v68HbCRqaDknQ8ucCEmS1hiNZb0lzKJ-41FGDv54kr6lZQ/s320/Phonegap+Structure.png" width="256" /></a></div>
<br />
<br />
<b>What are the general difference between Phonegap, Cordova, Ionic Framework, React Native?</b><br />
<br />
Phonegap / Apache Cordova is a framework for developing hybrid mobile application using HTML5 and JavaScript.<br />
<br />
Ionic that uses apache cordova (phonegap) for accessing mobile hardware (api) such as camera, contacts, Accelerometer, Vibration and more.<br />
<br />
Ionic comes with Angular, which has a beautiful UI Components for mobile applications.<br />
Ionic Framework is a framework functions based on Cordova, comes with a set of standard controls that has power of native controls.<br />
<br />
To be complete, NativeScript and React Native are cross platform development environments that feel somewhat like hybrid, in that they use web frameworks or view layers (Angular 2 and React), but they don't rely on a WebView, and are therefore native approaches that simply rely on JavaScript instead of the native language on each platform.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b><a href="http://aem-mobile.blogspot.in/2016/09/aem-mobile-integration-with-third-party.html">AEM Mobile integration with third party applications</a></b><br />
<br />
<b><a href="http://aem-mobile.blogspot.in/2016/09/aemm-how-to-create-custom-authentication_27.html">AEMM: How to create custom authentication</a></b><br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><br />
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com2tag:blogger.com,1999:blog-6187701480032414854.post-32335852421407543062017-03-22T12:15:00.000-07:002019-02-02T22:34:12.526-08:00Parameters involved in Sign In and Login Scripts<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Parameters involved in Sign In and Login Scripts</b><br />
<br />
In <b><a href="http://aem-mobile.blogspot.in/2017/03/aem-mobile-with-login-functionality.html">previous post</a></b> we have given the details of Generic Identity Sign In. Here we will give details on parameters involved in Sign in with the sample script which helps login functionality.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzf1_5vtzo2OqdM8D7Dso3V0lXWnXh5oEsfho_yb6stErjNXu3guvLTIQ_iKPTevm365dnmAtrtkAczv55Ll74i7yn7uNJ0oElQrLbScYGfzNZnHIFsy17Vr_cNRI0R7QNwgIFHo4OY6k/s1600/User+login+response.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzf1_5vtzo2OqdM8D7Dso3V0lXWnXh5oEsfho_yb6stErjNXu3guvLTIQ_iKPTevm365dnmAtrtkAczv55Ll74i7yn7uNJ0oElQrLbScYGfzNZnHIFsy17Vr_cNRI0R7QNwgIFHo4OY6k/s400/User+login+response.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click on image to see it big</td></tr>
</tbody></table>
<br />
<ul style="text-align: left;">
<li> redirectUrl – the callback URL that the sign-in UI will need to use to redirect the user to the app based on successful or failure login.</li>
<li> projectId – project ID mentioned in On-Demand portal </li>
<li> appId – the app bundle ID mentioned in projects ettings</li>
<li> appVersion – the version of the Runtime app</li>
<li> uuid – application running device's UUID </li>
</ul>
<br />
In the device we need to get the redirectUri, so that we can redirect the user to app home page on login. Below code retrieves the redirectUri and saves it in appData.<br />
<br />
<b> Code to get redirect URL</b><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;">var urlParam = window.location.search.substring(1);</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> urlParam = decodeURIComponent(urlParam);</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> var appData = {};</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> if (urlParam !== '') { // fail-safe </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> var param, paramList = urlParam.split('&'); </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> for (var index in paramList)</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> { </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> param = paramList[index].split('='); </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> if (param.length === 2)</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> { // fail-safe </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> appData[param[0]] = param[1];</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> } </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> }</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> }</span><br />
<br />
<br />
<b> Code for redirect:</b><br />
<br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> function login() {</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> //Use a call to your db and check user credentials are valid. If it is success set the user values to a property called 'uservalues'</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> function success(uservalues) {</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> var authToken = JSON.stringify(uservalues); // uservalues which is a collection of information to a specific user</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> window.location = appData.redirectUri + '?authToken=' + authToken;</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> else{</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> window.location = appData.redirectUri + '?error="Internal Error"'; </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> }</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace;"> }</span><br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b><a href="http://aem-mobile.blogspot.in/2016/09/aem-mobile-integration-with-third-party.html">AEM Mobile integration with third party applications</a></b><br />
<br />
<b><a href="http://aem-mobile.blogspot.in/2016/09/aemm-how-to-create-custom-authentication_27.html">AEMM: How to create custom authentication</a></b><br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><br />
<br /></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-58053725638090214962017-03-22T12:01:00.002-07:002019-02-02T22:31:45.744-08:00Setting up custom analytics in AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Setting up custom analytics in AEM Mobile:</b><br />
<br />
Custom analytics works based on the events transferred during page load/application launches. AEM Mobile apps can be configured to read custom events and send data to Analytics as per our needs. For eg: AEM Mobile analytics provides the 'count of article views' by <a href="http://aem-mobile.blogspot.in/2017/03/aem-mobile-related-default-reports-in.html">default</a>. But it does not provide 'user specific article view' in analytics.<br />
<br />
We need to define the custom events through Mobile Marketing Dashboard and its processing rules. Once this is done, we can send these pre-configured custom analytics events from within our AEM Mobile HTML content.<br />
<br />
Below diagram shows an over view of custom analytics in AEM Mobile<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuwQOBkaQs8r8fWOx24rVUJYy0kDRw9NYCWKaC8o0yAGNiNWC48tvZ3dTjOMwF5XHljQL8uRYLV3560vZ0RvCVVUN7WOsCLnPt-WFNcrHif0-4ddTzRZ9GKEuT0crIac8PdYSeGpC4c4Y/s1600/AEM+Mobile+Custom+Analytics.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuwQOBkaQs8r8fWOx24rVUJYy0kDRw9NYCWKaC8o0yAGNiNWC48tvZ3dTjOMwF5XHljQL8uRYLV3560vZ0RvCVVUN7WOsCLnPt-WFNcrHif0-4ddTzRZ9GKEuT0crIac8PdYSeGpC4c4Y/s400/AEM+Mobile+Custom+Analytics.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click on image to see it big</td></tr>
</tbody></table>
<br />
<br />
<b>Basic requirements:</b><br />
<br />
1). License for Mobile Marketing SDK(Part of Digital Marketing Cloud).<br />
<br />
2). The user who configures the custom analytics events must be an admin for the report suite in Adobe Analytics (with process rule edit permission).<br />
<br />
3). The articles which are sending custom events must be pre-configured for extensibility features by default. [On-Demand Portal> Content & Layouts> Content> Article Properties> Article Metadata> Enable Extensibility Features check box selected]<br />
<br />
<br />
<b>Read related posts</b><br />
<br />
<a href="http://aem-mobile.blogspot.in/2017/03/adobe-analytics-integration-for-aem.html">Integrate Analytics with AEM Mobile</a><br />
<br />
<a href="http://aem-mobile.blogspot.in/2017/03/aem-mobile-related-default-reports-in.html">Default reports available through AEM Mobile</a><br />
<br />
<br />
<b>Steps for Setting up custom analytics</b><br />
<br />
<b>1) Mobile Marketing Dashboard configurations:</b><br />
<br />
In Mobile marketing dashboard (https://mobilemarketing.adobe.com/) Manage App Settings> Manage Variables & Metrics>Custom Metrics.<br />
<br />
<b>Custom Metrics</b>: select an event number , enter an event name, and select type 'Whole Number'<br />
<br />
<b>Custom Variables</b>: select an evar number, enter an evar name, select Tracking Call for persistence value from the drop-down.<br />
Save the changes, rebuild your app in order for the changes to take place.<br />
<br />
<b>2) Configurations on Adobe Analytics (Omniture)</b><br />
<br />
<b>Omniture Step1:</b><br />
<br />
Login to Omniture(https://my.omniture.com/login/), Admin> report suites> select your report suite. Then Edit Settings > Conversion > Success Events.<br />
<br />
Click on Add New. Type an event name, and select the type Counter for the newly added event and save the configuration.<br />
<br />
<b>Omniture Step2:</b><br />
<br />
Defining processing rules: Once the admin configures the custom analytics events and its evars, next step is adding Processing Rules for the newly created events and evars.<br />
<br />
In Omniture Admin> Report Suite > Select the relevant report Suite > Edit Settings > General > Processing Rules<br />
<br />
Select an existing rule and Add Rule > Add Action. Configure the action to set the custom event to 1 if the condition below is met. Here we are setting action to send user defined string to send the event.<br />
<br />
Again Add Rule to create a new rule for evars, Add Action. Then configure the action to overwrite the custom evar with the evar to be used to send the event.<br />
<br />
Save the changes, rebuild your app in order for the changes to take place.<br />
<br />
<b>3) Adding custom events to HTML content</b><br />
<br />
Once the custom events, its evars, and processing rules are defined, we are done with configurations. Now we need to modify the HTML so that it can handle the analytics configurations.<br />
<br />
Ensure extensibility features are enabled for your HTML content in On-Demand Portal.<br />
<br />
i)<b> Include the Analytics SDK in your pages. </b><br />
<br />
Add below line in your article HTML in the <head> tag.<br />
<script type="text/javascript" src="cordova.js"></script><br />
<br />
ii) <b>Send the Custom Event</b><br />
<br />
Now configure your HTML content to send the custom event, for e.g. if you are sending the login event to analytics,<br />
ADB.trackAction("login", {"evar51":"user-defined value"}, {"user":"testuser","remember":"true"});<br />
<br />
The login event uses evar51 with its own set of parameters to recognize the event.<br />
<br />
In the Back-end, when an event happens, Processing Rule increment the count of the corresponding event and the previously defined values will be overwritten with the values the user set in evar51.<br />
<br />
<b>Debugging the issues:</b><br />
<br />
<b>Analytics may not be appearing due to below reasons:</b><br />
<ul style="text-align: left;">
<li>Any change in Mobile Marketing Dashboard, Omniture, needs rebuild of app in order for the changes to take place.</li>
<li>Check the extensibility features are enabled for analytics tracking.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><a href="http://aem-mobile.blogspot.in/2017/03/parameters-involved-in-sign-in-and.html">Parameters involved in Sign In and Login Scripts</a> </b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><br />
<ul style="text-align: left;">
</ul>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com1tag:blogger.com,1999:blog-6187701480032414854.post-29659110380230075912017-03-09T07:19:00.001-08:002019-02-02T22:28:48.529-08:00AEM Mobile with Login Functionality<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Custom authentication Using Generic Identity Provider in AEM Mobile</b><br />
<br />
AEM Mobile supports different ways of Sign in in to the application. Below are the three methods which can be integrated for AEM Mobile login functionality.<br />
<ul style="text-align: left;">
<li>SAML 2.0 (Gigya, MFA/OKTA)</li>
<li>OAuth 2.0 (Facebook, Google id's)</li>
<li>Generic</li>
</ul>
AEM Mobile fetches authorization tokens from these identity providers, which you can use in your entitlement service to authorize users to content. AEM Mobile provides many APIs for Sign in procedures; For eg 'setAuthToken' 'isAuthenticated', 'launchSignInUI' etc.<br />
<br />
Here we are going to understand the Generic identity provider implementation and it supports two types of login. First one is using a separate HTML form which is hosted in internet and second method using Sign-in in experience in an AEM Mobile article itself.<br />
<br />
<b>Generic Identity Provider Implementation.</b><br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9fXP_pN6HrTUDfXD8NpGSQfwKyYy67B_N7SbQXBbzfh9z43sq1M0wDJJa1sX4M0ftPJ_r_zAKegUPTJPbw6z0lFQK8jlEHKB2pm6yqZy0yd2S4wP3_FqWSiI2HLv0bAwki_2wg_LiiFc/s1600/Mobile+login+Procedure.png" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9fXP_pN6HrTUDfXD8NpGSQfwKyYy67B_N7SbQXBbzfh9z43sq1M0wDJJa1sX4M0ftPJ_r_zAKegUPTJPbw6z0lFQK8jlEHKB2pm6yqZy0yd2S4wP3_FqWSiI2HLv0bAwki_2wg_LiiFc/s400/Mobile+login+Procedure.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #0000ee;"><u>Click on image to see it big</u></span></td></tr>
</tbody></table>
<br />
<br />
When users tap on Sign In button from the AEM Mobile app menu, the users are redirected to the provided sign-in UI. The Sign In HTML will have login functionality written, so that the code calls the DB and verify the user information and if it is a successful login, the user is redirected to app Home page with additional authToken Parameters. The authToken can be any String which holds multiple values related to User like user id, user location, user preferences etc.<br />
<br />
The token can be a JSON file(Stringify this before passing to AEM Mobile as authToken) as given below. In AEM Mobile app, we can retrieve this authToken and read values, and use this values if required to set some additional features. For eg. say we need to set articles based on Geo of 'LA', so that only LA user will be able to see this content after login. We can send the authToken with below JSON and check in app for geo location. If it matches the geo 'LA' then display the article.<br />
<br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;">{</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "UserArray":[{</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "UserName":"user1",</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "userGeo":"LA",</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "userAge":"23",</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "userLastLogIn":"04-04"</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> }</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> </span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;"> ]</span><br />
<span style="color: #073763; font-family: "courier new" , "courier" , monospace; font-size: x-small;">} </span><br />
<br />
<b>Steps involved in setting up Generic Identity Provider.</b><br />
<br />
<b>Step 1: Create Login HTML</b><br />
<br />
Create HTML Page with login functionality. Below given a sample HTML form page.<br />
<br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><html></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><head></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"></head></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><body></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><form method="post" onsubmit="login();"></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span>
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><input type="text" name="username"></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><input type="password" id="password"></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span>
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><input type="submit" value="Login" /></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span>
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"><script></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">//You code which will call login functionality and verify the submitted user credentials by invoking DB.</span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">// If login is success set the authToken and redirect the user from Login UI page to app home page.</span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">//A sample code is available in next page of the blog. Parameters involved in Sign In and Login Scripts</span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"></script></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"></body></span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;"></html></span><br />
<br />
<b>Step 2: Host the Login HTML in you internet site.</b><br />
<br />
We can place the login HTML to any internet facing site, so that we will have a new login URL like www.yourdomain.com/login.html. Ensure this is accessible through app.<br />
<br />
<b>Step 3: Configure the Identity Provider</b><br />
<br />
Once the Login UI is ready and hosted, get the URL. Go to Master Settings of On-Demand portal > Identity Providers tab<br />
<br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">Identity Provider Name: Generic </span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">Identity Provider Type: Generic</span><br />
<br />
In the next 'Generic setup' screen, provide below details.<br />
<br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">Authentication URL *: The URL Where you have hosted the login UI.</span><br />
<span style="color: #0c343d; font-family: "courier new" , "courier" , monospace; font-size: x-small;">Default Session Expiry : You can leave this blank (Number of seconds that a successful sign-in is valid)</span><br />
<br />
Save the configuration.<br />
<br />
<b>Step 4: Enable Custom Authentication in On-Demand portal</b><br />
<ul style="text-align: left;">
<li>Go to project Settings in On-Demand Portal > Select the project to be edited, click on Edit and go to 'Access' tab.</li>
<li>Enable the check box under section 'Custom Authentication'</li>
<li>Select identity provider 'Generic'</li>
<li>Add a bundle ID under section 'Entitlement & Authentication' (This ID will be sent when apps request entitlement or authentication information)</li>
</ul>
<br />
<b>Step 5: Build the app</b>(not a preflight app) sign it, and test it <a href="http://aem-mobile.blogspot.in/2017/02/create-sign-android-apps-for-aem-mobile.html">as described here</a>.<br />
<br />
<b>Read </b>: <a href="http://aem-mobile.blogspot.in/2017/03/parameters-involved-in-sign-in-and.html">Parameters involved in Sign In and Login Scripts</a><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><br />
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-57534376390210204432017-03-09T07:18:00.002-08:002019-02-02T22:26:12.437-08:00Authoring AEM Mobile Article from Custom Third party applications.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
AEM Mobile on-Demand portal allows third party application authoring though the APIs provided. We can have either a CMS plugin(wordpress or joomla) which talks to the API or a complete Web-based authoring solution for the same.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl3PurUHYbpb5kNmCF0RlSWJt_Jvm9mNqMxG2bhjUi8bqyGejPUsMyrMOMMCF7J_mo1Pd15dKZkHbo0ejPmNbuFG1YzPRCdZqMG6VtwnE2BtpZrA8z5BCCbuGsNKBn_gP-7-2PTxnpmTQ/s1600/Web+Authoring.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl3PurUHYbpb5kNmCF0RlSWJt_Jvm9mNqMxG2bhjUi8bqyGejPUsMyrMOMMCF7J_mo1Pd15dKZkHbo0ejPmNbuFG1YzPRCdZqMG6VtwnE2BtpZrA8z5BCCbuGsNKBn_gP-7-2PTxnpmTQ/s400/Web+Authoring.png" width="400" /></a></div>
<br />
<br />
Using the on-Demand API's services, we can manage:<br />
<ol style="text-align: left;">
<li>Articles</li>
<li>Collections</li>
<li>Products</li>
<li>Push notifications</li>
</ol>
<b>Authoring Orchestrator</b><br />
Let us see the steps involved in setting up a web based authoring application system (I call it 'Authoring Orchestrator') for AEM Mobile. One of the major condition to run this application is that we need a public hosted server so that our application files can be deployed over internet.<br />
<br />
<b>Step 1:</b><br />
<br />
Download the On-Demand Services API files : This set of files contains API Documentation, Examples etc.<br />
<br />
<b>Step 2:</b><br />
<br />
Get the API Keys, generate Device ID, Device Token<br />
<br />
To access the On-Demand Services API, you need to request an API key through the form specified. If you need further assistance, please let us know thorough the comment section.<br />
<br />
<b>Step 3:</b><br />
<br />
Update /aemmobile-api-examples/config/credentials.php for below details<br />
<br />
i) Update the values for ‘client_id' (with API Key), 'client_secret';<br />
ii) Update the value for 'device_token', 'device_id' received from the AEX service.<br />
iii) Provide a value for 'client_version' (It can be like 'aemmobile-orchestrator-api-doc-1.0');<br />
<br />
<b>Step 4:</b><br />
<br />
Deploy the file folder in hosted server so that files are available over internet. The url could be<br />
www.yourserverpath/aemmobile-api-examples/demo/index.php<br />
<br />
<b>Step 5:</b><br />
<br />
Test the set up.<br />
We can call the test file using below url<br />
<br />
www.yourserverpath/aemmobile-api-examples/demo/01_get_access_token.php<br />
<br />
This url returns back the access token if your set up is correctly configured.<br />
<br />
Copy the 'access_token' returned in previous example and update file /aemmobile-api-examples/config/credentials.php<br />
<br />
Now access www.yourserverpath/aemmobile-api-examples/demo/02_get_user_permissions.php, which returns the project id.<br />
<br />
Update the file /aemmobile-api-examples/config/parameters.php 'publication_id' with previously retrieved project ID.<br />
<br />
Now call www.yourserverpath/aemmobile-api-examples/demo/03_update_home_collection.php will return the top-level collections.<br />
<br />
We can call all tests provided at www.yourserverpath/aemmobile-api-examples/demo/index.php in a similar manner.<br />
<br />
Above tests ensures that we have configured the 'Authoring Orchestrator' correctly.<br />
<br />
<b>Step 6: </b><br />
<br />
Create a form(which can be HTML or PHP) which takes the article details and post it to relevant API.<br />
<br />
In this case you need an html or PHP form which takes all article meta-data like Article Name, Article Title etc. On submission, you need to post this data by referring relevant on-demand API file.<br />
<br />
For eg: If we are creating a new article we need to post the data to '/aemmobile-api-examples/article/create_article.php'<br />
<br />
Once the article is created, we can have similar operation for image updation and .article file upload for the newly created article.<br />
<br />
This 'article' folder contains article operations like, create article, delete article, get article list, get article metadata, publish article, upload article etc.<br />
<br />
Similarly there are many directories which helps us to operate on authentication, banner, card, collection, image, layout, project etc.<br />
<br />
Facing difficulty in configuring on-Demand API? Let us know through comments.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com1tag:blogger.com,1999:blog-6187701480032414854.post-4695729268024223372017-03-09T07:16:00.001-08:002019-02-02T22:19:57.506-08:00Angular JS Implementation for AEM Mobile Articles<div dir="ltr" style="text-align: left;" trbidi="on">
<b>AngularJS Articles in AEM Mobile</b><br />
<br />
AEM Articles are normal HTML articles and it supports any front end technology, which a normal web page supports.<br />
<br />
In this post, we will see how we can create an Angular JS article in AEM Mobile.<br />
<br />
<b>What is AngularJS?</b><br />
<div class="separator" style="clear: both; text-align: center;">
<b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn9tBV75A1pMZrRv2ad93cfeuDVgw8DQWblloo8Qb7OuUhto5PG2Vmbj5CS04Okhup-1jah2cOvjxcSb013T_suOusaYyHPkiDZjjqydZbeOwkwwqYguLHw68IpBnkXQeVcrKjnyGySQw/s1600/AEM+Mobile+AngularJS.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn9tBV75A1pMZrRv2ad93cfeuDVgw8DQWblloo8Qb7OuUhto5PG2Vmbj5CS04Okhup-1jah2cOvjxcSb013T_suOusaYyHPkiDZjjqydZbeOwkwwqYguLHw68IpBnkXQeVcrKjnyGySQw/s320/AEM+Mobile+AngularJS.png" width="320" /></a></b></div>
<br />
Angular JS is a new Javascript technology which can be added to any HTML by adding relevant Angular library inside <script> tag.<br />
Angular adds Directives to HTML page, and binds data to page with Expressions.<br />
<br />
<b>How to add AngularJS in an article?</b><br />
AEM Mobile article structure contains an index.html with js, css, images, lib folders. This structure is used to create .article file using AEM Mobile packager.<br />
<br />
<b>Steps to create angular article:</b><br />
<br />
<ul style="text-align: left;">
<li><b>Get Angular</b></li>
</ul>
<br />
We need to get latest AngularJS library from AngularJS website. Download 'angular.min.js' and any required angular additional libraries to your /js directory in article folder.<br />
<br />
<br />
<ul style="text-align: left;">
<li><b>Create Controller</b></li>
</ul>
<br />
Now create a file controller.js in /js folder and add below code.<br />
<br />
<!--Your Controller.js--><br />
<br />
<br />
var app = angular.module("myFirstAngular",['ngSanitize'], function ($compileProvider) {<br />
<br />
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file):/);<br />
<br />
});<br />
app.controller("controller",function($scope,$window,$sce){<br />
<br />
$scope.personsList =[<br />
{name:'John',age:'23'},<br />
{name:'Jannet',age:'24'},<br />
{name:'Mark',age:'25'} <br />
];<br />
}<br />
);<br />
<br />
<br />
<ul style="text-align: left;">
<li><b>Update index file of article to involve AngularJS in article </b> </li>
</ul>
<br />
<br />
Add angularJS libraries in your index.html. Below we have added sanitizor also which helps to sanitize the urls.<br />
<br />
<head> <br />
<script src="js/angular.min.js"></script><br />
<script src="js/angular-sanitize.min.js"></script><br />
</head><br />
<ul style="text-align: left;">
<li><b>Define body element which refers the controller and app. </b> </li>
</ul>
<br />
<!-- Body--><br />
<!-- ng-app defines an AngularJS application below--><br />
<!-- ng-controller defines the application controller below--><br />
<body ng-app="myFirstAngular" ng-controller="controller"><br />
<ul style="text-align: left;">
<li><b>Add AngularJS code</b> (which is of syntax 'ng-')</li>
</ul>
<!--Div --><br />
<!--ng-repeat repeats a set of HTML, a given number of times--><br />
<div ng-repeat="person in personsList"><br />
<div class = "your class"><br />
<p class="name">{{person.name}}</p><br />
<p class="age" >{{person.age}}</p><br />
</div> <br />
</div><br />
<br />
<ul style="text-align: left;">
<li><b>Save and upload to AEM - On-demand Portal</b></li>
</ul>
<br />
Save all the files, drag and drop it to AEM Mobile Packager. Your angular '.article' file is ready. Upload this to AEM - On-demand portal.<br />
<br />
When you use AngularJS, you may face issue in adding 'navto' as cross browser call.<br />
Just add 'navto' in aHrefSanitizationWhitelist so that it gets white listed.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-58003803991763635762017-03-09T07:15:00.004-08:002019-02-02T22:17:11.265-08:00 Create 'push notifications' in AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Why Push Notifications?</b><br />
<br />
Push notifications are used to re-engage passive users to the app again or conveying information about new content or products which are available in app. These push notifications can be created using the On-Demand Portal or through APIs. A separate Marketing Cloud license also provides different way of delivering push notifications through DPS.<br />
<br />
We have different delivery options like, 'notifications which can send the message only to phone users', or by 'scheduling a delivery time'.<br />
<br />
<b>Types of push notifications:</b><br />
<br />
<b>Background notifications: </b>Which download a specific item or collection.<br />
<b>Text notifications:</b> Which sends a text message to users to notify something.<br />
<br />
Need to create push notifications for Android and iOS independently. Below methods are used for the same.<br />
<ul style="text-align: left;">
<li>Apple Push Notification Service (APNS) for iOS apps.(Support both text notifications and background notifications)</li>
<li>Google Cloud Messaging (GCM) for Android apps. (Support only text notifications)</li>
</ul>
<b>Here we will show how to send push notification through android devices.</b><br />
<br />
There are four steps involved in sending push notification in Android.<br />
<br />
<ol style="text-align: left;">
<li>Configure your app for Google Cloud Messaging using the Google Developer Console.</li>
<li>Configure notifications section of the On-Demand Portal.</li>
<li>Build the Android app with push notifications enabled.</li>
<li>Send the text notification.</li>
</ol>
<br />
<b>Step 1:</b><br />
Configure Google Cloud Messaging.<br />
1) Go to https://developers.google.com/mobile/add?platform=android<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4J6bLKlXFttVhj5QJBqqgQu6HOzELeJ42LvHmvsTmL-hpmPN4Lf5w7kAh644bDaSs-ataytJmguQ8P_SMTgKfvumZbxK9nBjT8j-LL3bueUZc8U8WpU5viA6t4jzpeiKM0KUQlgPYV5o/s1600/Image+1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4J6bLKlXFttVhj5QJBqqgQu6HOzELeJ42LvHmvsTmL-hpmPN4Lf5w7kAh644bDaSs-ataytJmguQ8P_SMTgKfvumZbxK9nBjT8j-LL3bueUZc8U8WpU5viA6t4jzpeiKM0KUQlgPYV5o/s320/Image+1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click on image to see it big</td></tr>
</tbody></table>
<br />
2) Enter values for option as below 'Create a new app or choose an existing app.'<br />
<b>App Name: </b>A name for your app service<br />
<b>Android Package Name:</b> package name that you use for Bundle ID in On-Demand services (Project settings>Access>Entitlement & Authentication>Bundle ID)<br />
<br />
3) Click 'Choose and Configure Services'<br />
<br />
4) Select Cloud Messaging, and then 'Enable Google Cloud Messaging.'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwpBatFTRIY9nKGpzOZf4wKGGANOVAjbyoITND6B41uz924WSeq8LcHLzePNsJDqPgFQ3WZMT018eLmtgm8sCvADh37mlMZ4EdshczutkHlN-jHhankDOMLzxYAMKSHW0Vr9l75rU4Kwk/s1600/Image2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwpBatFTRIY9nKGpzOZf4wKGGANOVAjbyoITND6B41uz924WSeq8LcHLzePNsJDqPgFQ3WZMT018eLmtgm8sCvADh37mlMZ4EdshczutkHlN-jHhankDOMLzxYAMKSHW0Vr9l75rU4Kwk/s320/Image2.png" width="320" /></a></div>
<br />
5) Create the config file by selecting 'Generate configuration files.'<br />
<br />
6) Keep back up of 'Server API Key' and 'Sender ID' values<br />
<br />
7) Download the configuration file by clicking on 'Download google-services.json'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMlfZYWugu0zlQ_8XnYPtHeFyy3BlpNBnhZJWJlB70OZ4Rkc2jJWWuz7e_N1SeTRfPTyhEG6ASSIy6nnWRqrrZVEj0GqxLO96nvd6LTyO8rrukrfS0bEGZ9d2WjW_Z-492oK5SbLPfYA/s1600/Image3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMlfZYWugu0zlQ_8XnYPtHeFyy3BlpNBnhZJWJlB70OZ4Rkc2jJWWuz7e_N1SeTRfPTyhEG6ASSIy6nnWRqrrZVEj0GqxLO96nvd6LTyO8rrukrfS0bEGZ9d2WjW_Z-492oK5SbLPfYA/s320/Image3.png" width="320" /></a></div>
<br />
<br />
<b>Step 2:</b><br />
Configure Notification Section<br />
<br />
1) Go to 'Notifications.'<br />
2) Select the project which you want to update, and click Push Credentials. Then click the Android tab.<br />
3) Select the Android app you created, and then click Add Credentials.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3QKyj_trt97rP_JELlyZNsEWYn0ywyAXYjwAAGlz9yj2ecozNUwrVPBCbZN7g72jdZ7t7moao_ehHvndZR_OTykKhNi7qn8CoXGGhHuEVbF_OIhIIVUfrBtm5Ljr1bgzIqbBULwxCmOI/s1600/Push+credentials.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3QKyj_trt97rP_JELlyZNsEWYn0ywyAXYjwAAGlz9yj2ecozNUwrVPBCbZN7g72jdZ7t7moao_ehHvndZR_OTykKhNi7qn8CoXGGhHuEVbF_OIhIIVUfrBtm5Ljr1bgzIqbBULwxCmOI/s320/Push+credentials.png" width="320" /></a></div>
<br />
<br />
Specify the Server API Key and Project Number (Which you backed up in previous section step 6). <br />
<br />
<b>Step 3:</b><br />
Building an Android app and sign it.<br />
<br />
1) Login to On-Demand Portal and re-check 'Bundle ID' which is configured for 'Step 1, Android package name is matching project's bundle id.<br />
2) Go to on demand Apps> App Details Tab, 'Android Push Notifications', then select 'Enable push notifications '<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1MmkAMvvrrGjzvw4mSGDp3Y3k62wu3v46RbRMbSDn0G4mLrjPLPMTsdr5YWru2NCmN_nEiY6G5Ck2qxPPx2jCYOf0NoYFMEd11-z65LL0XjH_u_klUOZKmPDR0Rk0HJ2_KSSbG4Xke4A/s1600/Push+Notification.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1MmkAMvvrrGjzvw4mSGDp3Y3k62wu3v46RbRMbSDn0G4mLrjPLPMTsdr5YWru2NCmN_nEiY6G5Ck2qxPPx2jCYOf0NoYFMEd11-z65LL0XjH_u_klUOZKmPDR0Rk0HJ2_KSSbG4Xke4A/s320/Push+Notification.png" width="320" /></a></div>
<br />
<br />
<br />
3) Click Upload, select the JSON file downloaded from the Google Developer Console.<br />
4) <a href="http://aem-mobile.blogspot.in/2017/02/create-sign-android-apps-for-aem-mobile.html">Build , Sign,</a> install the app on your android device.<br />
<br />
<b>Step 4:</b><br />
Send the text notifications :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjPHfwr96GH0oTvRa4MqKcyq5G6_oI103zt0eeLpAsB0qqp3RXwOcaDEEY02xLNEI12vAf7vcfXG6w-aNT87Et_fCcD5nzJGbOgzr8hxQlQSW-UoYJBCHa2DJW1rCNIdkmVceazt5JZvc/s1600/Delivery.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjPHfwr96GH0oTvRa4MqKcyq5G6_oI103zt0eeLpAsB0qqp3RXwOcaDEEY02xLNEI12vAf7vcfXG6w-aNT87Et_fCcD5nzJGbOgzr8hxQlQSW-UoYJBCHa2DJW1rCNIdkmVceazt5JZvc/s320/Delivery.png" width="320" /></a></div>
<br />
1) Click Notifications, and then click Android > Click Create > Text Notification>Details : mention below details<br />
Destination App ID: The app which you need to send notification for<br />
Text Notification Message: Enter the text notification message which needs to be send to users.<br />
<br />
2) Click Delivery Options, and specify the following options:<br />
Notification Audience: At present the options are All users, phone, tablet, users who are not app-online for a month.<br />
Delivery Time: Immediate/ scheduled based on time zone,date time.<br />
<br />
3) Click Create to send or schedule the message notification.<br />
<br />
The Text notifications appear on any Android device in which the app is installed(user must have opted in to receive push notifications).<br />
<br />
<b>Notes:</b><br />
<ul style="text-align: left;">
<li>As of now push notification does not allow linking to a specific collection. Cancel option is available for scheduled push notification, if a scheduled text notification has not yet been sent.</li>
<li> If we need to send message to users within the app, we can use In-App Messaging(Which is part of Mobile Marketing SDK). In-App Messaging is a premium product. </li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-14729311440300218892017-03-09T07:08:00.001-08:002019-02-02T22:12:35.633-08:00AEM Mobile related default reports in Adobe Analytics<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Overview:</b><br />
AEM Mobile analytics data can be configured to Adobe Analytics(SiteCatalyst/ Omniture) & Analytics Essentials(Mobile Marketing).<br />
<br />
SiteCatalyst provides report generation for all levels of Mobile content. Analytics Essentials provides some additional options like in App message,Acquisition tracking, Location and target etc. Analytics Essentials are part of Adobe Marketing Cloud.<br />
<br />
AEM Mobile apps are per-configured to report analytics information to Adobe data centers. all app related information like life cycle of the application are saved by default.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqq0rTYSyPUmn45bZStffRKf5aIEN0tmKgUl0pqRwgldYf8Y_mGNfh3zkjmX3L2uegsHm76fY-xto8afmUVS4XvbPghGETUayqWNGwTmiMk30eCse9s-4j_uxot9Ka8LTtNH1_mBurYOI/s1600/Analytics.png" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqq0rTYSyPUmn45bZStffRKf5aIEN0tmKgUl0pqRwgldYf8Y_mGNfh3zkjmX3L2uegsHm76fY-xto8afmUVS4XvbPghGETUayqWNGwTmiMk30eCse9s-4j_uxot9Ka8LTtNH1_mBurYOI/s320/Analytics.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #0000ee;"><u>Click on image to see it big</u></span></td></tr>
</tbody></table>
<br />
Each project in AEM Mobile on demand portal will have a report suite, which is automatically created. Generally mobile app stores information like Path, Dashboards, Favorites, App and Mobile metrics and app-specific items (For e.g. Articles, Collections, Banners).<br />
<br />
<b>How to customize AEM Mobile Menu?</b><br />
As of now the menu is not customizable. In case if customization is required, you need to contact your Adobe Analytics Administrator.<br />
<br />
<b>Default reports available in Reports & Analytics tool</b><br />
<br />
<b>Article Reports</b> : All article reports like Article Impressions, Article Clicks, Article Views, Article Scroll, and Social Share.<br />
<br />
<b>Collection Reports</b>: All information like Collection and Article Impressions, Collection Open, and Article Click.<br />
<br />
<b>Social Share Report</b>: Number of social shares.<br />
<br />
<b>Social Share Channel Breakdown Report</b>: Device specific social share referral.<br />
<br />
<b>Banner Metrics</b>: Banner impressions, clicks.<br />
<br />
<b>Overlay Reports</b>: Hyper link clicks are tracked.<br />
<br />
<b>Video Engagement Report</b>: Reports like count, percentage of completion, duration , average time on video etc.<br />
<br />
<b>Visitor Profile Reports</b>: Visitor reports like unique visitors, overall visitors etc.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<b>Key Metrics Report</b>: App level reports like installation, launches details etc.<br />
<b><br /></b>
<b>Can we get analytics report for Web Viewer?</b><br />
Yes . But Web Viewer only supports clicks reports not mobile related swipes or taps.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-88689464880909723702017-03-09T07:03:00.002-08:002017-03-09T07:12:01.679-08:00 Adobe Analytics integration for AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="body undoreset" id="yui_3_16_0_ym19_1_1489070092174_23257" style="-webkit-padding-start: 0px; background-color: white; box-sizing: border-box; display: table; font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px; outline: none 0px; padding-left: 0px; padding-top: 12px; width: 567px;" tabindex="0">
<div class="email-wrapped" id="yui_3_16_0_ym19_1_1489070092174_23262" style="-webkit-padding-start: 0px; display: table-cell; width: auto; word-break: break-word; word-wrap: break-word;">
<div id="yiv2754299388" style="-webkit-padding-start: 0px;">
<div id="yui_3_16_0_ym19_1_1489070092174_23261" style="-webkit-padding-start: 0px;">
<div id="yui_3_16_0_ym19_1_1489070092174_23260" style="-webkit-padding-start: 0px; font-family: HelveticaNeue, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 16px;">
<div dir="ltr" id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4417" style="-webkit-padding-start: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4fF-u5nk8DEqSAmt53upAcLSc4w6479IGdd39ETFjhkxzo2bK4qnVKj5rk3p9gJkyQcAM4615AWtm28399qy2OlN98IOSwcRw6k25ngv84DU-7SxTrNWYCfms4vzzl58c4uOf4LX-VHU/s1600/AEM+Mobile+integration+with+Adobe+++Analytics.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4fF-u5nk8DEqSAmt53upAcLSc4w6479IGdd39ETFjhkxzo2bK4qnVKj5rk3p9gJkyQcAM4615AWtm28399qy2OlN98IOSwcRw6k25ngv84DU-7SxTrNWYCfms4vzzl58c4uOf4LX-VHU/s320/AEM+Mobile+integration+with+Adobe+++Analytics.png" width="320" /></a></div>
<br /></div>
<div dir="ltr" id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4496" style="-webkit-padding-start: 0px;">
<br /></div>
<div dir="ltr" id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4508" style="-webkit-padding-start: 0px;">
<br style="-webkit-padding-start: 0px;" /></div>
<div id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4509" style="-webkit-padding-start: 0px; text-align: left;">
Adobe marketing cloud provides direct ways of accessing AEM Mobile data to Adobe analytics. There are set of basic configuration available in AEM Mobile on demand portal. Set of parameters defined as part of article or collection or app related are directly available in Analytics once configured. For e.g. article title number of views, collection title views etc.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigYBTnZ8Z_WW4B75SpbliXbGWxwCzKB8xByOKq0GH7IBkG6EncaqHgjDyfp-Zv7U9HQjVYvuwxiDEDNueI8-RmMjQR-JUnolrrky7iPWXTXi_y0SgFSeMBFslTSumJXGHQShuhgGeg_FA/s1600/Analytics+sections.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigYBTnZ8Z_WW4B75SpbliXbGWxwCzKB8xByOKq0GH7IBkG6EncaqHgjDyfp-Zv7U9HQjVYvuwxiDEDNueI8-RmMjQR-JUnolrrky7iPWXTXi_y0SgFSeMBFslTSumJXGHQShuhgGeg_FA/s320/Analytics+sections.png" width="320" /></a></div>
<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4375" style="-webkit-padding-start: 0px;" />
You need to have license for AEM Mobile portal and Analytics essentials to configure AEM Mobile with Adobe Analytics.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4377" style="-webkit-padding-start: 0px;" />
<b>How to cnfigure Analytics in AEM Mobile On Demand portal?</b><br />
You need to be an Admin of AEM Mobile portal for this configuration. Also trial accounts will not have this option enabled by default.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie5x8hjdYXNjblBUwb9hzNETILqcZrEzOr7bdXmjDMWXa5IWXpw5MbTSNDlBhNNRIsdeL0RDyXzdT1HF6gXe6EtAt16t2T-B1tKtICn9llXjBB-DuiAwgQg-HLAH45Fo5-shCUVTAkw3E/s1600/Analytics.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="132" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie5x8hjdYXNjblBUwb9hzNETILqcZrEzOr7bdXmjDMWXa5IWXpw5MbTSNDlBhNNRIsdeL0RDyXzdT1HF6gXe6EtAt16t2T-B1tKtICn9llXjBB-DuiAwgQg-HLAH45Fo5-shCUVTAkw3E/s320/Analytics.png" width="320" /></a><br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4380" style="-webkit-padding-start: 0px;" />
In On Demand portal click on master settings, General Tab.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4382" style="-webkit-padding-start: 0px;" />
If you have an existing Analytics account, enter your Analytics company name, username, and password. Click on Verify And Save.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4384" style="-webkit-padding-start: 0px;" />
If there is no Analytics account, click Request Account. You will receive an email message with instructions for setting up your Analytics Essentials for Apps account.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4386" style="-webkit-padding-start: 0px;" />
Usually it takes a day or mre to get the analytics report configured for the account.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4388" style="-webkit-padding-start: 0px;" />
Once the analytics account is done, mention the Report Suite name for the project you create in Analytics tab[Project Settings>Analytics tab].<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC_EJZDYgAqR77eC3yO6AfqCKrAe45blzdr2OEKn5JYTbHYy_muMRwQTdJBBDfnk-Adf94WI488VRAk7tmns-nBtkqlZKamL1cXOqCXLCJrcjeY0WqKXOim-B9_z6J4Rip-VDTJmKpxjk/s1600/report+suite.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC_EJZDYgAqR77eC3yO6AfqCKrAe45blzdr2OEKn5JYTbHYy_muMRwQTdJBBDfnk-Adf94WI488VRAk7tmns-nBtkqlZKamL1cXOqCXLCJrcjeY0WqKXOim-B9_z6J4Rip-VDTJmKpxjk/s320/report+suite.png" width="320" /></a></div>
<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4391" style="-webkit-padding-start: 0px;" />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4392" style="-webkit-padding-start: 0px;" />
<b>Configuring Analytics Essentials for AEM Mobile Apps </b><br />
Login to Mobile Marketing and <a href="https://mobilemarketing.adobe.com/">sign in</a>..<br />
Select Manage Apps > All Apps> Add Report Suite drop down add report Suite ID that you provided when setting up your project in previous step.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4396" style="-webkit-padding-start: 0px;" />
Once all configuration are done, rebuild the app. Rebuilding the app is required in order to pick up any configuration changes made in the Mobile Marketing Dashboard.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4398" style="-webkit-padding-start: 0px;" />
<b>How to view the Analytics reports?</b><br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4400" style="-webkit-padding-start: 0px;" />
1 <b>From On-Demand Portal</b><br />
Click 'Analytics' in the left menu rail and then click the appropriate link to sign in and view analytics data.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4403" style="-webkit-padding-start: 0px;" />
2 <b>Adobe Analytics account: </b>Login to <a href="https://my.omniture.com/login/">https://my.omniture.com/login/</a> and view the reports.<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4405" style="-webkit-padding-start: 0px;" />
3<b> Analytics Essentials: </b>Login to <a href="https://mobilemarketing.adobe.com/">https://mobilemarketing.adobe.com/</a> and find the analytics reports. This option provides more features like Acquisition Tracking, Push Messages, or In-App Messages<br />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4407" style="-webkit-padding-start: 0px;" />
<br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4408" style="-webkit-padding-start: 0px;" />
<b>FAQ on AEM Mobile Integration with Analytics:</b></div>
<div id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4509" style="-webkit-padding-start: 0px; text-align: left;">
<b><br id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4409" style="-webkit-padding-start: 0px;" /></b>1. Can we try analytics in AEM Mobile trial accounts?<br />
No. You need to purchase license for Analytics configuration.</div>
<div id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4509" style="-webkit-padding-start: 0px; text-align: left;">
<br />
2. Analytics data can be collected in offline?<br />
Yes. Analytics data is collected no matter users are online or offline.</div>
<div id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4509" style="-webkit-padding-start: 0px; text-align: left;">
3. Does analytics work on Preflight?<br />
No. Analytics data is not collected for preflight apps.</div>
<div id="yiv2754299388yui_3_16_0_ym19_1_1489051241473_4509" style="-webkit-padding-start: 0px; text-align: left;">
<br />
4.User has opted out using settings in App. Is there any default option to enable him Opt-in?<br />
No.we need to enable an opt-in option when you build your app.</div>
</div>
</div>
</div>
</div>
</div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-72200439033263702262017-03-09T06:58:00.000-08:002017-03-09T06:58:01.126-08:00Create Sign In in AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5R2R3uU2g0HlFEn_ZYFRx3ajfIXBA-ZnmTWRgTWzRsTd4fDZSAslCHcpbVwSHRygBlrMeU0cOcRi5q2ciN7M0WNg51RD4A2nVckgzqfpUUtPaZ-SeQanHL7NHwiM90DPIy5guZ93r2Vw/s1600/Sign+in.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5R2R3uU2g0HlFEn_ZYFRx3ajfIXBA-ZnmTWRgTWzRsTd4fDZSAslCHcpbVwSHRygBlrMeU0cOcRi5q2ciN7M0WNg51RD4A2nVckgzqfpUUtPaZ-SeQanHL7NHwiM90DPIy5guZ93r2Vw/s320/Sign+in.png" width="228" /></a></div>
<div dir="ltr" id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2208" style="-webkit-padding-start: 0px; font-family: HelveticaNeue, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 16px;">
<br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2715" style="-webkit-padding-start: 0px;" />Usual mobile apps provides a login screen on launching the application. But AEM Mobile provides this as an app menu. Which means, we need to tap on App Menu> Signin to launch the signin screen. The default collection is displayed on launching the app.<br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2716" style="-webkit-padding-start: 0px;" /><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2717" style="-webkit-padding-start: 0px;" />People ask in AEM Mobile, is there any way to provide such option a login screen/window that automatically opens after the splash screen upon app launch. AEM Mobile directly does not provide such option. They have radmap to provide such option in future.<br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2718" style="-webkit-padding-start: 0px;" /><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2719" style="-webkit-padding-start: 0px;" /><b>How can we achieve it manually?</b><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2720" style="-webkit-padding-start: 0px;" />Dynamic Banner is one of the option to do this. We need to provide an HTML Dynamic banner in home screen and on tapping this, the launchSignInUI API can be called from backend. Please note, this API works with both Custom Authentication and authentication via a Direct Entitlement Server. And always there will be a Sign In option avaliable in the app menu.<br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2721" style="-webkit-padding-start: 0px;" /><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2722" style="-webkit-padding-start: 0px;" /> If the Direct Entitlement APIs authentication is enabled, then the native sign in dialog will display. Custom Authentications like SAML, OAuth2 or Generic Identity Provider, displays a web view with sign in UX. <br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2723" style="-webkit-padding-start: 0px;" /><b><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2724" style="-webkit-padding-start: 0px;" />How do you create banners</b>? <a href="https://helpx.adobe.com/digital-publishing-solution/help/creating-banners.html">Read this blog</a> : <br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2725" style="-webkit-padding-start: 0px;" /><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2726" style="-webkit-padding-start: 0px;" /><b>Another less preferred option is normal HTML Article,</b><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2727" style="-webkit-padding-start: 0px;" />Create an HTML article with SignIn information and set it as the first item in Top Level Collection. The top level means it will always be the first item that gets displayed to users. ANother option could be creating a link/ button on home article clicking on this launches Sign In. But this also requires an API Call and will work with both Custom Authentication and authentication via a Direct Entitlement Server.<br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2728" style="-webkit-padding-start: 0px;" /><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2729" style="-webkit-padding-start: 0px;" /><b>Note</b>: Since we are setting this as top level one, place a logic to display this only when the Sin in is not done. Else it can have bad impact on user experience.<br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2730" style="-webkit-padding-start: 0px;" /> <br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2731" style="-webkit-padding-start: 0px;" /><b>Read more on Authentication and Login APIs</b><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2732" style="-webkit-padding-start: 0px;" /><a href="https://helpx.adobe.com/digital-publishing-solution/help/identity-providers.html">https://helpx.adobe.com/digital-publishing-solution/help/identity-providers.html</a><br id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2733" style="-webkit-padding-start: 0px;" /><a class="yiv0822831874" href="https://helpx.adobe.com/digital-publishing-solution/help/app-runtime-api.html" id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2737" rel="nofollow" style="-webkit-padding-start: 0px; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #196ad4; margin: 0px; outline: none; padding: 0px;" target="_blank">https://helpx.adobe.com/digital-publishing-solution/help/app-runtime-api.html</a></div>
<div id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2887" style="-webkit-padding-start: 0px; font-family: HelveticaNeue, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 16px;">
<br style="-webkit-padding-start: 0px;" /></div>
<div id="yiv0822831874yui_3_16_0_ym19_1_1488877301396_2954" style="-webkit-padding-start: 0px; font-family: HelveticaNeue, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 16px;">
<br style="-webkit-padding-start: 0px;" /></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-75551239039699960972017-03-09T06:42:00.004-08:002019-02-02T22:09:46.905-08:00Adobe Analytics integration with Adobe Campaign<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Adobe Analytics integration with Adobe Campaign</b><br />
<br />
<b>Adobe campaign:</b> Adobe Campaign lets you design and orchestrate targeted and personalized campaigns on multiple channels, such as e-mail, direct mail, SMS, Wap Push, search, social etc.<br />
<br />
<b>Adobe Analytics: </b>Analytics service provide various levels of views like visitor geo-location, most frequent visit days, and how long they’re staying as well as several metrics based on e-commerce data, CRM attributes, engagement, etc<br />
<br />
Adobe Analytics data can be used to create effective Adobe campaign across channels. Adobe Analytics & Campaign Combined Together can delver following capabilities.<br />
<ul style="text-align: left;">
<li>Performance measurement in real time</li>
<li>360-degree qualification and targeting</li>
<li>Highly personalized re-marketing</li>
</ul>
<br />
<b>Campaign to Mobile App</b><br />
<br />
The Mobile App Channel lets you use the Adobe Campaign platform to send personalized notifications to iOS and Android terminals via apps. Basically there are two delivery channels available:<br />
<ul style="text-align: left;">
<li>An iOS channel</li>
<li>An Android channel</li>
</ul>
There are ways to opt-out it. The NMAC opt-out management (mobileAppOptOutMgt) workflow updates notification un-subscriptions on mobile devices.<br />
<br />
Adobe Campaign is compatible with both binary and HTTP/2 APNS.<br />
<br />
To use the functionalities of the Adobe Campaign Mobile App Channel, you need to change/adapt your mobile application to integrate it into the Adobe Campaign platform using Two SDKs (one for android , other for iOS)<br />
<br />
<b>Steps involved in campaign set up are.</b><br />
<br />
<b>Configure connectors</b><br />
Collecting information (collect the technical specifications which define the set of parameters that enable Adobe Campaign and the mobile application to communicate, like integration key, variables, urls etc)<br />
<b><br /></b>
<b>Creating the service</b><br />
Adobe Campaign administrator needs to create and configure a service linked to the mobile application<br />
<b><br /></b>
<b>Push Notification services.</b><br />
<ul style="text-align: left;">
<li>APNS (Apple Push Notification Service) for Apple</li>
<li>GCM (Google Cloud Messaging) for Android.</li>
</ul>
<b>Adobe Campaign uses two types of APIs:</b><br />
<br />
• Generic data access APIs for querying the data model data<br />
• Business specific APIs that let you act on each object: deliveries, workflows, subscriptions, etc.<br />
<br />
<b></b>
<b>Collecting data by Campaign</b><br />
Action, Event activities support below data collection methods<br />
<br />
1) The Data loading: The Data loading (RDBMS) activity lets you access this external database directly and to collect only the data required for targeting.<br />
<br />
2) The Loading: The Loading (SOAP) activity is used in addition to the data loading (RDBMS) activity when it is not possible to collect data directly via the FDA in an external database.<br />
<br />
3) Data loading (file): The Load (File) activity lets you directly access a source of external data and use it in Adobe Campaign. A scheduler can be run to retrieve the file.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-66671376644493878132017-02-23T05:35:00.006-08:002019-02-02T22:06:24.094-08:00Article operations in AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Article operations in AEM Mobile</b><br />
<br />
<b>How do we modify the existing article?</b><br />
<br />
Unzip the .article as below using any zip extractor.<br />
[Click on image to see it big] <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWZGM0CcnSziYleBizuMRK6jS_1QRPwVgjs5bl6wvC-8lT4CsXuDzdcrULGd3wivLRDUVpwY3ukGoX2JEuVvefhacDWr-9o8Th9MEUoxJXUDCxaVULRpj4eDzKlHmrf9TbCRIe5sCCEg0/s1600/7zip.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWZGM0CcnSziYleBizuMRK6jS_1QRPwVgjs5bl6wvC-8lT4CsXuDzdcrULGd3wivLRDUVpwY3ukGoX2JEuVvefhacDWr-9o8Th9MEUoxJXUDCxaVULRpj4eDzKlHmrf9TbCRIe5sCCEg0/s320/7zip.png" width="320" /></a></div>
<br />
Now we will have a folder with structure as below. To modify<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu0uaiNJaflGLg9Qbf_7YuhcLYgG5LwAtP8FnJiMw0SKY5TC7jycQal_PEpmOiPttcIHN3EzqwiAC76kMcYIi2HKuGM01qjK0RST0tvuYEURng_IJM1ECCTJ-tfzv9JGwR1NDDlFFKkwo/s1600/Structure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu0uaiNJaflGLg9Qbf_7YuhcLYgG5LwAtP8FnJiMw0SKY5TC7jycQal_PEpmOiPttcIHN3EzqwiAC76kMcYIi2HKuGM01qjK0RST0tvuYEURng_IJM1ECCTJ-tfzv9JGwR1NDDlFFKkwo/s320/Structure.png" width="320" /></a></div>
<br />
Go to respective folder / file and update as required. Once done, drag and drop this article to 'AEM Mobile Packager', so you will have a new .article file.<br />
<br />
Note: Front end development knowledge is required to modify the articles.<br />
<br />
<b>Upload error, how to find out reason.</b><br />
<br />
Some times while uploading an edited article, we find 'Upload Failed' error as below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBwo_57E_tJBtAyD6z-pizhFfnLY_0xfAIjbVF0YqRcfHpONv7Cdl5qoHUu94E0Mzhj2xmJs3dVlPZKkAAKc9Cnj2JIQwVfmWmwxyzHiviVrCwmPApMAkS0dUVOmPwBrrNEAZjN7xe5C8/s1600/Upload+failed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="44" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBwo_57E_tJBtAyD6z-pizhFfnLY_0xfAIjbVF0YqRcfHpONv7Cdl5qoHUu94E0Mzhj2xmJs3dVlPZKkAAKc9Cnj2JIQwVfmWmwxyzHiviVrCwmPApMAkS0dUVOmPwBrrNEAZjN7xe5C8/s320/Upload+failed.png" width="320" /></a></div>
<br />
To find reason click on the red 'Upload Failed' error. You can see a pop up with error details.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9D-QfyOI3koFWWBtfNj5rRdP28_YFz9xXgEmd7n27Y9mXOlWPGMJGlC2-U6Wp1wfXqDMRozJjCZt2oPjBBroSZn-PF_ZnxDL_xjzGmFRL4wDS7YsqRaqMdOorQD5CtDSQkSggX08tcA/s1600/Upload+fail+reason.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9D-QfyOI3koFWWBtfNj5rRdP28_YFz9xXgEmd7n27Y9mXOlWPGMJGlC2-U6Wp1wfXqDMRozJjCZt2oPjBBroSZn-PF_ZnxDL_xjzGmFRL4wDS7YsqRaqMdOorQD5CtDSQkSggX08tcA/s320/Upload+fail+reason.png" width="320" /></a></div>
<br />
<b>How to fix the error?</b><br />
<br />
The reason is manifest file does not match MD5 calculated internally. To fix this remove the manifest file and drag and drop it to 'AEM Mobile Packager' again and try re uploading.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge2A3mPwRyMGZj0Tqx2h-MddcyEzx1SmfPTM2Q2ff6PhMiNui7ytvnHgDhdpMgzV3l-OjqoqO030fSZy8XaI_74j67qP7_NXcpEW8oLoBOoD589H7CSlenP48mqKe4sshmdDpHkbUaQZg/s1600/Manifest.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge2A3mPwRyMGZj0Tqx2h-MddcyEzx1SmfPTM2Q2ff6PhMiNui7ytvnHgDhdpMgzV3l-OjqoqO030fSZy8XaI_74j67qP7_NXcpEW8oLoBOoD589H7CSlenP48mqKe4sshmdDpHkbUaQZg/s320/Manifest.png" width="320" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Read More</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a></b><div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-81211977224466593072017-02-23T05:30:00.005-08:002019-02-02T22:04:10.870-08:00Adjusting Home Navigation Menu from AEM Mobile On-Demand portal<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</b><br />
<br />
There are cases where we need to adjust home menu options of AEM Mobile application. See below a sample menu. It has landing collections and products menus which are configurable and adjustable.<br />
<br />
The sign in menu appears automatically once the entitlement service for sign in is configured.<br />
<br />
Settings contains licensing information, track usage data option, version of app, build details etc.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJfdMsgGqjIKnq-jDjnVes5CbHErBrV3_1s6teeY8vcvWRnYPir-ey_VhxiYVhOlCppBqZIhuIH8mGPopjF-dMlxtpcbtvpEQn6u578j0TLpZ4H7jrcKzX_uBzprRoBeN2JTBclDn-gfc/s1600/Menu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJfdMsgGqjIKnq-jDjnVes5CbHErBrV3_1s6teeY8vcvWRnYPir-ey_VhxiYVhOlCppBqZIhuIH8mGPopjF-dMlxtpcbtvpEQn6u578j0TLpZ4H7jrcKzX_uBzprRoBeN2JTBclDn-gfc/s320/Menu.png" width="234" /></a><br />
<br />
<b><br /></b>
<b><br /></b>
<b>How do we adjust home navigation menu in AEM Mobile?</b><br />
<br />
Go to Content & layout > Content map click on the item to be moved from right pane.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinBXYGBFzcCTYI7wBVN70cVYExAAAEQPA-zwHK69aTAiCdIpHAwGyvXiDXM2qAiKY9jga3psgXiBMB3hL8Mk2l_l62jQyTLhqGM5sl4b8krd2hwNsozASWK5GZUqHXavuPfIEZhhmyj1E/s1600/AEMM+Content+Map.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinBXYGBFzcCTYI7wBVN70cVYExAAAEQPA-zwHK69aTAiCdIpHAwGyvXiDXM2qAiKY9jga3psgXiBMB3hL8Mk2l_l62jQyTLhqGM5sl4b8krd2hwNsozASWK5GZUqHXavuPfIEZhhmyj1E/s320/AEMM+Content+Map.png" width="320" /></a></div>
<br />
Now just drag and drop the item on target areas which are allowed and highlighted in blue during drag.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH4qaEUnk9OfDsqbk0e3HnqEYJP-74EMiwphfHfZ2ysY_wnrk_rb_n5-NEy9V5ssaOe0NA4GBAiLre6PtQXRKoTZcAveuUuzLzC1-3Yo7-YRGt4l0Zns_CSsb85zUVhD0LgfZ2H11RY5k/s1600/Drag+and+drop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH4qaEUnk9OfDsqbk0e3HnqEYJP-74EMiwphfHfZ2ysY_wnrk_rb_n5-NEy9V5ssaOe0NA4GBAiLre6PtQXRKoTZcAveuUuzLzC1-3Yo7-YRGt4l0Zns_CSsb85zUVhD0LgfZ2H11RY5k/s320/Drag+and+drop.png" width="320" /></a></div>
<br />
Once preflight option is done, you will have the new menu in preflight app and on publish, this gets activated to production app<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<b>Read More</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b> <a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">Various options in AEM integrated with AEM Mobile On-Demand Portal</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html">Add/MAP user to AEM Mobile project</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html">Create Article/Banner from AEM and publish it to AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html">Integrate AEM with AEM Mobile</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html">Create an APP in AEM And Mapping with AEM Mobile On-Demand</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-interview-questions-for.html">AEM Mobile Interview questions for developers</a><br /><br /> <a href="https://aem-mobile.blogspot.com/2017/02/adjusting-home-navigation-menu-from-aem.html">Adjusting Home Navigation Menu from AEM Mobile On-Demand portal</a><br /></b></div>
<br /></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-6875187760871169752017-02-23T05:24:00.004-08:002019-02-02T22:00:24.564-08:00AEM Mobile Testing Interview questions<div dir="ltr" style="text-align: left;" trbidi="on">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuaGf74Phk6whORSlLAdF0nA6nCi_Ztth0UGfFCTP9Kj_7Yqq-HxBOKVhL_Z6ccI3TiJuCGwhfxCGuQZdTIZUc3k6p_pdzq6KmrOubFw_-LxRiVDZEnjYJeonSqrDm_ketWmmoSssAARA/s1600/q.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuaGf74Phk6whORSlLAdF0nA6nCi_Ztth0UGfFCTP9Kj_7Yqq-HxBOKVhL_Z6ccI3TiJuCGwhfxCGuQZdTIZUc3k6p_pdzq6KmrOubFw_-LxRiVDZEnjYJeonSqrDm_ketWmmoSssAARA/s400/q.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Add caption</td></tr>
</tbody></table>
<b>AEM Mobile Testing Interview questions</b><br />
<div>
<br /></div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li>How do we create an aem mobile app from portal?</li>
<li><br /></li>
<li>Do you know about AEM Mobile entitlement?</li>
<li><br /></li>
<li>How do we author an article in portal?</li>
<li><br /></li>
<li>Do you know to configure the app menu?</li>
<li><br /></li>
<li>What are all the performance checks we can do on a mobile app?</li>
<li><br /></li>
<li>What are all the security checks we can do on an app?</li>
<li><br /></li>
<li>How to change metadata of content in portal?</li>
<li><br /></li>
<li>How to update an image in an article?</li>
<li><br /></li>
<li>Do you know to add a user and configure his permissions?</li>
<li>What is the difference between preflight and a production app? How they differ from installation.</li>
</ul>
<br />
<div>
<b>Read More</b><br />
<b>1. AEM Mobile Overview<br />https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html<br /><br />2. AEM Mobile Integration with third party application for authoring<br />https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html<br /><br />3. AEMM: How to create custom authentication<br />https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html<br /><br />4. AEM Mobile(AEMM) Applications - FAQ<br />https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html<br /><br />5. AEM Mobile Desktop Web Viewer<br />https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html<br /><br />6. AEM Mobile Access Protections at collection , article levels<br />https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html<br /><br />7. Create & Sign Android apps for AEM Mobile on Windows OS(.apk files)<br />https://aem-mobile.blogspot.com/2017/02/create-sign-android-apps-for-aem-mobile.html<br /><br />8. AEM Mobile Search<br />https://aem-mobile.blogspot.com/2017/02/aem-mobile-search.html<br /><br />9. Various options in AEM integrated with AEM Mobile On-Demand Portal<br />https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html<br /><br />10. Add/MAP user to AEM Mobile project<br />https://aem-mobile.blogspot.com/2017/02/addmap-user-to-aem-mobile-project.html<br /><br />11. Create Article/Banner from AEM and publish it to AEM Mobile<br />https://aem-mobile.blogspot.com/2017/02/create-articlebanner-from-aem-and.html<br /><br />12. Integrate AEM with AEM Mobile<br />https://aem-mobile.blogspot.com/2017/02/integrate-aem-with-aem-mobile.html<br /><br />13. Create an APP in AEM And Mapping with AEM Mobile On-Demand<br />https://aem-mobile.blogspot.com/2017/02/create-app-in-aem-and-mapping-with-aem.html </b></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-36767869792886781262017-02-23T05:23:00.005-08:002018-12-15T03:19:10.686-08:00AEM Mobile Interview questions for developers<div dir="ltr" style="text-align: left;" trbidi="on">
AEM Mobile Interview questions<br />
<br />
<div style="text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI0HubZ2-aViudPj0dknZeAElkRZ2olIoyJ4vPCN1iApcTHNfUdsCkEAquXWw669l-eVuxfxRy88d293aQ2AJBgT71dE6p5lJIfI9PnHFelc4axwZ3We7ujDDy-F_Q9C0NHxnyxFhyphenhyphenwYU/s1600/q.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI0HubZ2-aViudPj0dknZeAElkRZ2olIoyJ4vPCN1iApcTHNfUdsCkEAquXWw669l-eVuxfxRy88d293aQ2AJBgT71dE6p5lJIfI9PnHFelc4axwZ3We7ujDDy-F_Q9C0NHxnyxFhyphenhyphenwYU/s400/q.png" width="400" /></a></div>
<ul style="text-align: left;">
<li>How do we configure AEM with AEM on demand portal?</li>
<li><br /></li>
<li>What is entitlement and how it works?</li>
<li><br /></li>
<li>What are all the ways of creating article?
</li>
<li><br /></li>
<li>What is the difference between free threshold and metered content?</li>
<li><br /></li>
<li>How do we author AEM Mobile content from AEM?</li>
<li><br /></li>
<li>Can we author AEM Mobile content from third party applications?</li>
<li><br /></li>
<li>What are all the ways to improve performance of AEM Mobile pages?</li>
<li><br /></li>
<li>How the search works on AEM Mobile? Which layout is used for AEM Mobile search?</li>
<li><br /></li>
<li>How do we unzip a .article file?</li>
<li><br /></li>
<li>What are all the types of files which can be authored on a page in AEM Mobile?</li>
<li><br /></li>
<li>How the meta data is added in aem mobile content?</li>
<li><br /></li>
<li>How to create a preflight app and web url?</li>
<li><br /></li>
<li>How do we configure the menu items in Mobile app?</li>
<li><br /></li>
<li>How do we update the fonts in AEM Mobile app?</li>
<li><br /></li>
<li>Explain the user roles in AEM Mobile portal?</li>
</ul>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-62879105562954837182017-02-17T05:22:00.003-08:002019-02-02T21:58:56.621-08:00Create an APP in AEM And Mapping with AEM Mobile On-Demand<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Create an APP in AEM And Mapping with AEM Mobile On-Demand Portal</b><br />
<br />
To work with AEM Mobile On-Demand Portal, we need an app created in AEM.<br />
Mobile Apps dashboard(http://localhost:8080/libs/mobileapps/admin/content/dashboard.html) collectively holds all mobile apps in AEM. To publish or sync a content between AEM and AEM Mobile, an app is necessary at AEM and a mapped project in AEM Mobile. Consider we already have a project in AEM Mobile, and need to link it with AEM.<br />
<br />
There are two steps required to sync AEM and AEM Mobile.<br />
<br />
1) Creating an On-Demand app in AEM 6.2<br />
2) Link the AEM 6.2 APP with AEM Mobile On-Demand Project<br />
<br />
<b>Steps</b><br />
<b> </b><br />
>><b>Creating an On-Demand app</b><br />
In AEM 6.2, go the Mobile section as shown below.<br />
Click Create > App. The select template "AEM Mobile runtime", click on 'Next'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQiTOUcHmHUNsAI2R2Bo54EEYHaS6naICBKiqh21gOIJB7I8Hn0tKGlrsYfP-od_6kdNv_6bieLmNCWbnZGthE7QuSTe3ICJj-enXJyz-NKQBjGbIydM4WyvY7jaZuOYk9V7_NPCD85kw/s1600/AEMM+Authoring+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQiTOUcHmHUNsAI2R2Bo54EEYHaS6naICBKiqh21gOIJB7I8Hn0tKGlrsYfP-od_6kdNv_6bieLmNCWbnZGthE7QuSTe3ICJj-enXJyz-NKQBjGbIydM4WyvY7jaZuOYk9V7_NPCD85kw/s400/AEMM+Authoring+7.png" width="400" /></a></div>
<br />
<br />
Enter app properties such as Title, Name, Description.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1yL-pdCJ1DBp4DY4aj_eyjMBhxW_9_JlFFxOhd3FR1gFWYjExNab2F8qeFK3HyTxD7PfouUMxBZWwiOw9QmXKXMJNFkloYWlOwwt0g9WOx85A05CZRjmzc3P9AXx7XU9RFeY79HoO4G8/s1600/AEMM+Authoring+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1yL-pdCJ1DBp4DY4aj_eyjMBhxW_9_JlFFxOhd3FR1gFWYjExNab2F8qeFK3HyTxD7PfouUMxBZWwiOw9QmXKXMJNFkloYWlOwwt0g9WOx85A05CZRjmzc3P9AXx7XU9RFeY79HoO4G8/s400/AEMM+Authoring+8.png" width="400" /></a></div>
<br />
<br />
Ensure the app properties are matching with the properties used in the AEM Mobile On-Demand Portal, and click Next.<br />
<br />
>><b>Link the AEM 6.2 APP with AEM Mobile</b><br />
<br />
Under 'Manage Connection', map the AEM APP from section 'Select an Experience Manager Mobile Config', with AEM Mobile project from section 'Select an existing Experience Manager Mobile Project' as shown below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQeyJRFTy9ePGcqbA6MlNXNVgT0PUsw_owQhgZ6jXSpeFKp9P7cbgjMQAXSmXTVe5MAuCT6Gyfmw-rZ0n2s9m2hlgTVDLZTo5Z8E4VqWlpWpAi8jWtw9NRtsUbyQ3S4NZEXbo5zSgr4HE/s1600/AEMM+Authoring+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQeyJRFTy9ePGcqbA6MlNXNVgT0PUsw_owQhgZ6jXSpeFKp9P7cbgjMQAXSmXTVe5MAuCT6Gyfmw-rZ0n2s9m2hlgTVDLZTo5Z8E4VqWlpWpAi8jWtw9NRtsUbyQ3S4NZEXbo5zSgr4HE/s400/AEMM+Authoring+9.png" width="400" /></a></div>
<br />
<br />
Once the connection is successful, the 'Manage Connection' section looks as below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdd1QU0s9WY0R22aB2PanbMYXhQAONIGipjsqSNnbTQ8MNULhoff_SbUISBsKB46HmDGtbBdke0gSBo5RjS2vaUJQD-rGYnCX3Q30Fis2K0TBUqIYlwGdm7Ikh_tDdZe96oixwRYQ6sXI/s1600/AEMM+Authoring+11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdd1QU0s9WY0R22aB2PanbMYXhQAONIGipjsqSNnbTQ8MNULhoff_SbUISBsKB46HmDGtbBdke0gSBo5RjS2vaUJQD-rGYnCX3Q30Fis2K0TBUqIYlwGdm7Ikh_tDdZe96oixwRYQ6sXI/s400/AEMM+Authoring+11.png" width="400" /></a></div>
<br />
Now we will be able to sync data/content between AEM app and AEM Mobile On Demand Portal.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVYpAw7VECMZ-490ocsiQgwaksYXLUAAYruC7uMCi5wqpdZThIxkw_NEUOtRdT1-1cVMosHdTCg_Z8HeFWtOZOox4YW3XAvvDt_qr3-pj8yuiSmO-8rRjTs2kxovXQVZp7Aa_ZNpjduRg/s1600/AEMM+Authoring+10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVYpAw7VECMZ-490ocsiQgwaksYXLUAAYruC7uMCi5wqpdZThIxkw_NEUOtRdT1-1cVMosHdTCg_Z8HeFWtOZOox4YW3XAvvDt_qr3-pj8yuiSmO-8rRjTs2kxovXQVZp7Aa_ZNpjduRg/s400/AEMM+Authoring+10.png" width="400" /></a></div>
<br />
<br />
<b>Test the configuration.</b><br />
<br />
Assume we have some collection already created in AEM Mobile portal. Now Go to 'Manage Connection' > click on 'Import Collections', confirm the import pop up screen. You will be able to see the AEM Mobile On-Demand portal collections imported into AEM environment with a success message.<br />
<br />
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b><div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-26072869027157568362017-02-17T05:16:00.000-08:002019-02-02T21:55:15.657-08:00Integrate AEM with AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Integrate AEM with AEM Mobile</b><br />
<br />
The article is based on AEM 6.2. You may need to refer the url(https://helpx.adobe.com/digital-publishing-solution/help/configure-aem.html) for AEM 6.1 version integration.<br />
<br />
<b>How do we get AEM 6.2 Jar?</b><br />
You may need to raise a request with Adobe in AEM License section for the same mentioning the partnership of your organization with Adobe.<br />
<br />
<b>Integrate AEM with AEM Mobile</b><br />
<br />
AEM Integration with AEM Mobile On-Demand portal helps organizations to manage mobile content easily and work in more distributed way. Once the integration is done, we will be able to add content (Article, collections, banners etc) through AEM for the Mobile Application. We also can import existing content available in AEM Mobile On-Demand portal to our AEM Development environment.<br />
<br />
To complete the integration, we need API access of On-Demand portal, which requires additional license from Adobe. Below given the details required.<br />
<br />
<ul style="text-align: left;">
<li>API Key & Client Secret are credentials to access the API Gateway. (Refer Link and Raise a request for API Key from Adobe https://helpx.adobe.com/digital-publishing-solution/help/integrating-dps.html#apikey)</li>
</ul>
<ul style="text-align: left;">
<li>Device ID and Device Token are credentials to identify the API user. (Generate the Device details using above API received from Adobe then from URL https://aex.aemmobile.adobe.com/)</li>
</ul>
<br />
<b>Note</b>: Ensure the 'Adobe ID' used to get API access should match the 'Device ID' generation.<br />
<br />
Once both steps are done, you will have,<br />
<ul style="text-align: left;">
<li>API Key (IMS Client ID)</li>
<li>Secret Key</li>
<li>Device ID</li>
<li>Device Token</li>
</ul>
<b>Note</b>: API Key Expiry Time automatically gets extended once in use and expiry date is reached.<br />
<br />
<b>Integrate AEM 6.2 to work with AEM Mobile.</b><br />
<br />
Follow below steps to integrate the AEM with AEM Mobile On-Demand Portal<br />
<br />
In AEM click Adobe Experience Manager, and then go to <b>Tools > Operations > Web Console</b>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrtJd0oG94HGxyqMFEpl2wXVSFv89Jt0MbZ3YXo27x3SRZ-hrY4hpRY4uX0rdk_mF72pcDjZjHCtGUZKs3ca5yMCaT4bUb3huEkj4hH4dgsQbrGyiWdYLWctguXxH-Jf2AWO9l51LarRY/s1600/AEM+AUTHORING1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrtJd0oG94HGxyqMFEpl2wXVSFv89Jt0MbZ3YXo27x3SRZ-hrY4hpRY4uX0rdk_mF72pcDjZjHCtGUZKs3ca5yMCaT4bUb3huEkj4hH4dgsQbrGyiWdYLWctguXxH-Jf2AWO9l51LarRY/s400/AEM+AUTHORING1.png" width="400" /></a></div>
<br />
<br />
In the new window, search for 'Experience Manager Mobile On-demand Services Client' and click the edit icon.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2kdZspysKblp8cwIrWP1-nR0kkYCILKZ1T7c7Rf3koARxnCuMeP-WI_h38LXcsWLljEBwsDd11hw86cBYD4WZQf1SsPKEYZyrnU-wZNXflJg7f3yailIlG9Vn7oidFS1TAruFdavi2Ek/s1600/AEMM+Authoring+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2kdZspysKblp8cwIrWP1-nR0kkYCILKZ1T7c7Rf3koARxnCuMeP-WI_h38LXcsWLljEBwsDd11hw86cBYD4WZQf1SsPKEYZyrnU-wZNXflJg7f3yailIlG9Vn7oidFS1TAruFdavi2Ek/s400/AEMM+Authoring+2.png" width="400" /></a></div>
<br />
<br />
Enter the API Key (IMS Client ID) and Client Secret in the "Client Id' and 'Client Secret' as shown below and save it.<br />
<br />
Now go back to AEM page, <b>Tools > Deployment > Cloud Services</b>. Search for 'Adobe Experience Manager Mobile On-demand Services', and click 'Configure Now'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2_QQjK9uTGTF2Oq1ZcCm5rw83NtlgU7cJX6v0tKRhWQJ8uLGrlRewqmhB0m5GKFi8W88HiVzwDSjXkQymx29YGicJ_JV0240MQz8Utz5UE6b9TtODbWmsr4eXTbm3BSTtAdBwwbrS5lI/s1600/AEMM+Authoring+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2_QQjK9uTGTF2Oq1ZcCm5rw83NtlgU7cJX6v0tKRhWQJ8uLGrlRewqmhB0m5GKFi8W88HiVzwDSjXkQymx29YGicJ_JV0240MQz8Utz5UE6b9TtODbWmsr4eXTbm3BSTtAdBwwbrS5lI/s400/AEMM+Authoring+3.png" width="400" /></a></div>
<br />
<br />
In the 'Create Configuration' pop-up window, enter 'Title', 'Name', and click Create.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikAGINRfvQJyhBZ1V1o4B4Qonhd7We3Xfzp07Mn1K4OjB6sH1TvbCc2iGPT0425QuPATHjD_Ou0TrwkyAIbe9IWJR07i0FD0jB3CEjEmPP_ph_EwHvlqncJ5XGB54DmfauaVSPBmXsVeU/s1600/AEMM+Authoring+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikAGINRfvQJyhBZ1V1o4B4Qonhd7We3Xfzp07Mn1K4OjB6sH1TvbCc2iGPT0425QuPATHjD_Ou0TrwkyAIbe9IWJR07i0FD0jB3CEjEmPP_ph_EwHvlqncJ5XGB54DmfauaVSPBmXsVeU/s400/AEMM+Authoring+4.png" width="400" /></a></div>
<br />
<br />
Enter the 'Device Id' and 'Device Token' which was generated using the 'IMS Device Token Generator' to the pop up window 'Adobe Experience Manager On-Demand Services Account Configuration'. Once the 'OK' button is clicked we will be able to see the configuration saved.<br />
<br />
<b>How to Test the connection/configuration?</b><br />
<br />
On the service which we have created, click on configuration > 'Edit' , the pop up window will have previously saved 'Device ID' and 'Device Token' and 'Test Device Configuration' on bottom. Click on 'Test Device Configuration'. If the connection is proper, we will get a message 'Connection Successful'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAaNbu931ToI-evMt73la_vyaVIq5xDSbJOo41x3b2G3BKUMAMtNvj-OCReISsRl8AV0q9kWpEpZhVjwdb4GKkrmU7orfCvNRZE4i0MqxkNruuZbdrU4M4ASH4qdyh1V6w9yzEvtwMnqw/s1600/AEMM+Authoring+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAaNbu931ToI-evMt73la_vyaVIq5xDSbJOo41x3b2G3BKUMAMtNvj-OCReISsRl8AV0q9kWpEpZhVjwdb4GKkrmU7orfCvNRZE4i0MqxkNruuZbdrU4M4ASH4qdyh1V6w9yzEvtwMnqw/s400/AEMM+Authoring+5.png" width="400" /></a></div>
<br />
<br />
If the connection was not successful, ensure that 'Device ID' and 'Device Token' values are correct, have not expired and are copied properly (by copying on notepad and removing any white-spaces).<br />
<br />
Click 'OK', and then navigate back to the AEM window. You can see the AEM On-Demoand Cloud Service is enabled and 'Green'.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkzGI5mCmCk7-Bygnc9tgdWe-6sAahJSwpFR0v3iUMB6CiqDDOfYnOaKB7bj79wNmnzr-TtEWMW6SFSMpMiZeFMLQsaO6Ulmqf3okdUXbz5yf_4AghG7fJKVGPqYBlncYpgj3MFrf2gzk/s1600/AEMM+Authoring+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkzGI5mCmCk7-Bygnc9tgdWe-6sAahJSwpFR0v3iUMB6CiqDDOfYnOaKB7bj79wNmnzr-TtEWMW6SFSMpMiZeFMLQsaO6Ulmqf3okdUXbz5yf_4AghG7fJKVGPqYBlncYpgj3MFrf2gzk/s400/AEMM+Authoring+6.png" width="400" /></a></div>
<br />
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b><div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-4333233137282996792017-02-17T05:09:00.003-08:002019-02-02T21:50:51.223-08:00Create Article/Banner from AEM and publish it to AEM Mobile<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Create Article/Banner from AEM and publish it to AEM Mobile</b><br />
<br />
<b>AEM Version 6.2</b><br />
<br />
Once the AEM is configured with AEM Mobile account as mentioned in <b><a href="https://aem-mobile.blogspot.com/2017/02/various-options-in-aem-integrated-with.html">page</a></b>, we will be able to import articles, collections banners etc from AEM On-Demand Portal. We can also create an article, banner, collection from AEM and publish to AEM Mobile on-demand portal. The synch method is quite easy to follow.<br />
<br />
Let us see how to create a banner in AEM and publish it to AEM Mobile. Creation / updation of article method remains same as in banners.<br />
<br />
In section 'Manage Banners' , click on 'Create Banner' as shown below.<br />
[Click on image to see it big] <br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNzXj6bpN2T_aqVoreo43NUXo6FzhL4NM1gTkGb8kbYQxnP_pwXK1Ip2y5BI-gsjRpSqZZHae3fmgkiW4cF4n5FzDsVqtGuqeN0gH_mc7QQBDxoRgF5qLAONXuInNFWSgAspJh3Amd3CM/s1600/Create+Banner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="44" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNzXj6bpN2T_aqVoreo43NUXo6FzhL4NM1gTkGb8kbYQxnP_pwXK1Ip2y5BI-gsjRpSqZZHae3fmgkiW4cF4n5FzDsVqtGuqeN0gH_mc7QQBDxoRgF5qLAONXuInNFWSgAspJh3Amd3CM/s400/Create+Banner.png" width="400" /></a></div>
<br />
<br />
Now go through the screens and fill out all mandatory fields as shown below. Ensure we are clicking on 'Next' to fill out various sections like 'Properties', 'Advertisement', 'Images', 'Collections'. In final screen select the collection where the article/banner to be linked with.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwammpAfyBWjSn3Q5pJQsgtIwPF2PzBjRdCxR54PqRqCrkXMysjMTMQLt7VLcxqg_bqwg_vyZfXgNwTGShu_6Ozibtp07BPmEgcQd_Flw8Ix-vFmk7R12Wy61KKu2KXP_dqZYLEsc1AH8/s1600/Article+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwammpAfyBWjSn3Q5pJQsgtIwPF2PzBjRdCxR54PqRqCrkXMysjMTMQLt7VLcxqg_bqwg_vyZfXgNwTGShu_6Ozibtp07BPmEgcQd_Flw8Ix-vFmk7R12Wy61KKu2KXP_dqZYLEsc1AH8/s320/Article+1.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRhME0pLD_UIELeoOU0Cs2sVZShK62vcrX0y9lgNsCVDQKamQq9HB9LctRxSYUCUW8X74HQWZAMidX6vFDdAsFjTWfKXUDZp84nvzvjc9VnqVZ2E87mVVqcbjN9sZywYZd6_cZAG2hEV8/s1600/Article+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRhME0pLD_UIELeoOU0Cs2sVZShK62vcrX0y9lgNsCVDQKamQq9HB9LctRxSYUCUW8X74HQWZAMidX6vFDdAsFjTWfKXUDZp84nvzvjc9VnqVZ2E87mVVqcbjN9sZywYZd6_cZAG2hEV8/s320/Article+2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwEeVOfliLt2sClUybSphXI8JPxCvydwTl5WfDWXLywcNCXYkieGcoQp5kEMWbypZFcD2G92K8FNOiNQI6SreWbCL04K8LpgoT73jGcKUiiLsuIVrsKbaEfoU9doNBwgm1iSPicUo46Jg/s1600/Article+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwEeVOfliLt2sClUybSphXI8JPxCvydwTl5WfDWXLywcNCXYkieGcoQp5kEMWbypZFcD2G92K8FNOiNQI6SreWbCL04K8LpgoT73jGcKUiiLsuIVrsKbaEfoU9doNBwgm1iSPicUo46Jg/s320/Article+3.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEqvWe1dbiX3G1lzdmbaCesMUvtYNhk6CddqUlw-MxfTKWaJnA3fH3NUSTF2eN8MTXaE3P25GNieOMAgwP7mHiEwyCNNapSppbzHj27uy0AZm-W_Zc5T8vVbchLjLOrM3XvtxMFKb6iYs/s1600/Article+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="143" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEqvWe1dbiX3G1lzdmbaCesMUvtYNhk6CddqUlw-MxfTKWaJnA3fH3NUSTF2eN8MTXaE3P25GNieOMAgwP7mHiEwyCNNapSppbzHj27uy0AZm-W_Zc5T8vVbchLjLOrM3XvtxMFKb6iYs/s320/Article+4.png" width="320" /></a></div>
<br />
<br />
Once we click on 'Create'; on final screen we will get confirmation 'Banner Created' with option to view new banner.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgExR0Xz06iaeZryXET3j19LF4w1Bz7uwHZI5nB3m8U06N4-0r8X3R4lVyhk-M8V1SSGyY0Bg-z54MP-YRFsRUcgaQPeDynhzTa2STogMjhp-WXsRD8Cio9-pvBwXb1uuVnws5Ssw39Dxg/s1600/Done.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgExR0Xz06iaeZryXET3j19LF4w1Bz7uwHZI5nB3m8U06N4-0r8X3R4lVyhk-M8V1SSGyY0Bg-z54MP-YRFsRUcgaQPeDynhzTa2STogMjhp-WXsRD8Cio9-pvBwXb1uuVnws5Ssw39Dxg/s1600/Done.png" /></a></div>
<br />
<br />
We will have various options like publish, unpublish,Add to a collection, Unlink from collection, upload delete etc for an article.<br />
<br />
Also we can view and change the properties further.<br />
<br />
Now the Manage Banners section list out all the banners which are created using AEM or through AEM Mobile on demand portal. Section 'Source' specifies the source of content creation.<br />
It also says the advertisement details, whether the article/banner is published etc.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigAQUQRTx3n85kK2YwEPyl4STtYaMGdGS_1rtftZl4_filAk_bH8Iz2Dt_mIPJh2V_di8Tsfo9P1khxEZr7SbnDZvbt9B_98guoKNIr3v0JDDHA-caBHlIbs3qSTAQc5BnD4FBFFOz0hc/s1600/BannetList.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigAQUQRTx3n85kK2YwEPyl4STtYaMGdGS_1rtftZl4_filAk_bH8Iz2Dt_mIPJh2V_di8Tsfo9P1khxEZr7SbnDZvbt9B_98guoKNIr3v0JDDHA-caBHlIbs3qSTAQc5BnD4FBFFOz0hc/s400/BannetList.png" width="400" /></a></div>
<br />
<br />
Individual articles/banners can be published by selecting it as shown below below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL8PS9zCgQkkveRLVwaokLAt2P05zDyfTpJSIksCw4Vhts0TQ_GcyuknYgC_VzHN3Q1H2DSO4hsmciuPUnqa-NbCrG8mhkOeK2CsbM4-mRZn-vkmL1bpu3U1yp7LM1p8LswG7hYVuR-8g/s1600/publish.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL8PS9zCgQkkveRLVwaokLAt2P05zDyfTpJSIksCw4Vhts0TQ_GcyuknYgC_VzHN3Q1H2DSO4hsmciuPUnqa-NbCrG8mhkOeK2CsbM4-mRZn-vkmL1bpu3U1yp7LM1p8LswG7hYVuR-8g/s400/publish.png" width="400" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b><div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br /></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-59879034653952782162017-02-17T05:05:00.000-08:002019-02-02T21:46:09.655-08:00Add/Map user to AEM Mobile project<div dir="ltr" style="text-align: left;" trbidi="on">
We need to add multiple users to AEM Mobile account in order to deliver shared development environment and multiple project maintenance. In addition to this AEM integration with AEM Mobile also requires a user to be mapped with a project, preferably a dedicated user.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYuqhc8Fmh-tUQy6P7aTfvyoVxqnJuD_rfZWFxkzTPoRSC9e6a9qPSdrnghNjedgS_bLiHih5Ja2Lmy37AV4APtbE7vGLrTFvayhBB_qHawG1UjdHp5lb_zOHa5i2t6Kq-1W5daFzVcM0/s1600/adduser0.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYuqhc8Fmh-tUQy6P7aTfvyoVxqnJuD_rfZWFxkzTPoRSC9e6a9qPSdrnghNjedgS_bLiHih5Ja2Lmy37AV4APtbE7vGLrTFvayhBB_qHawG1UjdHp5lb_zOHa5i2t6Kq-1W5daFzVcM0/s320/adduser0.png" width="320" /></a>To do this, we have to login to On-Demand Portal http://aemmobile.adobe.com , click on users from left navigation, select the project which user needs to be mapped, then click on (+) Add User enter the user details (Users Adobe id mapped email) and submit.<br />
<br />
Now select on 'Custom' drop-down so that we can immediately map the user access with the assigned project.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8GvY3vouDhG3W2Olzga2qhB_BJaxSzrtA6PNqcGrQVpEikXKT3IRw1-uMPxNSVWTQAFAeGvs359HxtrC9jZRKHU28pkLDZ7mxSrtsANv7FR4q2ugf41gOLgFZ5uT81NmyH_XNGUsCjns/s1600/adduser1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8GvY3vouDhG3W2Olzga2qhB_BJaxSzrtA6PNqcGrQVpEikXKT3IRw1-uMPxNSVWTQAFAeGvs359HxtrC9jZRKHU28pkLDZ7mxSrtsANv7FR4q2ugf41gOLgFZ5uT81NmyH_XNGUsCjns/s1600/adduser1.png" /></a></div>
<br />
<br />
There are multiple sections where user can get access on as below.<br />
<br />
<ul style="text-align: left;"><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJUaDeL_rKbgubxYV76CRz_1R1U-nFPzV2TGqHy5qhhCMFdoxyUEPudJEcX51W1DvfkdGxaekadlSEBCSJHh_YfJMAencg-ZcQSXdltUIi5605kAAlEkPXtHe35QNX7JFe_9C5bR4Bemg/s1600/adduser2.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJUaDeL_rKbgubxYV76CRz_1R1U-nFPzV2TGqHy5qhhCMFdoxyUEPudJEcX51W1DvfkdGxaekadlSEBCSJHh_YfJMAencg-ZcQSXdltUIi5605kAAlEkPXtHe35QNX7JFe_9C5bR4Bemg/s320/adduser2.png" width="273" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #0000ee;"><u>Click on image to see it big</u></span></td></tr>
</tbody></table>
<li>Administration</li>
</ul>
<br />
<ul style="text-align: left;">
<li>Application Development</li>
<li>Content</li>
<li>Notifications</li>
<li>Products & Subscriptions</li>
</ul>
<br />
<br />
Select appropriate check boxes according to the requirement and save the selection. The new user with specific access is mapped to the project now.<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Any time the user permission can be edited by <b>>Users> selecting the user then edit.</b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0-qSWnNtA1cv7PRbZ_ssLdUpjHb-zRTcKufJiksP_Tg_6TBGmcg4UqTYL3zhT-k9fLpAXM32Uw35vF6WWNlJzIgm8Qak33G5Ni70oYGgqMMdaGAa5xrvXqaavXcjVidVqPNHJ0Ke7MJs/s1600/adduser3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="104" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0-qSWnNtA1cv7PRbZ_ssLdUpjHb-zRTcKufJiksP_Tg_6TBGmcg4UqTYL3zhT-k9fLpAXM32Uw35vF6WWNlJzIgm8Qak33G5Ni70oYGgqMMdaGAa5xrvXqaavXcjVidVqPNHJ0Ke7MJs/s320/adduser3.png" width="320" /> </a></div>
<br />
<br />
<br />
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-86909262563022421482017-02-17T04:57:00.003-08:002019-02-02T21:43:07.692-08:00Various options in AEM integrated with AEM Mobile On-Demand Portal<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Various options in AEM integrated with AEM Mobile On-Demand Portal</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgYU8jjhO6hS1m5WSZ15smRUuJ1jNb5wWbiHYxLpGB35f-x_kawqMc2zwmvU3ev3c9LG1MXRsDZzLC-YXL_mSLG59oVYt-l-ck1cXEY-DdVAOTSDOPDaKlmhlAvdsbOH6h8UZMTpfBDuc/s1600/property+set1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="25" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgYU8jjhO6hS1m5WSZ15smRUuJ1jNb5wWbiHYxLpGB35f-x_kawqMc2zwmvU3ev3c9LG1MXRsDZzLC-YXL_mSLG59oVYt-l-ck1cXEY-DdVAOTSDOPDaKlmhlAvdsbOH6h8UZMTpfBDuc/s400/property+set1.png" width="400" /></a></div>
<br />
<br />
'<b>View Properties</b>' : This helps to view and edit the content settings for article, banner and collection.<br />
<br />
'<b>Upload</b>' : Upload helps to upload the newly created/ modified article/banner/collection to AEM On-Demand Portal.<br />
<br />
'<b>Add to'</b> : Specific to articles & collections. The selected article gets added to a collection which is mentioned in next step.<br />
<br />
'<b>Publish</b>': Helps publishing the content to AEM Mobile and directly to an APP.<br />
<br />
'<b>Un Publish</b>': Helps un-publishing the content from AEM Mobile and directly to an APP.<br />
<br />
'<b>Unlink</b>': Unlink the selected items link between local(AEM) and remote instances of the content.<br />
<br />
'<b>Delete</b>': Delete the item from AEM Mobile. On clicking 'Delete' provides an optional checkbox to delete item from 'AEM' also.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhInYEm46LXNJK701J5vktjOouAQ7TtKpzQGFgdp2wR5EnN736Qjk3Zes7-chrXTeiLGlgvGSL5EPqUuPlBbKw5v0vAktPraFuLSGEE2NgbukmZL07dl5DCAIkjrRAyJwIkhyqBfj5sl8Q/s1600/property+set2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="42" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhInYEm46LXNJK701J5vktjOouAQ7TtKpzQGFgdp2wR5EnN736Qjk3Zes7-chrXTeiLGlgvGSL5EPqUuPlBbKw5v0vAktPraFuLSGEE2NgbukmZL07dl5DCAIkjrRAyJwIkhyqBfj5sl8Q/s320/property+set2.png" width="320" /></a></div>
<br />
<br />
'<b>Upload Shared Resources</b>': This helps to upload the HTML common resources of the App of AEM to the common HTML on Experience Manager Mobile.<br />
<br />
'<b>Preflight</b>': This helps to preflight all content, collections and layouts on device using a preflight app created from Experience Manager Mobile.<br />
<br />
<b>Change the configuration of AEM, AEM Mobile mapping</b><br />
Clicking on gear icon to update the configuration as shown below section.<br />
<br />
Go to the mapped AEM Mobile account from AEM by clicking on 'dots' as shown below.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnhUEEDh4PGqA2A7-teO1PqsXGPAu4Xx8Ytfed7VU2UatZBEyLz8ndnCeX-IXgF8dD9GKVnUghBUdND8zWkBlWBulc3kCUzCndHKbxEiOOxZmQq7p6uXasreIro9cYVOaieEYc2WjrfC4/s1600/property+set3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnhUEEDh4PGqA2A7-teO1PqsXGPAu4Xx8Ytfed7VU2UatZBEyLz8ndnCeX-IXgF8dD9GKVnUghBUdND8zWkBlWBulc3kCUzCndHKbxEiOOxZmQq7p6uXasreIro9cYVOaieEYc2WjrfC4/s400/property+set3.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click on image to see it big</td></tr>
</tbody></table>
<br />
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-78765166455113420112017-02-17T04:52:00.003-08:002019-02-02T21:40:45.223-08:00AEM Mobile Search<div dir="ltr" style="text-align: left;" trbidi="on">
<b>All what you need to know about AEM Mobile search</b><br />
<br />
<b>AEM Mobile search functionality</b><br />
AEM Mobile provides a search feature for its app on menu bar once enabled. When you enable search indexing, article metadata is indexed on article creation.<br />
This is a one time 'on' service which cannot be disabled once enabled. The content gets indexed from then. It can be individually enabled or disabled for different type of apps like 'production app' or preflight.<br />
<br />
<b>How to enable search in menu bar of AEM Mobile app?</b><br />
Go to project settings> Select the project , click on 'Edit Project' from top left corner, select the tab 'Search'<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYqzWfVSaMLSwXCcJc-DTDX099opOEY5a80jsJDdqE8MpLdIOwbZTdh7fqK4S9p0XlHoE1QS4t6kggJLhOE8F388zLwYMHdh5bu2fT47tGgd7KRInv0Uml8ajLvwsPwubhrNge3VK9hrE/s1600/Search+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYqzWfVSaMLSwXCcJc-DTDX099opOEY5a80jsJDdqE8MpLdIOwbZTdh7fqK4S9p0XlHoE1QS4t6kggJLhOE8F388zLwYMHdh5bu2fT47tGgd7KRInv0Uml8ajLvwsPwubhrNge3VK9hrE/s320/Search+1.png" width="320" /></a></div>
<br />
<br />
<b>I have enabled the search but I am unable to get results.</b><br />
<br />
To enable search in your mobile app, you must rebuild it by selecting the app, clicking the edit icon, and clicking Submit.<br />
<br />
<b>What data is searchable in AEM Mobile?</b><br />
<br />
Article metadata gets indexed in search (which are public facing). Internal properties such as 'Internal Keywords' or 'Article Name' are not indexed. Based on metadata of published articles, for e.g. title, category, author, department etc. If an articles metadata field includes the search string, the article appears in the list of search results.<br />
<br />
<b>Note</b>: Search index also does not cover selection items such as 'Metered' (Property of Article Access) or 'High' (Property of Article Importance) - which are internal properties. Items tagged with 'Restricted' are hidden from search results unless the user is signed in and has access to it.<br />
<br />
<b>Search and indexing language configuration</b><br />
<br />
Search configuration provides option to configure the index language at project level and article level. We can edit individual articles to override the default project language setting at lower levels. During content search, an article will appear in search results only if its language setting matches the device language setting. For e.g., if the device language is German, articles indexed in French language will not appear in search results.<br />
<br />
<b>What is the template layout of search? </b><br />
Default Layout in the Layout Templates section of the Portal is used to display search results. It can be changed by modifying the default layout to a specific layout as per the requirement.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdyHBMXDxK9XnWmzzKsE2XcPFW4EUL2KhPObpfv20Rg3uslWCYKk74GbvpznXppwzpNqYhF4TCtKpEOF0E3tDlqC_bj0xAOUU4icIaVMoXitVZDyJ5sT4UORlFCXYdkJ1efGWFll6OU0A/s1600/Search+layout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdyHBMXDxK9XnWmzzKsE2XcPFW4EUL2KhPObpfv20Rg3uslWCYKk74GbvpznXppwzpNqYhF4TCtKpEOF0E3tDlqC_bj0xAOUU4icIaVMoXitVZDyJ5sT4UORlFCXYdkJ1efGWFll6OU0A/s320/Search+layout.png" width="320" /></a></div>
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-16368028202921264532017-02-17T04:48:00.001-08:002019-02-02T21:38:27.470-08:00Create & Sign Android apps for AEM Mobile on Windows OS(.apk files)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;"><span style="font-family: Georgia, "Times New Roman", serif;">Create & Sign Android apps for AEM Mobile on Windows OS(.apk files)</span></span><br />
<br />
Go to On Demand portal 'Apps' click on 'create' button select the type of app which you want to create (android)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYiLW5EaBq-PkJVA9-F35dHH2y0GIXSC88EQJrK3p3V3_6ZMLSuDQzs6OfekM1xSg9BXNReBz-HNvsXYT4dfK5F6l_xK_sADBa0s3lX8vFPrnEG5_ZA6ltbRBNfcIKPBjbTceun2cKuyM/s1600/Create.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYiLW5EaBq-PkJVA9-F35dHH2y0GIXSC88EQJrK3p3V3_6ZMLSuDQzs6OfekM1xSg9BXNReBz-HNvsXYT4dfK5F6l_xK_sADBa0s3lX8vFPrnEG5_ZA6ltbRBNfcIKPBjbTceun2cKuyM/s1600/Create.png" /></a></div>
<br />
<br />
Fill out basic mandatory fields. At present the mandatory fields are given below.<br />
<br />
<b>App Details :</b> App Name, Bundle ID are mandatory<br />
<b>Assets Tab :</b> App Icon<br />
<br />
Once basic fields are entered, click on 'Submit', this creates an unsigned version of your AEM Mobile app.<br />
<br />
<br />
<b>Android app creation </b><br />
<br />
To create an installer we need below requirements in addition to Java (version 7 or later) installed on our machine. <br />
<ul style="text-align: left;">
<li>The unsigned .apk file downloaded from the Apps section of the Portal.</li>
<li>A valid .p12 certificate for signing Android apps.</li>
</ul>
<br />
<b>Create a .p12 certificate </b><br />
<br />
If you have java installed and configured on your windows machine, just enter below line on command prompt and press enter(by replacing 'yourcertificatename' with a proper name) <br />
keytool -genkey -v -keystore yourcertificatename.key.p12 -alias alias_name -keyalg RSA -storetype pkcs12 -keysize 2048 -validity 10000<br />
<br />
You now will have a certificate created on your windows/users/ folder.<br />
<br />
Download the Unsigned app from 'Apps section'<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzC09F0tZKDjp4OfHD7f-zYamGsZCCxKexJKJC2UNEWG4SzHolo9ELugOfAym8YJp7_31nFaVeWaOwcTG6aiY5U17asp1eLDOgjyjoYrdf-TiNhzSoyn9bWNO9TrLyEeQ1Pz7ugDdEyyk/s1600/download+signin+tool.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzC09F0tZKDjp4OfHD7f-zYamGsZCCxKexJKJC2UNEWG4SzHolo9ELugOfAym8YJp7_31nFaVeWaOwcTG6aiY5U17asp1eLDOgjyjoYrdf-TiNhzSoyn9bWNO9TrLyEeQ1Pz7ugDdEyyk/s320/download+signin+tool.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click on image to see it big</td></tr>
</tbody></table>
<br />
<br />
Download the AEM Mobile Signing Tool. Click on icon in the upper right corner of the Apps section(Both iOS and Andriod works on same tool).<br />
<br />
Install the Signing tool<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTvsV4J79_gaQ-atELRh4W4OXZW8WdllHsYCANxtN1x1aGm-o_8kEioZ4gm3uhEkef5XVbz6Et6ryY57C3XPTe8mVDZfShNghPHgvTbnl8qKikz6AOnWy7w7AVCjz3qK7SpD5PQeUUyv0/s1600/Signing+tool+installation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTvsV4J79_gaQ-atELRh4W4OXZW8WdllHsYCANxtN1x1aGm-o_8kEioZ4gm3uhEkef5XVbz6Et6ryY57C3XPTe8mVDZfShNghPHgvTbnl8qKikz6AOnWy7w7AVCjz3qK7SpD5PQeUUyv0/s320/Signing+tool+installation.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ5NEEINgAOMn-1_uwcwAjMmZGXdEkhs8t0ZwmBn_U0ukDE149MDbQxJO0elZt3Qbf9dNT38q8kotjMr2M3Q78-NGPsANPYwntOccQjTAm0EMVNpZ1EirMKsPRZDqgy0h6fs8fvD0TI-w/s1600/AEMM+Signintool+installation+++finished.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ5NEEINgAOMn-1_uwcwAjMmZGXdEkhs8t0ZwmBn_U0ukDE149MDbQxJO0elZt3Qbf9dNT38q8kotjMr2M3Q78-NGPsANPYwntOccQjTAm0EMVNpZ1EirMKsPRZDqgy0h6fs8fvD0TI-w/s320/AEMM+Signintool+installation+++finished.png" width="320" /></a></div>
<br />
<br />
Launch the App Signing Tool<br />
<br />
Enter the details of the app to be signed, certificate to be referred while signing, with its password, click on 'Sign application'<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifbo9WE1MJ-akuE3JW2k4XgY7ibtPvPWHOeKnMufxVkiffQ7dOX2fjiJ7_TUjRP-2r4T_ZN8tLYaQjEobEWhyPK2DUXAJZkU3Ydmzt9GqY5jfHgoHzF953JG3sfRdqW77RnrIJqXH6mPI/s1600/AEMM+Signing+details.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifbo9WE1MJ-akuE3JW2k4XgY7ibtPvPWHOeKnMufxVkiffQ7dOX2fjiJ7_TUjRP-2r4T_ZN8tLYaQjEobEWhyPK2DUXAJZkU3Ydmzt9GqY5jfHgoHzF953JG3sfRdqW77RnrIJqXH6mPI/s320/AEMM+Signing+details.png" width="320" /></a></div>
<br />
<br />
A new app is created at the same location as the source app which is signed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXvGeQaS5dA1mk2un1eJV2IctkBeIw-jzIrUiGeko8YAAFXLJ9EvPeByXKtUkKe2LRbBkihKhM2sM_BFJfgmuVSnuPUkVXcZOPUoka7ubSzO3mwr9VlkRMakW_xa6rYKkNqvqT3JS6C9g/s1600/Signing+done.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXvGeQaS5dA1mk2un1eJV2IctkBeIw-jzIrUiGeko8YAAFXLJ9EvPeByXKtUkKe2LRbBkihKhM2sM_BFJfgmuVSnuPUkVXcZOPUoka7ubSzO3mwr9VlkRMakW_xa6rYKkNqvqT3JS6C9g/s320/Signing+done.png" width="320" /></a></div>
<br />
<br />
Move the signed app onto your device and install it, you will have the app installed on your device.<br />
<br />
You can also submit the signed app to the android or iOS store.<br />
<br />
<br />
<b>Debug</b><br />
<br />
If you face any error in signing the app, you can go to Signing in tool installed directory, 'AEM Mobile Signing Tool', open 'aemm-sign-tool.log' file in notepad and search for any error.<br />
<br />
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com0tag:blogger.com,1999:blog-6187701480032414854.post-1913025915815084622017-02-10T21:19:00.002-08:002019-02-02T21:35:01.054-08:00AEM Mobile Access Protections at collection , article levels<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>AEM Mobile Access Protections at collection , article levels</b><br />
<br />
AEM Mobile uses the section 'Entitlement' to specify whether the users have permission to access content. Entitlement is determined at the collection level, and is based on the product that is associated with the collection.<br />
<br />
[Click on images to see it big] <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNCqNkG0AGRZmGEFxw4KAhIxJeG3eWERGdZdX8L85uydWMuptwwziIf0EpsHQoZZsVIphsm76eNeg7nhqqU-Ny5o-vAiGiOj8aK8qPatdq9dIzXEMq0WoyEv_Mh_gUpB0GRL9xOdb5v5M/s1600/Article+collection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNCqNkG0AGRZmGEFxw4KAhIxJeG3eWERGdZdX8L85uydWMuptwwziIf0EpsHQoZZsVIphsm76eNeg7nhqqU-Ny5o-vAiGiOj8aK8qPatdq9dIzXEMq0WoyEv_Mh_gUpB0GRL9xOdb5v5M/s320/Article+collection.png" width="320" /></a></div>
<br />
<br />
Each collection, segregated into 3 types of access. They are 'Free', 'Entitlement Required', 'Restricted'<br />
<br />
<table border="2">
<tbody>
<tr><td>Free </td><td>Entitlement Required</td><td>Restricted</td></tr>
<tr><td>Available to all users regardless of article settings</td><td>Appears in the app, but metered or protected articles, which requires payment or sign in(Usually paid contents/collections are not hidden.)</td><td>They are hidden until the user signs in to gain access.</td></tr>
<tr><td>.</td><td>Entitled collection provides option to edit article properties to determine whether the Article Access option is set to Free, Metered, or Protected</td><td>.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj24g-BtuE-GTHio5XeYSLhpf-ktUDh8BaWWQ92MOAe4at_qdngg2VQhkrW8BKBMflXpNHES3snc4xCezIAMlBhxPJnezPUr6D3yEN5BjDxllF_Qp4JtjK0LuiUzIlRiC66hk2P4OVsUt8/s1600/AEM+Mobile+Collection+access.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj24g-BtuE-GTHio5XeYSLhpf-ktUDh8BaWWQ92MOAe4at_qdngg2VQhkrW8BKBMflXpNHES3snc4xCezIAMlBhxPJnezPUr6D3yEN5BjDxllF_Qp4JtjK0LuiUzIlRiC66hk2P4OVsUt8/s320/AEM+Mobile+Collection+access.png" width="320" /></a></div>
<br />
<br />
<b> Article Access Levels :</b> This is set to collections that are set to Entitled or Restricted.<br />
<br />
<br />
<table border="2">
<tbody>
<tr><td><blockquote class="tr_bq">
Free </blockquote>
</td><td><blockquote class="tr_bq">
Free Articles are available for all users to view(Even if the article is in a collection set to Entitled).</blockquote>
</td></tr>
<tr><td><blockquote class="tr_bq">
Metered</blockquote>
</td><td><blockquote class="tr_bq">
Metered articles are available for a specified period of time. Entitled collection allows users to view an article preview until they reach the specified threshold. When the threshold time elapses at the specified Start Time, users can view metered articles again</blockquote>
</td></tr>
<tr><td><blockquote class="tr_bq">
Protected</blockquote>
</td><td><blockquote>
The articles which are paid. A user sees a payment option when viewing an entitled or restricted collection</blockquote>
</td></tr>
</tbody></table>
</div>
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL4LWhJGYASWTE6Nt62sVNiqIuGxIixoqC4Rpv_j4f7DeEjwrKa5tC2e6M2awDua0aW04gRtryKiFHtKxkxlk2X23IEGDcQQVkbz146OEy50A8_xpwMd1bFHWwkOphhsi-cAQq6J7HAFs/s1600/AEM+Mobile+Article+Access.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL4LWhJGYASWTE6Nt62sVNiqIuGxIixoqC4Rpv_j4f7DeEjwrKa5tC2e6M2awDua0aW04gRtryKiFHtKxkxlk2X23IEGDcQQVkbz146OEy50A8_xpwMd1bFHWwkOphhsi-cAQq6J7HAFs/s320/AEM+Mobile+Article+Access.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>Configuring threshold for metered articles</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizQqai7JWAdPWZTrInFD_retPZEsl7ZgsRvE8pSUBxJoESawIV3lR-o6SLwMrUQfWQZHBorJaMuA23dpXWWKueAAKmzZNPqOZn60oOX0Mp-4UD1dM78Cw6kjYKC1ELyJrW9LcGgvplUSE/s1600/AEM+Mobile+Metered+Access.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizQqai7JWAdPWZTrInFD_retPZEsl7ZgsRvE8pSUBxJoESawIV3lR-o6SLwMrUQfWQZHBorJaMuA23dpXWWKueAAKmzZNPqOZn60oOX0Mp-4UD1dM78Cw6kjYKC1ELyJrW9LcGgvplUSE/s320/AEM+Mobile+Metered+Access.png" width="320" /></a></div>
<b><br /></b>
<span class="Apple-tab-span" style="white-space: pre;"> </span>In project settings, Enable the Article Preview in the Content tab, and specify threshold settings as below.<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Free articles are always visible if Enable Article Preview is not selected. Select the 'Enable Article Preview' option to allow users to preview articles in an Entitled collection. If the articles are set to Metered, non-entitled users can preview articles until they reach the threshold that we specified.<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>If the user signed in or purchased the collection, the protected articles in entitlement collection are enabled. Else protected articles are obscured by a payment option.<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<b><span class="Apple-tab-span" style="white-space: pre;"> </span>Threshold time in action - 'Dwell Time'</b><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Dwell time is used to consider whether the threshold is reached when a user stays on an article for a period of time. Below are the measurement criteria,<br />
<ul style="text-align: left;">
<li><span class="Apple-tab-span" style="white-space: pre;"> </span>For Tablet - 25 seconds</li>
<li><span class="Apple-tab-span" style="white-space: pre;"> </span>Mobile - 15 seconds</li>
</ul>
<span class="Apple-tab-span" style="white-space: pre;"> </span>A user who just swipe and pass through articles are not considered for threshold time.<br />
<br />
<b>Read More:</b><br />
<br />
<b><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-overview.html">1. AEM Mobile Overview</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aem-mobile-integration-with-third-party.html">2. AEM Mobile Integration with third party application for authoring</a><br /><br /><a href="https://aem-mobile.blogspot.com/2016/09/aemm-how-to-create-custom-authentication_27.html">3. AEMM: How to create custom authentication</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobileaemm-applications-faq.html">4. AEM Mobile(AEMM) Applications - FAQ</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-desktop-web-viewer.html">5. AEM Mobile Desktop Web Viewer</a><br /><br /><a href="https://aem-mobile.blogspot.com/2017/02/aem-mobile-access-protections-at.html">6. AEM Mobile Access Protections at collection , article levels</a></b></div>
The Guruhttp://www.blogger.com/profile/18234750553280325491noreply@blogger.com1