31
Preparing Your Apps For iOS 9 Presented by: Anant Jain - Product Manager Abhishek Khurana - Product Marketing Manager

Preparing Your Apps For iOS9

  • Upload
    inmobi

  • View
    879

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Preparing Your Apps For iOS9

Preparing Your Apps For iOS 9Presented by:

Anant Jain - Product ManagerAbhishek Khurana - Product Marketing Manager

Page 2: Preparing Your Apps For iOS9

AgendaApp Transport Security

App Thinning Explained

IPv6 Changes: How to prepare for the future?

Content Blocking

Impact on Monetization

Q&A

Page 3: Preparing Your Apps For iOS9

#1 App Transport Security

Page 4: Preparing Your Apps For iOS9

App Transport Security (ATS): 1-O-1ATS impacts all network connections using the NSURLConnection, CFURL, or NSURLSession APIsATS requirements:•The Server must support at least Transport Layer Security (TLS) 1.2•The supported connection ciphers must provide perfect forward secrecy•Certificates must be signed with SHA256 or better with at least 2048 bits for RSA or 256 bits for Elliptic Curve keys.Unless exceptions are added, all insecure connections will be terminated

Page 5: Preparing Your Apps For iOS9

App Transport Security: What it means for you?

All assets (static and dynamic) must be served over SSL - even from 3rd party servers

The Server environment requirements has it’s own costs - Performance and bandwidth

Support for some of the required ciphers are not widespread - Ensure your server supports the ciphers required by ATS

Test and optimize extensively to reduce latencies and delays in connection set up

Page 6: Preparing Your Apps For iOS9

#2 App Thinning Explained

Page 7: Preparing Your Apps For iOS9

What is App Thinning? App Thinning is a feature introduced in iOS 9 that allow App Store and OS

to optimize the installation of iOS and watchOS apps by customizing the app for the capabilities of the specific device, with minimal footprint

Three Components of App Thinning: App Slicing, Bitcoding, On-demand Resources

Essentially, Apps are optimized based on device variant for• Better Performance• Smaller app install size on device• Freeing up space by purging unused resources

Available from iOS 9.0.2 onwards

Page 8: Preparing Your Apps For iOS9

App Slicing

Slicing is the process of creating and delivering variants of the app bundle for different target devices

Page 9: Preparing Your Apps For iOS9

App Slicing

Without app slicing, apps on a user’s device contain universal resources thereby making the app heavier than it should be

Page 10: Preparing Your Apps For iOS9

App Slicing

Slicing will only download the variant of the app bundle that is used by the User’s device resulting in 20-40% size reduction!

Page 11: Preparing Your Apps For iOS9

App Slicing - Requirements To enable app slicing, you must use asset catalogs. Asset

catalogs are the default in most apps at this point. If you are not already using Asset Catalogs, it is simple to enable - click on the “Use Asset Catalog” button under Xcode’s project settings as seen below.

Page 12: Preparing Your Apps For iOS9

On-demand Resources On-demand resources are app contents that are hosted on

the App Store and are separate from the related app bundle that you download. They enable:

Smaller app sizeLazy loading of app resourcesRemote storage of rarely used resourcesRemote storage of in-app purchase resourceFreeing up device storage by purging unused resources

Page 13: Preparing Your Apps For iOS9

On-demand Resources - Lifecycle

Page 14: Preparing Your Apps For iOS9

Bitcoding Bitcode is an intermediate representation of a compiled

program which can provide performance improvements for your app

Apple optimizes and re-optimize an app binary for the specific device architecture without an app update

Customers get the benefits of the latest architectures, instructions, and optimizations as soon as they're available

All 3rd party libraries/frameworks must be built with bitcode

Page 15: Preparing Your Apps For iOS9

Enabling Bitcoding

Page 16: Preparing Your Apps For iOS9

#3 Getting Ready for IPv6

Page 17: Preparing Your Apps For iOS9

IPv6

●IPv6 is the most recent Internet Protocol (IP) version replacing IPv4●Global adoption has been slow but is picking up●Several mobile carriers are deploying IPv6-only networks●IPv4 address space completely exhausted●IPv6 has several performance benefits over IPv4 ○Avoids the need for network address translation (NAT)○Avoids broadcasting for neighbor address resolution

Page 18: Preparing Your Apps For iOS9

Apple and IPv6

●iOS 9 (and OS X) fully supports IPv6-only networks●IPv6 support - A mandatory requirement for AppStore submissions for iOS 9

●Support for IPv4 only APIs deprecated with iOS 9●OS X - El Capitan provides tools to test apps with IPv6

Page 19: Preparing Your Apps For iOS9

Supporting IPv6

●Don’t use or hardcode IP based URLs - Instead, use DNS●Don’t use IPv4 specific APIs (already deprecated in iOS 9). Instead use high level networking APIs such as NSUrlSession and the CFNetwork frameworks

●Test your apps on IPv4 only, IPv6 only and hybrid networks/server endpoints

●Test for full IPv6 compatibility with each app update

Page 20: Preparing Your Apps For iOS9

#4 Content Blocking

Page 21: Preparing Your Apps For iOS9

What is Content Blocking?In iOS 9, Apple has introduced a new feature in Safari (And SafariViewController) that allow easy and superior mechanisms to block content - either en-masse or selectively. ●Aims to address one or more user needs:

○Performance○Security○Privacy

●Safari extensions can block content selectively●This feature can be used to block cookies, images, resources, pop-ups and other content including entire websites

Page 22: Preparing Your Apps For iOS9

Content Blocking ≠ Ad Blocking●Tempting to equate content blocking to ad blocking●Ad blocking is an obvious application of content blocking●But, content blocking can have privacy or performance or data saving improvement applications as well

●Improved user Privacy by blocking behavioral trackers and data collectors

●Performance improvements by blocking battery or data hogging content resulting in ○Decreased page load times○Increased battery life○Reduced data consumption

Page 23: Preparing Your Apps For iOS9

Blocking Ads through Content Blocking

●With the release of iOS 9, several new “Ad-Blocking” apps have been introduced

●The content blocking mechanism allows easy blocking of Ads●These apps only impact Safari and SafariViewController●In-App ads are not impacted●Can result in significant improvements to page load times and reduce data usage, especially when videos (Autoplay or otherwise) are blocked

Page 24: Preparing Your Apps For iOS9

#5 Impact on Monetization

Page 25: Preparing Your Apps For iOS9

Features impacting monetization

Some features in iOS 9 can impact the monetization of your properties, both in-app and mobile web:●ATS can block connections to ad networks or DSPs which are non-compliant●Content Blocking can be used to block ads (all or selectively)

Page 26: Preparing Your Apps For iOS9

App Transport Security

Recommendation - When using multiple ad networks for monetization, turn off ATS for the time-being to prevent any loss of

monetization.

WHY?

Ad networks have several channels of getting demand from i.e. exchanges, DSPs, direct-deals, etc. Every player must support ATS to prevent unpredictable monetization behavior

Page 27: Preparing Your Apps For iOS9

Mitigating the impact of ATSEnable ATS only for your domains and domains which are known to comply with ATS requirements. For all other domains, turn off ATS

OR

Disable ATS entirely which will prevent iOS from forcing HTTPS connections for all URLs

Page 28: Preparing Your Apps For iOS9

Content blocking●Content blockers can only be created as a Safari extension●Consequently, they will be in use for content rendered in SafariViewController as well

●In-App ads are not impacted by Safari Content blockers●Impact mitigation -

○Shift to native ads, sponsored editorial content○Transition to apps from mobile web sites

Page 29: Preparing Your Apps For iOS9

Q&A

Page 30: Preparing Your Apps For iOS9

Photo Credits• Giphy (www.giphy.com)

• http://www.cityhyd.info/2012/06/06/ipv6-implementation-in-india-on-world-ipv6-day/

• www.fightgangstalking.com

• Apple - developer.apple.com

Page 31: Preparing Your Apps For iOS9

THANK YOU