Download - 21 app packaging, monetization and publication

Transcript
Page 1: 21   app packaging, monetization and publication

Andy Wigley | Technical EvangelistMatthias Shapiro | Program Manager / Technical Evangelist

Building Apps for Windows Phone 8.1Jump Start

Page 2: 21   app packaging, monetization and publication

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 )

Page 3: 21   app packaging, monetization and publication

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

Page 4: 21   app packaging, monetization and publication

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

Page 5: 21   app packaging, monetization and publication

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

Page 6: 21   app packaging, monetization and publication

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

Page 7: 21   app packaging, monetization and publication

App packaging, monetization and publication

Click to place personal photo

Windows Phone Store

Page 8: 21   app packaging, monetization and publication

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…

Page 9: 21   app packaging, monetization and publication

9

The Windows Phone Store

Page 10: 21   app packaging, monetization and publication

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

Page 11: 21   app packaging, monetization and publication

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

Page 12: 21   app packaging, monetization and publication

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

Page 13: 21   app packaging, monetization and publication

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

Page 14: 21   app packaging, monetization and publication

14

App packaging models

Page 15: 21   app packaging, monetization and publication

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

Page 16: 21   app packaging, monetization and publication

16

App manifest

Page 17: 21   app packaging, monetization and publication

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

Page 18: 21   app packaging, monetization and publication

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

Page 19: 21   app packaging, monetization and publication

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

Page 20: 21   app packaging, monetization and publication

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

Page 21: 21   app packaging, monetization and publication

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

Page 22: 21   app packaging, monetization and publication

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

Page 23: 21   app packaging, monetization and publication

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

Page 24: 21   app packaging, monetization and publication

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

Page 25: 21   app packaging, monetization and publication

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

Page 26: 21   app packaging, monetization and publication

26

App manifest

Demo

Page 27: 21   app packaging, monetization and publication

27

Other features

Page 28: 21   app packaging, monetization and publication

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.

Page 29: 21   app packaging, monetization and publication

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

Page 30: 21   app packaging, monetization and publication

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

Page 31: 21   app packaging, monetization and publication

31

Windows Phone app packaging

Page 32: 21   app packaging, monetization and publication

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

Page 33: 21   app packaging, monetization and publication

33

Windows Phone Silverlight apps

Package is created automatically during buildResults in XAP fileCan be seen as structured ZIP

Page 34: 21   app packaging, monetization and publication

34

Windows Phone Store testing

Page 35: 21   app packaging, monetization and publication

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

Page 36: 21   app packaging, monetization and publication

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

Page 37: 21   app packaging, monetization and publication

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:

Page 38: 21   app packaging, monetization and publication

38

Windows Phone Store testing

Demo

Page 39: 21   app packaging, monetization and publication

39

Monetization options

Page 40: 21   app packaging, monetization and publication

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

Page 41: 21   app packaging, monetization and publication

41

Trial API

Time-limited trialFeature-limited trial

Use CurrentApp[Simulator].LicenseInformation to implement custom trial logic, along with IsActive, IsTrial and ExpirationDate properties

Page 42: 21   app packaging, monetization and publication

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

Page 43: 21   app packaging, monetization and publication

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

Page 44: 21   app packaging, monetization and publication

44

Adding in-app purchase products

SubmissionThe “add in-app product” page is similar in style and process to the app submission page.

Page 45: 21   app packaging, monetization and publication

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

Page 46: 21   app packaging, monetization and publication

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

Page 47: 21   app packaging, monetization and publication

47

Adding in-app products

Description

Language details needs to be completed for each language

Page 48: 21   app packaging, monetization and publication

48

Implementing in-app purchase products

Demo

Page 49: 21   app packaging, monetization and publication

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

Page 50: 21   app packaging, monetization and publication

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

Page 51: 21   app packaging, monetization and publication

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.

Page 52: 21   app packaging, monetization and publication

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

Page 53: 21   app packaging, monetization and publication

53

Developer portal and app submission

Page 54: 21   app packaging, monetization and publication

54

App info

Page 55: 21   app packaging, monetization and publication

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

Page 56: 21   app packaging, monetization and publication

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

Page 57: 21   app packaging, monetization and publication

57

Pricing

Free or paidPricing tiers from $0.99 to <$500.00Offer trial downloads

Page 58: 21   app packaging, monetization and publication

58

Market distribution

Market availabilityStricter content policies for ChinaGame rating certificates

Page 59: 21   app packaging, monetization and publication

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

Page 60: 21   app packaging, monetization and publication

60

Upload and describe packages

Page 61: 21   app packaging, monetization and publication

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

Page 62: 21   app packaging, monetization and publication

62

Store listing info – language specific

DescriptionUpdate descriptionKeywords

Images300x300 pixels logoPromotional images

1000x800 pixels background image358x358 pixels square icon358x173 pixels wide icon

Screenshots

Page 63: 21   app packaging, monetization and publication

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.

Page 64: 21   app packaging, monetization and publication

64

Optional submission choices

Page 65: 21   app packaging, monetization and publication

65

In-app advertising

Integration with pubCenterAd units submitted in Dev Center can be deleted from pubCenter

Page 66: 21   app packaging, monetization and publication

66

Market selection and custom pricing

Independently select price tiers across regionsDefault distribution excludes regions with additional requirementsDenoted by green emblems

Page 67: 21   app packaging, monetization and publication

67

Map services

Get required token to use map services in app

Page 68: 21   app packaging, monetization and publication

68

Submitting an app

Demo

Page 69: 21   app packaging, monetization and publication

©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.