21 app packaging, monetization and publication
-
Upload
windowsphonerocks -
Category
Technology
-
view
181 -
download
0
description
Transcript of 21 app packaging, monetization and publication
Andy Wigley | Technical EvangelistMatthias Shapiro | Program Manager / Technical Evangelist
Building Apps for Windows Phone 8.1Jump Start
Meet Andy Wigley | @andy_wigley • Technical Evangelist in Microsoft Developer
Experience and Evangelism (DX)• Mobile developer for over a decade, worked with WAP, ASP.NET Mobile
Controls, Windows Mobile and Windows Phone• Co-presenter of Windows Phone Jump Start for versions 7.0, 7.1, 8 and now 8.1
• Writer, Teacher and Presenter • Blog at http://andywigley.com • Written a number of books for Microsoft Press, including Mobile Development
Handbook (don’t buy, unless you’re working with .NET Compact Framework on Windows Mobile/CE!)
• Frequent speaker at industry conferences on all topics mobile• Rock-star (well, I play in a small – but popular – band )
Meet Matthias Shapiro | @matthiasshap
• Program Manager, Microsoft• Windows Phone Developer and Evangelist• Long-time XAML developer, from WPF to Silverlight to Windows Phone
• Windows Phone Demo-Writer and Noise-Maker (blog, Twitter)• Bigger bloggy things - http://blogs.msdn.com/b/matthiasshapiro/ • Code snippets – http://codeiuse.tumblr.com
Course Topics
Building Apps for Windows Phone 8.101 | Introducing the Windows Phone 8.1 App Development Platform
06 | Adapting UI for Different Screens and Orientations
02 | Getting Started Building Windows Runtime Apps
07 | Windows Runtime App Lifecycle
03 | Page Navigation and Data Binding in Windows Runtime Apps
08 | Localization and Globalization in
Windows Runtime Apps
04 | Lists and List Items in Windows Runtime Apps
09 | Data Storage, Backup and Roaming
05 | Programming Page Controls and Page Transition Animations
10 | Sharing Files and Data in Windows Phone 8.1
Course Topics
Building Apps for Windows Phone 8.1
11 | Background Tasks and Multitasking
16 | Interacting with User Data: Contacts and Appointments
12 | Maps, Geolocation and Geofencing
17 | Camera, Media and Audio in Windows Phone 8.1
13 | Networking, Mobile Services and
Authentication
18 | Enterprise in Windows Phone 8.1
14 | Tiles, Notifications and Action Center
19 | Programming SQLite on Windows Phone 8.1
15 | Sensors and Proximity: NFC and Bluetooth
20 | Tooling and Diagnostics
Course Topics
Building Apps for Windows Phone 8.121 | App packaging, monetization and publication
22 | Best practices: Building Universal Apps for Windows and Windows Phone
23 | Silverlight apps on Windows Phone 8.1
App packaging, monetization and publication
Click to place personal photo
Windows Phone Store
8
Introduction to Windows Phone Store, the app packaging models, monetization and publication options
The Windows Phone StoreApp packaging modelsWindows Store testingMonetization optionsDeveloper portal and app submission
This module…
9
The Windows Phone Store
Windows Phone Store Rules
The Windows Phone Store is the only way you can get executable content onto a “public” phoneEnterprises can register with Microsoft to allow them to distribute applications to devices that have been enrolled into their Enterprise
Users can buy applications and deploy them onto their devicesDevelopers can unlock their own devices for testingRegistered developers can unlock up to 3 devices (companies can request unlock count increase)Student and App Studio* developers can unlock one device
* http://go.microsoft.com/fwlink/p/?LinkId=324360
11
Joining the Store
Register to be a publisher$19/yr for individual registrations, $99/yr for companiesCompany accounts undergo additional verification processDeveloper registration allows publishing to both Windows Phone and Windows
Students can register for free via DreamSparkMSDN Benefits may supply a registration token
Join at http://dev.windowsphone.com or http://dev.windows.com
04/09/2023 12
8.1: a more developer-friendly experienceEasier app creation and
submission Faster certification Improved monetization
One code to develop and maintain to extend reach across Stores
New unique names required helps users differentiate apps
Apps available in both Stores identified for users, informs of shared entitlement across devices
Optimized Dev Center Registration, credit card not required for validation and PayPal is now available
Aligned policies and develop agreement for Windows and Windows Phone Stores
Faster, smarter certification: Apps and updates published 2x faster, some within 1 hour
More detailed and more timely reporting
Improved Ad SDKs increases fill rates and eCPM, enables purchasing ads to promote your apps (US only)
Reply to user reviews, inform of forthcoming updates or provide “how to” guidance
Auto Update helps users have the latest version of your app
Same app pricing tiers provides new pricing options
New Windows Phone Store experience
Overview ReviewsName, Tile Image, Publisher, Price, Rating, Screen Shots, Description, and “buy” button all viewable in a single screen
See how others like the app. Vote on whether or not Star Ratings, and User Reviews are Helpful. Sort by helpfulness, freshness, highest or lowest star rating
App Details: designed for quick scanning, to ease
the purchase decision. More details are a pivot
away…
Store Pano: users now see apps first with the new content-centric
layout. Product density is increased. Quick Links and For You are
brought forward and highly visible. Pano templates will vary based on
market performance.
04/09/2023 13
14
App packaging models
15
Windows Phone Store apps and Silverlight 8.1Windows Phone Store app
Windows Phone Silverlight 8.1 app
AppX packages XAP packages
Shared model with Windows Same format as Windows Phone 8
AppXManifest describing the app, requirements, capabilities and contracts
Both WMAppManifest and AppXManifest describing the app, requirements, capabilities and contracts
Formal versioning scheme Versioning not enforced
Has access to Windows Phone 8.1 features Has access to Windows Phone 8.1 features*
Incremental updates Full package updates
Upgrade possible from XAP to AppX Upgrade from AppX to XAP not possible
Bundling possible to optimize download and install size
Single “fatpack” package for entire app
Not encrypted, use obfuscation Encrypted
Installation to SD card possible, with permission of app developer (opt-out)*Some restrictions apply
16
App manifest
17
App manifest
Describes your appDisplay nameEntry point/Navigation pageApp icon/tile images and logosCapabilitiesRequirements
AppXManifest specificBadge logoSplash ScreenSD card installationSupported rotationsDefault languageContracts
Silverlight
WP Store
18
App information
Display nameWill be displayed in the app list
Navigation Page/Entry pointFor Store apps this points to a class (default: App) and for Silverlight apps this points to a page (default: MainPage.xaml)
Default languageFor Store apps this is set on the Application tab of the AppXManifest and for Silverlight apps this is set on the Packaging tab of the WMAppManifest
Silverlight
WP Store
Visual assets
App Icon/TileFor Silverlight apps you can define the app icon, tile template and tile images on the Application UI tabOnly for your app package, not extracted during Store submission
Visual AssetsFor Windows Phone Store apps these assets are moved to the Visual Assets tabExtracted during Store submission
Splash ScreenFor Store apps the Splash Screen is defined in the AppXManifest and for Silverlight apps you can include a SplashScreen.jpg file in the root of your project
Silverlight
WP Store
20
Visual assets Windows Phone Store apps
AssetManifest
name
100% dimensio
ns
140% dimensio
ns
240% dimensions
App list icon Square 44x44 44x44 px 62x62 px 106x106 px
Small tile Logo 150x150 150x150 px 210x210 px 360x360 px
Medium tile Logo 150x150 150x150 px 210x210 px 360x360 px
Wide tile Wide 310x150 310x150 px 434x210 px 744x360 px
Badge Badge 24x24 px 33x33 px 58x58 px
Splash Screen Splash screen 480x800 px 672x1120 px 1152x1920 px
Store Logo Store 50x50 px 70x70 px 120x120 px
Supply at least these images
21
Visual assets Windows Phone Silverlight apps
AssetManifest
nameFlip/cycle
sizeIconicsize
Size
App list icon App Icon - - 100x100 px
Small tile Small 159x159 px 110x110 px 360x360 px
Medium tile Medium 336x336 px 202x202 px 360x360 px
Wide tile Large 691x336 px - 744x360 px
Splash Screen* - - - 480x800 px
*Splash screen can be scaled to support multi-resolutions, for more info go to http://msdn.microsoft.com/en-US/library/windowsphone/develop/jj206974(v=vs.105).
aspx
22
App Capabilities
Controls app accessCapabilities define what your app can accessFailure to declare a capability will throw an Exception when trying to use that resourceCapabilities in AppXManifest have legible names
Silverlight
WP Store
23
Hardware Requirements
Controls app restrictionsRequirements define which hardware devices need to be able to download your appRequirements in AppXManifest have legible names
Silverlight
WP Store
24
Packaging information
Package informationUsed as a reference to the developerProduct ID can be used to test In App PurchaseVersion information enforced for Store apps
Default/supported languagesSimilar to Application tab for Windows Runtime appsSupported Languages required to support localization
App bundlingSpecific for Windows Runtime appsContains multiple packages specific to language or deviceUsers only download and deploy applicable portions
Silverlight
WP Store
25
Modern Resource Technology
Installs and loads targeted app resources/assetsMRT determines correct language resources and image assets for platform and device settings App resources are compiled in a Package Resource Index (PRI) file using a common file naming structure, with identifying qualifiers that align resources to device specific requirements
Canonicalization of resources Resources/
Strings/en-us/resources.reswfr-fr/resources.reswde-de/resources.resw
Resources/Images/
scale-100/logo.pngscale-140/logo.pngscale-240/logo.png
26
App manifest
Demo
27
Other features
28
Single instance store
Single instancing of filesAvailable only for Windows Runtime XAML appsRedundant files are stored only once on device
E.g. One copy of a game framework version is stored and available across all dependent gamesManaged at package acquisition layerVersioning aware and automatic
BenefitsReduces storage consumed for installed packagesReduces data network consumption by acquiring only the files not currently in single instance storeOpaque to developer and end user
e.g.
29
Application storage on SD
Application packages on SDAvailable to both Silverlight (XAP) and Windows Phone Store (AppX)User can install and move applications to SD expansionSD file system will remain FAT/exFATApplication file contents and app data on SD are encryptedOpt-out possible through AppXManifest
BenefitsUser can expand application storage of deviceAvailable to all devices running Windows Phone ‘Blue’ with SD expansion slotDevelopers have improved reach in low-cost device markets
30
Summary: Feature comparison
FeatureXAP
(Phone)XAP 8.1(Phone)
AppX (Phone)
AppX (Windows)
Platform Targeting 7.x and later 8.1 and later 8.1 and later 8.0 and later
Package Encryption Yes Yes No No
Package Bundling No No Yes Yes, 8.1
Debug Package Signing No No No Yes
Differential Download/Update No No Yes Yes, 8.1
Single Instancing No No Yes Yes
Versioning Requirements No Yes Yes Yes
External Volume (SD) Installation
Yes, 8.1 Yes Yes No
31
Windows Phone app packaging
32
Windows Phone Store apps
Created through Visual Studio IDERight-click the project and select Store Create App Packages…
Build package to uploadUsed for automatic app association (more later)
App bundle creationBuild as Neutral, x86 or ARMUseful for native dependencies and requirement to test on emulator and on devices
Symbol file creationCan be used in combination with crash dumps to analyze app crashes
33
Windows Phone Silverlight apps
Package is created automatically during buildResults in XAP fileCan be seen as structured ZIP
34
Windows Phone Store testing
35
The Store Test Kit
Specific to Silverlight apps (XAP)Windows Phone apps are tested during certificationStore Test Kit lets you perform the same tests on your application before you submit itChecks many aspects of the submission, including the required assetsAlso itemizes the manual tests Tests are automatically updated to reflect changes in the tests performed in the Store
36
Store Test Interface
How it worksStore Test Kit is located on the Project menu for the solution Store Test interface is where you can perform the automated tests and work through the manual onesYou can also use this to add application screenshots
37
Windows App Certification Kit (WACK)
Specific to Store apps (AppX)Create app package via Visual StudioRun WACK and select the created AppXSelect tests to be runOutput is an XML file that can be opened in a browser to analyze results
Example for app that did not change default splash screen image:
38
Windows Phone Store testing
Demo
39
Monetization options
Monetization options
Paid appApps that must be purchased to download and install
Paid app with free trialUsing Trial API, you decide on functionality
Paid/free app with in-app purchaseUsers unlock functionality or buy in-app items
Free app with adsAd-supported app
Free appCompletely free to use without restrictions, no ads
40
Pricing tiers from $0.99 to >$500.00
70% revenue for developer
41
Trial API
Time-limited trialFeature-limited trial
Use CurrentApp[Simulator].LicenseInformation to implement custom trial logic, along with IsActive, IsTrial and ExpirationDate properties
42
In-app purchase
DurablesFeatures that can be unlocked in your app permanently
ConsumablesAnything that can be used in the app and re-filled by another purchase (coins, gold, credits, etc.)
Bring your own payment providerNo revenue share with Microsoft if you implement your own payment provider
Use the ProductLicenses dictionary in the LicenseInformation to check access to in-app purchase products
43
Adding in-app purchase products
Getting StartedOn the lifecycle page for an app, click “Products” and then “Add in-app product” to begin the in-app product submission process
Upon completion, in-app products will go through validation
44
Adding in-app purchase products
SubmissionThe “add in-app product” page is similar in style and process to the app submission page.
45
Adding in-app products
Consumable: A product with a finite lifetime (i.e. Gold coins)Durable: A product that persists (i.e. a level or character)
Same options as those available during app submission.
A unique identifier that correlates with the in-app product contained in the XAP or APPX file.
Enter a name for your in-app product. This name is not show to users.
New: Limit time durable is usable (8.1 only)New: Select in-app product content type
46
Adding in-app products
Helps developers query for products by keyword
Can be used to adjust the value of in-app products without going through certification
“More options” now expanded
47
Adding in-app products
Description
Language details needs to be completed for each language
48
Implementing in-app purchase products
Demo
Universal apps for WindowsShare App & IAP entitlements across Windows & PhoneRoam your data across Windows & Phone Single notification channelYou are still allowed to publish separate apps or IAPs
Not the same thing as universal project in Visual Studio
Quiz Bowl Quiz BowlThe next generation quiz game - compete real time with players worldwide.
Free
Free
50
Validating receipts
Verify a user has purchased an app or in-app purchase productFor example to verify a purchase to unlock content on a second device
Use CurrentApp.RequestProductPurchaseAsync / RequestAppPurchaseAsync or CurrentApp.GetAppReceiptAsync
51
Validating receipts (cont.)
Verify the signature againsthttps://go.microsoft.com/fwlink/p/?linkid=246509&cid=<CertificateId>
where <CertificateId> is the CertificateId of the receipt.
52
Ad supported apps
Microsoft Ad SDK through http://pubcenter.microsoft.com Very easy to incorporateVarious ad sizes to choose fromAudience targeting managed through pubCenter portal
Use third party Ad SDKs or Ad RotatorsTest
WP App 1
WP App 1
W8 App 1
WP App 2
W8 App 2
WP App 5
WP App 4
W8 App 3
WP App 3
WP App 6
App 1 App 2 App 3App 4
53
Developer portal and app submission
54
App info
55
App name reservation in Dev CenterIn either Windows Dev Center or Windows Phone Dev CenterChoose a name you reserved in the other StorePFN created can be used to share entitlements
You’ll receive an error message if you selectan unavailable name
If your name is available, you have the option to associate your Windows Phone app with a Windows app
56
App name reservation in Visual Studio
Associate App with the Store…Reserve app name or select existing appPackaging metadata automatically filledManual process for Windows Phone Silverlight 8.1 apps!** http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn655122(v=vs.105).aspx
57
Pricing
Free or paidPricing tiers from $0.99 to <$500.00Offer trial downloads
58
Market distribution
Market availabilityStricter content policies for ChinaGame rating certificates
59
Other options
Distribution channelsPublic, Hidden or BetaClosed beta distribution to up to 10,000 people for testingBeta apps can’t be moved to Public Store
PublishAutomatically after certification or manually
Push notification certificate (MPNS only)Game rating certificates
60
Upload and describe packages
61
Adding and updating your packages
Upload multiple packages for each supported OS versionPackage will become visible to users with the specific OS version it’s targetingVersion number for higher OS versions need to be higher as well
e.g. Windows Phone 7: 1.0.0.0, Windows Phone 8: 1.0.0.1, Windows Phone 8.1: 1.0.0.2
62
Store listing info – language specific
DescriptionUpdate descriptionKeywords
Images300x300 pixels logoPromotional images
1000x800 pixels background image358x358 pixels square icon358x173 pixels wide icon
Screenshots
63
Other options
Copyright and contact optionsLegal URL with app’s license termsPrivacy URL to your app’s privacy statementSupport email address
Technical exceptionsIf your app requires specific hardware, you can request a Technical Exception certificate
Certification notesSpecific notes on how the app should be testedIncludes login information, specific usage, etc.
64
Optional submission choices
65
In-app advertising
Integration with pubCenterAd units submitted in Dev Center can be deleted from pubCenter
66
Market selection and custom pricing
Independently select price tiers across regionsDefault distribution excludes regions with additional requirementsDenoted by green emblems
67
Map services
Get required token to use map services in app
68
Submitting an app
Demo
©2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.