SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Introducing Mobile Cross Promotion Framework 
Xin Hu, Di Huang, Dustin Shean, Sudeep Yegnashankaran, Zaheer Mohiuddin 
Recruiting Solutions
Agenda 
§ Objective 
§ Problem Statement 
§ Architecture - Before & After 
§ Overview 
§ Components 
§ Demo 
§ Onboarding Process 
§ Q & A
What is a cross promo and why do we 
need it?
Objective 
§ Critical part of LinkedIn’s multi-app mobile strategy 
§ Promote healthy growth of the overall ecosystem 
§ Provide a scalable framework to facilitate the initiative
Use Case - connected cross promo
Use Case - connected cross promo
Cross Promo Request Handling Flow 
(Not using the cross promo framework)
Architecture View Before
Problem Statement 
§ Multiple integration points on both clients and server 
§ Promo assets management logic duplicated across all 
front-end services 
§ If we want to show cross promotions in N applications 
with M targeted screens from each application, the 
required effort is: above change * N * M 
Neither cost-effective nor scalable!
Architecture View After
Cross Promo Framework Overview 
§ Fully integrated with Lego framework to server 
promo to the right users at the right context and right 
time 
§ Provide persistent layer to host all promo related 
assets such as text, images and action payload 
§ Handles uploading images to CDN and text 
translation to all standard languages supported by 
LinkedIn 
§ Support A/B testing on asset variation as well as view 
templates variation
Promo Templates Gallery
Demo of Flagship (iOS/Android) Apps Running Cross 
Promo
Lego 
Decides which widget or flow of widgets 
to show in slot for a given user. 
§ Code-less Configuration 
§ Impression & click events built in 
§ Lix Integration
Lego is not... 
...Cross Promo Framework is 
§ UI Renderer 
§ Client Libs 
§ Data Provider 
§ Images 
§ Text 
§ Action Payload 
§ Data Blender 
§ A/B Testing
Cross Promo Framework Component 
Front End APIs:
Restli APIs
Cross Promo Framework Component 
onboardingLauncherPromo (Widget Id) 
Promo4 Promo6 
Different Templates 
lix controlled
Cross Promo Framework Component 
connectedPromo (Widget Id) 
server controlled 
Promo2 Promo2 
Same Template, Different Assets
Cross Promo Framework Component 
Request handling sequence
Cross Promo Framework Component 
Cross promo client side library - overview 
§ Hosting app can query the framework for an available 
promo via the library 
§ App must provide a page key and member id 
§ A self contained view that can 
§ Render the promotion UI (small icon, background image, 
promotion text, detail text) 
§ Execute the promotion flow (open app store download link, or 
open the app via deep linking if it is installed on device) 
§ Initiate Lego impression event when view is displayed 
§ Initiate Lego action event when view is clicked
Cross Promo Framework Component 
Cross promo client side library - detail 
§ Caching Mechanics 
§ Fetches promo asynchronously, and caches. 
§ Displays cached promos to avoid async rendering. 
§ Supports Sync Rendering (server flag) 
§ Rich text support for colors and fonts 
§ Provides hook for app custom metric firing 
§ Generated Models with Pegasus (true JSON) 
§ Sample Apps 
§ Wake cool-off script 
§ Unit Tests
iOS Cross Promotion Library Integration 
§ Installation: ‘pod install ios-crosspromo’ 
§ App provides a page key, a networking layer, and an async 
image renderer 
§ App is given a generic UIView object, which it can display in 
whatever way it wants 
§ The primary API: 
§ [[LICrossPromo sharedManager] 
viewForPageKey:withDelegate] 
§ [[LICrossPromo sharedManager] userDidSeePromo:] 
§ Library provides callbacks for 
§ Handling fetch failures 
§ Firing additional action metrics
iOS Cross Promotion Library Deep Dive 
§ Implements most of the behavior with static/class 
methods to minimize side effects 
§ Library plugs into existing apps by leveraging protocols 
§ Uses NSCache for all caching 
§ Uses Xibs for easy onboarding, modifications, and 
enhancement
Android Cross Promotion Library Integration 
§ App provides a unique pageKey, reference to view 
container, and reference to CookieStore. 
§ App initialize a CrossPromoManager. 
§ App calls CrossPromoManager’s API: 
§ addPromo() 
§ clearPromoView() 
§ Optional: Add metric listener to fire app specific metrics.
Android Cross Promotion Library Deep Dive 
§ Great Documentation (Javadocs, ReadMe, @Nullable 
Annotation) 
§ Out of the box NetworkClient (optional swap in 
NetworkClient) 
§ Supports 3 formats: 
§ Return a crosspromo view 
§ Manage a crosspromo view in a viewgroup 
§ Manage a crosspromo view in a listview
How to Create a New Promo Demo
How to Create a New Promo 
§ Configure Lego Widget 
§ Create Lego Widget 
§ Set Widget Lix 
§ Add Promo Asset (use scripts provided by framework) 
§ Upload Images to CDN 
§ Create Your text Copy 
§ Upload Asset JSON to Espresso Store
Q & A 
Full documentation can be found at: go/mxpromo

Contenu connexe

Tendances

Single Page Apps
Single Page AppsSingle Page Apps
Single Page AppsGil Fink
 
5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On KubernetesEntando
 
Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile Uniface
 
A Smooth Transition to HTML5
A Smooth Transition to HTML5A Smooth Transition to HTML5
A Smooth Transition to HTML5Chris Bannon
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsAkshay Sharma
 
Mobile web or native app
Mobile web or native appMobile web or native app
Mobile web or native appMike Takahashi
 
Comparative analysis of java script framework
Comparative analysis of java script frameworkComparative analysis of java script framework
Comparative analysis of java script frameworkNishant Kumar
 
Blast Mojo Overview
Blast Mojo OverviewBlast Mojo Overview
Blast Mojo Overviewloyalchow
 
Industry-Standard Web Development Techniques for Angular
Industry-Standard Web Development Techniques for AngularIndustry-Standard Web Development Techniques for Angular
Industry-Standard Web Development Techniques for AngularJai Prakash Mishra
 
Single page application and Framework
Single page application and FrameworkSingle page application and Framework
Single page application and FrameworkChandrasekar G
 
5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know Existed5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know ExistedDNN
 
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014Duy Lâm
 
Single page webapplications
Single page webapplicationsSingle page webapplications
Single page webapplicationsRonald Harmsen
 

Tendances (20)

Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
Benefits of developing a Single Page Web Applications using AngularJS
Benefits of developing a Single Page Web Applications using AngularJSBenefits of developing a Single Page Web Applications using AngularJS
Benefits of developing a Single Page Web Applications using AngularJS
 
5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter LehtoJavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
 
Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile Uniface Lectures Webinar - Extending Applications for Mobile
Uniface Lectures Webinar - Extending Applications for Mobile
 
A Smooth Transition to HTML5
A Smooth Transition to HTML5A Smooth Transition to HTML5
A Smooth Transition to HTML5
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Mobile web or native app
Mobile web or native appMobile web or native app
Mobile web or native app
 
Comparative analysis of java script framework
Comparative analysis of java script frameworkComparative analysis of java script framework
Comparative analysis of java script framework
 
Blast Mojo Overview
Blast Mojo OverviewBlast Mojo Overview
Blast Mojo Overview
 
Industry-Standard Web Development Techniques for Angular
Industry-Standard Web Development Techniques for AngularIndustry-Standard Web Development Techniques for Angular
Industry-Standard Web Development Techniques for Angular
 
Liferay
LiferayLiferay
Liferay
 
Single page application and Framework
Single page application and FrameworkSingle page application and Framework
Single page application and Framework
 
JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...
JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...
JavaCro'14 - Vaadin web application integration for Enterprise systems – Pete...
 
Ionic
IonicIonic
Ionic
 
5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know Existed5 Evoq Features You Didn't Know Existed
5 Evoq Features You Didn't Know Existed
 
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
Building Single-page Web Applications with AngularJS @ TechCamp Sai Gon 2014
 
Calatrava
CalatravaCalatrava
Calatrava
 
Single page webapplications
Single page webapplicationsSingle page webapplications
Single page webapplications
 

Similaire à Introducing Mobile Cross Promotion Framework

Building cross platform web apps
Building cross platform web appsBuilding cross platform web apps
Building cross platform web appsITEM
 
5 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 20225 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 202275waytechnologies
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsSuraj Kumar
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by CitytechRitwik Das
 
Sybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wpSybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wpPrabhakar Manthena
 
HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7Gizmox
 
Guidance on how to develop a progressive web app using react native!
Guidance on how to develop a progressive web app using react native!Guidance on how to develop a progressive web app using react native!
Guidance on how to develop a progressive web app using react native!Shelly Megan
 
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018Bhavesh Surani
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarKeyur Shah
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxwrite31
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with FunctionsChristos Matskas
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web AppsUnfold UI
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 

Similaire à Introducing Mobile Cross Promotion Framework (20)

Building cross platform web apps
Building cross platform web appsBuilding cross platform web apps
Building cross platform web apps
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
5 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 20225 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 2022
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
 
Sybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wpSybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wp
 
KATHY ZHANG_3
KATHY ZHANG_3KATHY ZHANG_3
KATHY ZHANG_3
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7HTML5 Development with Gizmox Visual WebGui7
HTML5 Development with Gizmox Visual WebGui7
 
Guidance on how to develop a progressive web app using react native!
Guidance on how to develop a progressive web app using react native!Guidance on how to develop a progressive web app using react native!
Guidance on how to develop a progressive web app using react native!
 
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
 
Accessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup WebinarAccessibility Testing - Using Asqatasun - Meetup Webinar
Accessibility Testing - Using Asqatasun - Meetup Webinar
 
Profile_Ahmad2
Profile_Ahmad2Profile_Ahmad2
Profile_Ahmad2
 
Progressive Web Apps - NPD Meet
Progressive Web Apps - NPD MeetProgressive Web Apps - NPD Meet
Progressive Web Apps - NPD Meet
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with Functions
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 

Dernier

Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 

Dernier (20)

Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 

Introducing Mobile Cross Promotion Framework

  • 1. Introducing Mobile Cross Promotion Framework Xin Hu, Di Huang, Dustin Shean, Sudeep Yegnashankaran, Zaheer Mohiuddin Recruiting Solutions
  • 2. Agenda § Objective § Problem Statement § Architecture - Before & After § Overview § Components § Demo § Onboarding Process § Q & A
  • 3. What is a cross promo and why do we need it?
  • 4. Objective § Critical part of LinkedIn’s multi-app mobile strategy § Promote healthy growth of the overall ecosystem § Provide a scalable framework to facilitate the initiative
  • 5. Use Case - connected cross promo
  • 6. Use Case - connected cross promo
  • 7. Cross Promo Request Handling Flow (Not using the cross promo framework)
  • 9. Problem Statement § Multiple integration points on both clients and server § Promo assets management logic duplicated across all front-end services § If we want to show cross promotions in N applications with M targeted screens from each application, the required effort is: above change * N * M Neither cost-effective nor scalable!
  • 11. Cross Promo Framework Overview § Fully integrated with Lego framework to server promo to the right users at the right context and right time § Provide persistent layer to host all promo related assets such as text, images and action payload § Handles uploading images to CDN and text translation to all standard languages supported by LinkedIn § Support A/B testing on asset variation as well as view templates variation
  • 13. Demo of Flagship (iOS/Android) Apps Running Cross Promo
  • 14. Lego Decides which widget or flow of widgets to show in slot for a given user. § Code-less Configuration § Impression & click events built in § Lix Integration
  • 15. Lego is not... ...Cross Promo Framework is § UI Renderer § Client Libs § Data Provider § Images § Text § Action Payload § Data Blender § A/B Testing
  • 16. Cross Promo Framework Component Front End APIs:
  • 18. Cross Promo Framework Component onboardingLauncherPromo (Widget Id) Promo4 Promo6 Different Templates lix controlled
  • 19. Cross Promo Framework Component connectedPromo (Widget Id) server controlled Promo2 Promo2 Same Template, Different Assets
  • 20. Cross Promo Framework Component Request handling sequence
  • 21. Cross Promo Framework Component Cross promo client side library - overview § Hosting app can query the framework for an available promo via the library § App must provide a page key and member id § A self contained view that can § Render the promotion UI (small icon, background image, promotion text, detail text) § Execute the promotion flow (open app store download link, or open the app via deep linking if it is installed on device) § Initiate Lego impression event when view is displayed § Initiate Lego action event when view is clicked
  • 22. Cross Promo Framework Component Cross promo client side library - detail § Caching Mechanics § Fetches promo asynchronously, and caches. § Displays cached promos to avoid async rendering. § Supports Sync Rendering (server flag) § Rich text support for colors and fonts § Provides hook for app custom metric firing § Generated Models with Pegasus (true JSON) § Sample Apps § Wake cool-off script § Unit Tests
  • 23. iOS Cross Promotion Library Integration § Installation: ‘pod install ios-crosspromo’ § App provides a page key, a networking layer, and an async image renderer § App is given a generic UIView object, which it can display in whatever way it wants § The primary API: § [[LICrossPromo sharedManager] viewForPageKey:withDelegate] § [[LICrossPromo sharedManager] userDidSeePromo:] § Library provides callbacks for § Handling fetch failures § Firing additional action metrics
  • 24.
  • 25. iOS Cross Promotion Library Deep Dive § Implements most of the behavior with static/class methods to minimize side effects § Library plugs into existing apps by leveraging protocols § Uses NSCache for all caching § Uses Xibs for easy onboarding, modifications, and enhancement
  • 26. Android Cross Promotion Library Integration § App provides a unique pageKey, reference to view container, and reference to CookieStore. § App initialize a CrossPromoManager. § App calls CrossPromoManager’s API: § addPromo() § clearPromoView() § Optional: Add metric listener to fire app specific metrics.
  • 27.
  • 28. Android Cross Promotion Library Deep Dive § Great Documentation (Javadocs, ReadMe, @Nullable Annotation) § Out of the box NetworkClient (optional swap in NetworkClient) § Supports 3 formats: § Return a crosspromo view § Manage a crosspromo view in a viewgroup § Manage a crosspromo view in a listview
  • 29. How to Create a New Promo Demo
  • 30. How to Create a New Promo § Configure Lego Widget § Create Lego Widget § Set Widget Lix § Add Promo Asset (use scripts provided by framework) § Upload Images to CDN § Create Your text Copy § Upload Asset JSON to Espresso Store
  • 31. Q & A Full documentation can be found at: go/mxpromo