Tumgik
aurelliocheek · 2 years
Text
Following Your Hunches in Performance Marketing
Lenette is a Senior User Acquisition Expert at Inkitt, a mobile application that publishes novels and books from indie authors. She loves exploring data and digging into the nuts & bolts of how UA works. She has worked across a wide range of markets, including entertainment & kids apps, casual, puzzle, mid-core and hardcore games. With nearly ten years of experience in marketing, Lenette helps Inkitt grow globally using cutting-edge techniques developed for a post IDFA world.
Learn more about Mobile Hero Lenette.
Marketing is not an exact science. Performance marketing has made vast swaths of new data available, but the best UA Managers still understand how to balance data analysis with their intuition. The uncertainties caused by IDFA deprecation, COVID-19, increased competition, and constantly changing ad network algorithms make this balance more important than ever. As marketers, we frequently have to find innovative ways to drive installs when the data we have is incomplete or poorly structured. In this article, I walk through a challenging scenario and explain how I balanced data and intuition to drive results.
Picture This Scenario
Managing an unorthodox Facebook campaign that held a lot of ad spend. There were hundreds of identical campaigns running in parallel, overlapping, and hand duplicated every day: 10x.. 20x.. 30x. Each campaign had a tiny budget and was stuck in the learning stage—never living long enough to become a sizable, stable campaign. Each campaign would be spun up with a dozen different creatives, but even the best ones would only get ten installs a day. We also had a messy attribution that made it unclear which campaign or creative drove which individual install.
Stuck in a Sticky Situation
Surprisingly, the campaign was working and hitting ROAS targets—at least initially. But the daily performance was volatile, and we were afraid of a “house of cards” situation. The snowballing duplications took up too much ad spend, but it was risky to restructure. You might incur an even greater impact on revenue since restructuring might take weeks to optimize properly.
We were anticipating a timebomb—so how do you defuse the situation? By diversifying into other networks. We had to reduce reliance on Facebook and acquire clean data from another network. By growing a leaner Facebook structure, you can gradually phase out any problematic ad spend duplicates.
Drawing Conclusions From Inconclusive Data
In this case, the best way to look at the data we had was to consolidate the data into coarse-graining buckets and analyze them as one big campaign with country/language drill-downs. When you do this, all post-install metrics will be off, so you have to take what you see with a grain of salt.
Despite our reservations, we could still reliably identify the top and worst 20% of performers. With enough basic information, we relied on first principles to form our hunches. To glean insights into creative performance, we simply applied our hunches to set up tests in other networks. I’ll go into details below.
What Are Your Guiding North Stars?
In cases where your data is a big ball of spaghetti, looking at one compounding metric will not be enough. You have to look at contextual metrics to get a clear picture.
Key Metrics: ROAS, CPI, IPM Contextual Metrics: CTR, CVR, eCPM, Payer Rates
Always understand what your metrics mean and how to adjust them. ROAS is a broad term with dozens of individual levers you can move to adjust it. Depending on your application, some levers may be easier than others to change:
ROAS = ARPU / CPI ARPU = ARPPU * Payer Rate CPI = eCPM * IPM
Different factors affect Payer Rate, including the type of users acquired. It might be worthwhile to pay a greater CPI to get users with a much higher Payer Rate.
Boosting ARPPU in some categories of games and applications is easier than others. Coordinating ad targeting, creatives, and new users bundles can have an outsized impact on ARPPU and thus ARPU and ROAS.
When eCPM is high, IPM needs to improve. For instance, top-performing creatives could see lower than usual IPM during Halloween, and spooky iterations of them could bag you higher IPM—offsetting the seasonal price increase.
When looking at data, take the time you need to dive into the details. Let the metrics tell the story when you need additional context to guide your hunches.
Results on One Network Apply to Another
To diversify, we went to another network with no campaign overlap in order to start a clean campaign structure there. If you’re starting anew, it’s important to understand what data is salvageable from the previous data set.
We could not use the heavily duplicated campaign data, but we could consolidate the duped campaigns from Facebook and treat them as one big campaign. Our goal was to find the top 10 creatives from Facebook for each segment. To do so, we sliced the aggregated data into smaller segments and interpreted it by language or country tiers.
In a new network, we structured similar segments and tested creatives to get benchmarks on key and contextual metrics. At this point, it was possible to use the clean results and compare them with the Facebook data. Here is where your intuition helps. I asked myself:
Are the winners more or less in line with what we see on Facebook? (In other words, how skeptical should we be about the Facebook data?)
What might account for varied performance across networks? (Different algorithms/ad formats/network traffic types are more/less efficient at finding payers. Payers may have slightly higher/lower ARPPU.)
Are there similar winners across networks? (If you see something working in multiple networks, trust your hunches. They’re probably replicable.)
Where can I experiment? (Experiment with everything the network has to offer. Use A/B tests wherever you can and reduce overlaps.)
Once we acquired good data from cleaner setups, we could bring it back to the Facebook account. This is a good general takeaway—kickstart a good structure elsewhere, and bring it back to fix a structure that’s harder to work with.
Creatives Are the Biggest Similarity Across Networks
Overall, here’s what I learned from applying my hunches. Generally speaking, your top creative performers are likely the top performers across all networks, but some adaptation might be necessary for niche ad formats. Experiment with creatives on a low-cost network or campaign and collect learnings that will translate to other premium networks. Creative makes or breaks most campaigns, so you can never optimize too much. Be sure to apply your learnings quickly, even if they’re inconclusive.
If a winning creative doesn’t perform immediately, consider adapting the creative for different ad formats. For example, Facebook App Installs ads vs. Taboola content marketing ads vs. Tiktok Ads. The ad experience is different, so you can’t blindly copy and paste. Imitate the feel and hook for the user.
How to Choose Alternative Networks for Creative Testing
Importantly, Facebook does not have to be the only network for creative testing. Top creatives should be pretty similar across different networks, and the learnings should be transferable. I decide if a network is worthwhile for creative testing in the following manner:
Use the top 10 creatives on Facebook to get started.
Look at how metrics for your best-performing creatives evolve over time. You’re looking for signs of stability. For example, Install Rate, Payer Rate, or IPM on the best creatives result in stable numbers and show consistent performance over a week or two. If your creatives are consistently performing, it’s likely a good candidate for creative testing.
Does the network have the ability to run A/B tests?
Grain of Salt
If your campaigns need too much intuition, the strategy is probably ineffective and broken. Intuition can go a long way, but it is more effective to build a campaign structure that can get you consistent insights without having to resort to hunches unnecessarily. Make your campaign structure clean, lean, and organized. Your results are only as good as your setup. Go back to the first principles when you get lost. Use them to form hypotheses, then test and iterate on the process/plan. Have hunches, test them, and keep iterating.
The post Following Your Hunches in Performance Marketing appeared first on Liftoff.
Following Your Hunches in Performance Marketing published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Making of Iron Harvest: Perfect Asymmetry in Level Design (Part 3/3)
How to create balanced Multiplayer Levels without mirroring everything.
Part 1 is here!
Part 2 is here!
What we learned As a Level Designer, it often feels like maps and levels absolutely have to be symmetrical in any kind of competitive multiplayer game. That’s the only way to make sure it is balanced after all, that’s why everyone is doing it, that’s why it is what we are used to see, especially in RTS games.
Unfortunately, this approach robs the maps of atmosphere, immersion, and ­narrative potential. This can often make them feel like kind of an afterthought as if this is simply as good as things can be.
The fact that it actually does not have to be this way feels obvious in hindsight, but still was a revelation when we realized how to do this. We were simply too accustomed to the status quo to question if and how this could be done differently. So, what should you do if you want to use this approach in your game?
The central area of the map “Industrial Area” is its biggest battlefield and as such ­extremely symmetric, especially in regards to cover.
Here are some of the most important lessons we learned during the development of Iron Harvest:
When creating a map, start with laying out only the elements needed for gameplay. These are the only ones that need to be more or less symmetrical. Everything else can be designed much more freely.
Don’t feel forced to do point-based symmetry. As long as your game allows it, simple line-based symmetry that mirrors over a central axis instead of around a central point, will do the job just fine and can often look less artificial as well.
Don’t force yourself to always use the same default camera perspective. Some of our maps are rotated at 45°, others aren’t rotated at all. This allows you to mirror over different axises and helps make different maps feel less similar.
Create several different versions of the same gameplay elements that all work the same. We had dozens of different cover elements, walls and buildings that all worked mostly the same, so we could mix and match them until two areas looked completely differently while still playing and behaving almost identically.
Be ready to embrace imperfection. We never envisioned Iron Harvest to be the next big eSports game with perfect balancing, so areas that weren’t perfect mirror matches of each other were acceptable.
Know your game: Iron Harvest is quite a bit slower and more tactics based than other big RTS games on the market, and being the faster player is not always an advantage, so having slight discrepancies in distances was ok.
Focus on the actually important areas. You can have more asymmetry in areas that are not that important from a gameplay standpoint. As long as the main Points of Interest are fair and balanced, the areas in-between can be a lot more varied and creative.
The areas connecting the central area of the map “Industrial Area” to its sides are mostly used for traversal and as such could look very different as long as the basic pathways were similar enough.
At the end of the day, we somehow ­managed to figure out how we could create reasonably well balanced multiplayer maps without the need to simply mirror everything all the time. This ��specific ­approach worked because it fit our game and its mechanics and systems very well, which is crucial if you want to replicate this! Know your game and how its ­systems will affect your multiplayer mode and maps and plan for that accordingly. And yes, in the long run this will be more exhausting than simply mirroring your maps, but if you put in that time and effort the results will absolutely be worth it.
Changing Battlefields One additional problem during the balancing of our maps turned out to be one of our key gameplay features: Destructibility. Billed as one of Iron Harvests Unique Selling Points, the ability to destroy large parts of the environment as well as most buildings and cover positions created yet another challenge for our Level Designers. A Player that had gained an advantage and was pressing their attack would likely destroy positions favourable to their enemy in the process. Even if repelled, they would have an additional advantage during their next offensive, on top of the one they already had, further shifting the balance in their favour. In the end, this issue was only partly solved by Level Design. We made sure to use indestructible cover elements in important positions to always ensure at least a minimum of defence, as well as indestructible decorative elements that would block movement and create chokepoints at regular intervals. This way we could ensure no player could simply waltz directly into their enemy’s base, while their enemy would be able to set up defensive measures in fitting locations. The other two parts of the solution came in the form of other mechanics: The ability to build fortifications and cover yourself, and the changing meta-game over the course of a match which would see less infantry units in general, and more mechs that could not take advantage of buildings or cover anyway.
Magnus Brauckhoff Game & Level Designer
Magnus wanted to learn how to create games from a young age. After finally finishing his Bachelor’s Degree in Game Design in 2017, he moved to Bremen and started working as a Level Designer on Iron Harvest at KING Art Games. Having released the first big game he was part of, he is already eager to see what comes next.
The post Making of Iron Harvest: Perfect Asymmetry in Level Design (Part 3/3) appeared first on Making Games.
Making of Iron Harvest: Perfect Asymmetry in Level Design (Part 3/3) published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
ATT advantages Apple’s ad network. Here’s how to fix that.
In April 2021, Apple introduced a privacy policy called App Tracking Transparency (ATT) that moderates a data collection and aggregation practice known as “tracking.” Under ATT, an app must receive explicit consent from a user before that app can collect the user’s unique device identifier, known on iOS devices as the IDFA. Prior to ATT, the IDFA was widely used by advertising platforms for ads personalization and targeting through a process that I detail in this article.
ATT’s impact on the mobile advertising ecosystem is consequential: both Facebook and Snap, in recent quarterly earnings reports, described the frictions caused by ATT as having meaningfully impaired their advertising businesses. Apple’s own ad network, Apple Search Ads (ASA), has experienced considerable growth since the introduction of ATT. Both Facebook and Snap cited deficiencies with SKAdNetwork, the advertising measurement framework that Apple has made available as a replacement for the IDFA, as contributing to ATT’s impairment of their advertising businesses.
In this article, I’ll make the case that ATT advantages Apple’s own ad network, and I’ll propose remedies that would bring the applicability of ATT to parity across Apple’s ad network and the broader advertising ecosystem. Note that Apple’s documentation for its ads platform and privacy controls is vague in places, and the logic it uses to power certain protocols is non-public. I attempt in this article to document all claims with authoritative resources, but in some cases that is not possible and I rely on direct experience and anecdotes.
SKAdNetwork
SKAdNetwork is an advertising measurement framework that Apple introduced in 2018: I opined on the impact that this solution might have on the mobile advertising landscape at the time in Will Apple redefine mobile advertising with SKAdNetwork?. SKAdNetwork was mostly irrelevant until WWDC 2020, when Apple unveiled its App Tracking Transparency (ATT) privacy policy.
SKAdNetwork allows advertising platforms to attribute app installs, along with a limited amount of in-app context, to the ad campaigns that generate them. The data payload, or postback, that SKAdNetwork delivers to ad platforms is indexed at the level of an ad campaign and not an individual user, essentially anonymizing the postback and preventing behavioral data from being aggregated into profiles. But the scope of the SKAdNetwork postback is limited through a number of design choices that render it insufficient as a measurement tool.
I have previously made the point that SKAdNetwork is inadequate as an advertising measurement solution: it lacks critical granularity, and its timer system is unnecessarily convoluted. In Dear Apple: These changes will improve SKAdNetwork for advertisers, I enumerated a number of changes that Apple could make to SKAdNetwork that would improve its usefullness as a measurement framework. But Apple has done very little to change SKAdNetwork since version 2 was introduced at WWDC 2020, the most of which being the addition of view-through install attribution and PCM attribution for app-to-web campaigns. Additionally, Apple introduced the ability for developers to receive SKAdNetwork postbacks directly in iOS 15, although this was not a change to SKAdNetwork, per se.
But despite these improvements — and they are improvements — SKAdNetwork remains a deficient measurement framework, to which both Snap and Facebook’s earnings attest. There are five primary problems with SKAdNetwork that render it insufficient for advertising measurement:
SKAdNetwork postbacks are deployed according to a convoluted and partially random timer logic that makes analyzing SKAdNetwork postback data on a daily basis — that is, attempting to compare daily ad spend against daily advertising results like installs and conversions — impossible. This type of daily cohort analysis is core to advertising measurement and it is not possible with SKAdNetwork postbacks. I describe the SKAdNetwork timer logic in this QuantMar thread, but in brief: it includes a random component that camouflages the date of an app install;
Apple limits the inclusion of certain data in SKAdNetwork postbacks according to a privacy threshold that the company does not make public and may actually change over time. The conversion data that is limited according to this threshold pertains to in-app actions that users take after installing an app — it is this data on which app advertisers and ad platforms alike rely for calculating campaign performance. Apple has revealed very little information about how its privacy threshold works outside of this documentation, although I discuss the topic in detail in this podcast episode;
Apple limits the number of campaign identifiers that can be utilized in advertising a specific app on a given network to 100. This limitation imposes significant restraints on testing, since each unique combination of targeting parameters requires its own campaign identifier;
Apple does not include a parameter in the SKAdNetwork postback to account for creative information, such as the specific ad that was clicked by a user to produce an install. This is critical detail that advertisers require in optimizing campaigns. Without creative context in attribution data, the advertiser can’t directly gauge the effectiveness of its ads;
The SKAdNetwork postback does not include a parameter to account for device country, and in an undocumented change, Apple began routing SKAdNetwork postbacks through a VPN system in iOS 14.6, meaning that postbacks cannot be geo-located. This prevents advertisers and ad platforms from understanding in which country an install is generated. This presents an acute opportunity for abuse and fraud by ad platforms, since geography is a critical campaign targeting parameter (an ad platform could claim to be targeting users in one geography and actually be targeting users in another).
These limitations are explicit design choices, and in some cases (specifically, lack of creative context), it’s difficult to understand how they contribute to strengthened user privacy.
Apple Search Ads
Recent reporting from the Financial Times argues that Apple’s own ad network, Apple Search Ads, or ASA, has captured a meaningful share of the market for app install advertising since ATT reached majority scale (there’s some nuance to why that wasn’t immediately after the launch of iOS 14.5 in April, which I explain here). The Financial Times estimates that Apple’s 2022 fiscal year revenue from ASA might reach $5BN, and an Evercore ISI analyst estimates that ASA might reach $20BN in revenue by 2025. Both of these estimates presuppose roughly $2BN in ASA revenue for 2021.
This is stunning growth in percentage terms, although as has been argued, relative to the size of the mobile advertising market as well as Apple’s overall revenue, even $20BN is somewhat immaterial. But the quality of the revenue matters: ASA is a high-margin business that contributes to Apple’s Services segment, so the growth from ASA is potentially more strategically valuable than if it were delivered through some other initiative.
What’s jarring about the divergent outcomes for ASA and other ad platforms as a result of ATT is that Apple’s own ad network is not subjected to the limitations of ATT, and it isn’t forced to use SKAdNetwork for ad attribution.
Apple justifies this disparity through its definition of “tracking,” which it spells out here:
“Tracking” refers to linking data collected from your app about a particular end-user or device, such as a user ID, device ID, or profile, with Third-Party Data for targeted advertising or advertising measurement purposes, or sharing data collected from your app about a particular end-user or device with a data broker.
On its Advertising Privacy & Policy documentation, Apple states authoritatively that its own ad network does not track users, using its own definition of that term:
Apple’s advertising platform does not track you, meaning that it does not link user or device data collected from our apps with user or device data collected from third parties for targeted advertising or advertising measurement purposes, and does not share user or device data with data brokers.
Apple does use behavioral data to target ads with its ads platform, but it does so in a way that doesn’t confront its definition of tracking. From the same documentation:
Apple uses the behavioral data gleaned from users within apps published to the App Store to target the ads served by its ad platform. The vast majority of the apps published to the App Store are not developed by Apple. But the in-app purchase and subscription events that are emitted from those apps are considered first-party to Apple, ostensibly, because Apple operates iTunes, which processes payments for apps (a user makes a purchase in an app but must finalize the purchase using iTunes). Apple is able to exempt itself from ATT because Apple controls the payments processor that emits the data used to target its ads, and therefore none of that data is considered third-party to Apple.
It is presumably for this reason that Apple’s ad network is not forced to use SKAdNetwork for attribution, but rather it can utilize Apple’s Ads Attribution API, which exists within Apple’s AdServices program. Attribution through the Apple Ads Attribution API is wholly separate and distinct from SKAdNetwork. In this attribution scheme, the AdServices framework places a token on the user’s device after an install, and that token is passed to the Apple Ads Attribution API for attribution, with a postback being returned from the API that provides context around the install. Because this token is placed on the device, it can be tied to a specific user identifier in the app, meaning that users can theoretically be attributed to specific ASA campaigns in a way that isn’t possible using SKAdNetwork.
The Apple Ads Attribution API payload contains different data than does the SKAdNetwork postback (see below for a comparison). Critically, the Apple Ads Attribution API payload includes context around the ad creative that delivered the install (creativeSetId, keywordId) and the geography of the device on which the install occurred (countryOrRegion).
Note that the Apple Ads Attribution API payload does not utilize a timer system: installs that occur through ASA are attributed as they happen, unlike with SKAdNetwork, which is subject to a minimum turnaround time of between 24-48 hours from ad click to install postback. This install timing capability with the Apple Ads Attribution API presents a considerable difference between the reporting API that Apple makes available for its own ad network and the reporting API it forces other ad networks to use, SKAdNetwork. With Apple’s own reporting API, install reporting can be cohorted and compared against daily ad spend for measurement and optimization purposes. With SKAdNetwork, because of its timer system, that is not possible.
Additionally, because Apple operates the attribution apparatus for its own ad network, it is able to set terms for attribution that other ad networks can’t and that advertisers might find unusual or non-standard. Mobile attribution platform Appsflyer points out that installs generated from ASA when an IDFA is not available are recorded as organic, or not having derived from an ad click, prior to iOS 14. But because Apple controls the operating system of the device and manages attribution for its own ad network, it is able to attribute ASA installs regardless of ATT status (ie. whether or not a user opted into making their IDFA available), and it is also able to dictate the “lookback window” over which those installs are attributed to clicks. Notably, for opted out users, Apple sets a 30-day lookback window on click attribution, meaning that any ad click from an ASA campaign that takes place in the 30 days before an install is observed is credited for that install.
Appsflyer’s documentation indicates that its platform defaults to a 7-day attribution window for clicks when a different value has not been set by the advertiser for networks other than ASA. From my own experience, 7 days is a common install attribution window for an ad click. 30 days is an unnecessarily protracted lookback timeline for attributing installs to clicks: it could result in ASA taking credit for installs for which other ads from other ad networks were more immediately responsible. Other ad networks and ad platforms allow for attribution windows to be set by the advertiser; as an example, this documentation explains how advertisers are able to set an attribution window for TikTok advertising campaigns.
Advantages and remedies
The exemptions and separate standards that Apple applies to its own ad network provide it with inequitable advantages over other ads platforms and ad networks. These advantages manifest in a number of ways:
The language that Apple uses to collect consent from users for ads targeting is vastly different from the language that is mandatory in the ATT consent prompt (as contrasted at the top of the article). Developers are only able to customize the supporting text under the ATT prompt headline, but the headline itself cannot be modified: App Name would like permission to track you across apps and websites owned by other companies. Apple’s own opt-in prompt describes its collection of data from apps that it does not own, through its App Store payments processor, for the purposes of ads targeting as “personalization.” As I describe in this article, the personalization framing is, subjectively, less intimidating than the tracking framing, and it also implies consumer benefits (relevant advertising) whereas tracking does not;
Apple is able to collect behavioral data from apps developed by third parties for the purposes of ads targeting through its exclusive provision of payments infrastructure in the App Store. App developers have no choice but to give Apple transparency into the payments events that take place in their apps since Apple doesn’t allow for alternative payments systems to be used within apps on iOS. Apple’s restriction of third-party payments processors within apps on iOS provides it with exclusive access to the payments data that is used for targeting ads with ASA. Other ads platforms cannot use payments data for ads targeting for users that have opted out of ATT;
The Apple Ads Attribution API provides more granular and complete install attribution payload data than does SKAdNetwork. Apple’s own ad network, ASA, is able to attribute installs using the Apple Ads Attribution API, whereas all other ad networks must use SKAdNetwork for install attribution when a user has opted out of ATT. SKAdNetwork is missing critical creative parameters, and its timer system severely limits its usefulness. The Apple Ads Attribution API provides creative context with its install attribution payload, and it is not subject to a timer system for install accounting;
Apple dictates a 30-day lookback window for install attribution when the user has opted out of ATT. This is a non-standard lookback window that essentially bestows Apple with better access to claiming attributions than other ad platforms and likely results in installs being attributed to ASA for which other ad platforms could more credibly claim credit. Apple does not allow advertisers to change this lookback window whereas other ad platforms and networks do.
Below I propose remedies for each of these inequitable advantages, but they are all conceptually unified by equivalent treatment and applicability. Apple has created a parallel set of standards for the treatment of its own ad network relative to the treatment of all other ad platforms and networks. If Apple were simply to apply universal standards to data access, consumer choice, and reporting fidelity with respect to mobile advertising, then these advantages wouldn’t exist.
EQUIVALENT CONSENT TEXT. Apple should allow app developers to use the same prompt text for ATT opt-in that Apple uses for collecting consent for ads personalization. The prompt for collecting ads personalization opt-in that Apple uses is more evocative of how ads targeting systems use behavioral data, and it does a better job of exposing the benefits of opting into participating in that system than does the unalterable ATT prompt text. Apple should standardize the ATT prompt and its own ads personalization prompt to the same language.
EQUIVALENT ACCESS TO PAYMENTS DATA IN A FIRST-PARTY ENVIRONMENT. Apple is able to collect in-app payments data with first-party privileges for use in ads personalization because app developers are forced to use iTunes connect for payments processing on iOS. Apple should allow developers to use alternative payments processors in their apps, which would remove Apple’s exclusive access to payments data for the purposes of ads targeting.
EQUIVALENT REPORTING. Apple should standardize reporting robustness across SKAdNetwork and the Apple Ads Attribution API. The SKAdNetwork postback payload should contain the same level of granularity as does the Apple Ads Attribution API, and the delivery of SKAdNetwork postbacks should be conducted with the same timeliness as are those from the Apple Ads Attribution API.
EQUIVALENT ATTRIBUTION CONFIGURATION. Apple should make the attribution window for ASA campaigns configurable for advertisers. A 30-day attribution window is non-standard, and advertisers should have the option of setting the attribution window for ASA campaigns to a value of their choosing, as is done with many other large ad platforms and ad networks.
As I wrote more than a year ago in The IDFA is the hydrocarbon of the mobile advertising ecosystem, I believe that the IDFA had reached the end of its useful life and was facilitating a system of data collection that was ultimately corrosive to user trust and harmful to the mobile advertising ecosystem. I applaud Apple for taking the initiative to protect user privacy by effectively deprecating the IDFA.
But ATT is a clumsy solution that doesn’t foster genuine consumer choice and inflicts unnecessary pain on advertisers that is causing very real value destruction. ATT threatens the viability of the freemium business model, which I think is the most profound commercial innovation of the past 30 years, and the harm it engenders will ultimately be felt by consumers. The inequitable advantages that Apple has conferred on its own ad network, especially through the inadequacy of SKAdNetwork, are generally destructive to the advertising efficiency that allowed the App Store to blossom into, as Tim Cook calls it, an “economic miracle.” Apple can restore some of that efficiency while still providing for consumer privacy by implementing the remedies to those inequitable advantages that I articulate here.
ATT advantages Apple’s ad network. Here’s how to fix that. published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
7 Skills UA Managers Need to Succeed in 2021 (and Beyond)
Aleksey Golovachev is Marketing Team Lead at Awem Games with over ten years of experience in digital marketing. From 2017 until present, Aleksey has worked in mobile marketing — specifically, game development. He now leads the UA team at Awem Games. Alexey is a casual games promotion specialist, and his team works with Google Ads, Facebook Ads, Ad Networks, DSPs and Apple Search Ads. His role involves leading a team of UA managers, driving upgrowth, motivating and training employees, setting goals and achieving team results.
Read Aleksey’s blog in Russian here.
My UA journey began in 2017. At the time, there were few user acquisition (UA) managers on the market. The skills expected of a UA manager were attention to detail, an analytical mindset, experience with Excel processing functions, good knowledge of mathematics and fluency in English. Fast forward to 2021, the expertise and requirements in my field have greatly evolved.
It’s possible to earn more money in an increasingly automated and competitive environment, but the skills that set a candidate apart have changed. In this post, I highlight seven essential skills a UA manager must have to succeed.
1. Fluent English
In Eastern Europe, fluency in English can be a challenge. People stop learning English after leaving school, and they rarely use it in their daily lives. As part of the user acquisition team, you must be fluent in English in order to understand the intricate traffic sources and daily negotiations with advertising partners. At Awem Games, we help fund English classes and other forms of individual learning. We take seriously the language barriers our employees might face. In an industry where English is the primary language of communication, this has proven to be a win-win strategy for Awem Games and its employees.
2. Self-Discipline
Ten years ago, I could only dream of remote work. Today, remote work is trendy. Forcing people to go to the office limits the scope of talent a business can attract. It’s also unpopular with digital-first professionals. Of course, to succeed when working remotely, you have to be reliable with deadlines and self-motivated enough to keep to a schedule. If you are, you will be an essential member of any user acquisition team that values independence, self-sufficiency, and responsibility.
At Awem Games, I am fully remote. Without self-discipline, I would never have been able to grow from a manager to a lead. My time zone is four hours ahead of my colleagues. This means my workday is irregular, and sometimes I work late into the night. But I have been able to find a balance. To limit distractions, I prioritize work above household chores during working hours. Nobody controls my tasks, but they expect results from me. Self-discipline helps me achieve it.
3. The Ability to Prioritize
I heard about the Pareto principle from my first manager, and it’s stuck. It can be translated into this user acquisition motto: “20% of effort produces 80% of the result, while the other 80% of effort only produces 20% of the result.“
At Awem Games, the UA team has a daily routine of research assignments, learnings, findings and integration with new partners. A good UA manager works to maximize benefits for the marketing department and the company. Failure to prioritize can lower efficiency and lead to employee burnout. If you find prioritizing difficult, don’t be afraid to communicate any efficiency problems with your manager. Here are two pointers:
Evaluate the whole picture. It is essential to understand why you are doing a task. Look at every task comprehensively, correlate time spent, the results, and the potential profit.
Listen to your manager’s experience. They can offer a top-level look at a situation and give you a fuller picture of the whole team’s tasks.
Let me share an example of successful work prioritization. Towards the end of 2020, our team abandoned experiments with new advertising channels that did not bring positive results. Instead, we focused on a more thorough study of our current partners. We focused only on the effective, and it positively impacted results—we increased advertising budget while maintaining the target ROAS.
4. Attention to Detail
Every UA team regularly tackles multiple tables. The data comes from different sources: your app, advertising partners, and attribution partners. Every element in a UA data table has an interval of average values (for instance, the average percentage of players who complete a tutorial.) It is important to understand what data to expect from your app on a given post-install day. Abnormally high or low metrics can indicate incomplete data, glitches with the advertising partner, or even fraud. Attention to detail will help you identify growth points or form optimization strategies within ad campaigns. The mobile market is constantly changing. Yesterday’s approaches might not yield the same results.
Being detail-oriented also helps me identify bottlenecks in campaign analytics. For example, while working with Ad Networks, I often encountered situations where my advertising partner delivered shallow financial metrics. To figure out why, I downloaded raw data for each campaign from the tracker, collected a funnel of passing levels, and analyzed the data. My analysis revealed an anomaly in the players’ behavior—most of them finished the game at a certain level due to data manipulation on the side of the advertising source. I proved that tampering had occurred and garnered a refund for the campaigns impacted—campaigns that had cost tens of thousands of dollars.
5. Expert Excel Knowledge (Power Pivot & Power Query)
Early in my UA career, I had to balance marketing costs with mobile app revenue in order to analyze ad campaigns effectiveness. Rather quickly, the standard functionality of Excel and Google pivot tables no longer met my requirements. The number of data files was growing and sometimes they contained over a million rows. Add-ins came to the rescue—they imported the necessary information from various sources, such as files and databases, and created a data model for subsequent visualizations as tables or diagrams. The helpful add-ins were Power Query and Power Pivot.
Many mobile app companies have analytic systems that generate various reports. The largest use their analysts and BI Developers. Why would you need to analyze the data yourself? Here are a couple of examples:
Sometimes, advertising partners send expense figures by email. In a test run with unclear perspectives, or when there is no way to quickly integrate email data into internal analytics, it may be faster and more convenient to put together a Power Pivot data model.
The results of a mobile game ad campaign casts doubt on traffic purity. Check the level funnel to control for simulating real installs. The file with the necessary events from the tracker can contain millions of lines. Add-ins will help you open and convert it to a pivot table.
The corporate analytics system doesn’t always make it possible to clearly and conveniently reflect the data from ad campaigns for your purposes. Excel add-ins allow you to create universal optimization and reporting files that only take a few minutes to update. (Remember that Excel cannot work with add-ins on MacOS.)
6. A Flair for Ad Creatives
It is vital to know which approaches & concepts are effective in your ad channels and which help to improve ad campaign results without changing the product. A successful UA manager must recognize good and bad ideas and adapt them for product ads. We all remember the now-dying trend of so-called misleads that showed users non-existent gameplay.
To improve your creative, try looking at competitors’ creatives. A good service that monitors competitors’ creatives costs thousands of dollars a year, but you can always turn to a free source of inspiration: Facebook Ad Library. It wasn’t unusual for a Motion Designer or the UA team at Awem Games to come up with ideas that became hits, some eventually copied by competitors.
7. Basic Programming and Database Skills
Life is becoming more automated, and mobile marketing is no exception. In addition to product and ad quality, speed is crucial to your success. With the right skills, you can save your team time by automating a lot.
When I joined Awem Games, there was no ad creatives catalog. Files were scattered around in designers’ folders on the corporate Google Drive. Finding existing creatives was difficult and unsystematic. I saw a bottleneck and created an automated, updated catalog with previews, localizations and sizes. We have been using it for two years, and I cannot say how many hundreds of hours it has saved the creative team.
Paths to Growth
In my view, a successful career as a growth marketer can develop along two possible paths:
Novice to expert. For instance, you might progress from a UA Manager to UA Producer. You will gradually become an expert capable of teaching new hires and a person whose opinion the management values—especially in situations that require complex solutions. If this is your path, focus on perfecting your hard skills.
Line employee to leader. This might look like a form of vertical growth from UA Manager to UA Team Lead, Head of UA, and CMO. If this path attracts you, it is crucial to remember how leadership has changed in the past few years. Before, when UA teams were being created with no trained employees, leaders were the people with the most experience and mature hard skills. Now it is the soft skills that matter at every level.
The post 7 Skills UA Managers Need to Succeed in 2021 (and Beyond) appeared first on Liftoff.
7 Skills UA Managers Need to Succeed in 2021 (and Beyond) published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Making of Iron Harvest: Perfect Asymmetry in Level Design (Part 2/3)
How to create balanced Multiplayer Levels without mirroring everything.
Part 1 is here!
Building our own Solution We based our final approach on the data we got from looking into Company of ­Heroes and for most of our maps, we followed two guiding principles:
1. If possible, we would try to mirror them over a central line, not around a ­central point, as this ended up feeling less ­artificial. It also made it significantly ­easier to hide the symmetry, and, ­considering that we would only ever have two teams fight each other, cause no problems for game design.
2. We would only mirror the basic gameplay elements but use different versions that have the same properties and add other differing visual elements to them as well.
This also helped in the general design and look of our multiplayer maps as we weren’t forced to place the same buildings or walls on opposing sides all the time. Instead, we could use more different elements to ­improve the immersion and atmosphere of our maps.
As already mentioned, we always tried to have a reason for the existence and location of buildings, cover and other objects. While this certainly was never a top priority in our multiplayer maps, we did try to follow this principle here as well, something that was made much easier by this new approach.
To show a good example of how this would end up looking in the final game: The map “Border River” was amongst the first ones to be designed based on these principles. In it, two Flags are placed opposite of each other, separated by a river that mostly follows the mirroring line of the map. But while one side of the map features the remains of a destroyed farm, the other is dominated by the ruins of a long-fallen castle. Both sides look radically different but offer very similar cover options and navigation.
Internally, we started calling this new approach “Perfect Asymmetry” to differentiate it from complete asymmetry or ­perfect symmetry. The maps would look and feel asymmetrical but still be well-­balanced and much more symmetrical than one would assume.
After confirming that this approach works well, we started experimenting more, ­feeling less bound by a need for ­perfect symmetry. This, among other things, ­resulted in us essentially trading ­advantages in some cases: One location would have, e.g., better cover for one side, while the opposing location would offer better accessibility for the other side. This way both sides ­became less similar while a certain balance was still maintained, though we used this practice much more carefully and rarely, to not accidentally cause balancing problems after all.
The opposing sides of the map “Border River” feature similar cover and entrances yet look quite different.
Looking back, both those balancing trade-offs, as well as the slight imperfections and small discrepancies, ended up working much better than we anticipated.
The reasons for this turned out to be threefold:
1. Iron Harvest is a slower and more tactical game compared to many other RTS, and raw numbers rarely decide the outcome of a fight. A small advantage in time or cover means nothing if your opponent is able to counter it cleverly.
2. As mentioned before, the factions in Iron Harvest are not symmetrical, with the different infantry units having different ranges and damage values, not to mention the mechs. As such different factions interact with gameplay elements like buildings and walls in different ways.
3. Lastly, the destruction systems ensured that many elements like buildings and covers would not always last that long. This way, many slight advantages would end up temporary over the course of a match.
The lessons we learned ­helped us later, when we would start creating completely asymmetrical maps, as we had gained a better understanding of which elements needed to be balanced and which ones could be tackled more loosely. As long as the main gameplay elements and Points of Interest featured mostly equal travel times, cover opportunities and accessibility ­options, we could keep up a fair ­balance with little to no symmetry to guide us along the way.
This also was our last guiding principle in all multiplayer maps in general: We would focus on the biggest and most important battlefields and Points of Interest and ensure that they were as fair as possible. Meanwhile, the less important areas in between were free to look less similar still and could be designed quite differently as long as they did not deviate completely from each other.
Several good examples for this can be found in the map “Industrial Area” that was created shortly after “Border River”: The central area is designed to be mostly symmetrical, especially in cover opportunities, and the areas around the other two flags have received the same care. The connecting areas however are ­designed quite differently and have much less ­similarities. The areas directly in front of the players’ bases are designed in the same way, with only the loosest sense of symmetry. As these areas would only rarely be active battlefields and more ­often simply serve as pathways to the ­actual battlefields, the lack of symmetry, as long as it didn’t affect traversal time, never caused any problems.
Parts 3 of this article as well as further “Making of Iron Harvest” articles will follow soon!
Magnus Brauckhoff Game & Level Designer
Magnus wanted to learn how to create games from a young age. After finally finishing his Bachelor’s Degree in Game Design in 2017, he moved to Bremen and started working as a Level Designer on Iron Harvest at KING Art Games. Having released the first big game he was part of, he is already eager to see what comes next.
The post Making of Iron Harvest: Perfect Asymmetry in Level Design (Part 2/3) appeared first on Making Games.
Making of Iron Harvest: Perfect Asymmetry in Level Design (Part 2/3) published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Why isn’t Apple policing mobile ads fingerprinting?
Since it first introduced the App Tracking Transparency (ATT) privacy policy in June 2020, Apple has been consistent and explicit about the fact that opted-out users may not be fingerprinted for advertising measurement. This prohibition of fingerprinting is articulated very clearly in Apple’s User Privacy and Data Use documentation:
Ahead of ATT’s rollout, which reached a critical mass of distribution to iPhone devices via iOS 14.6 in June, the general consensus I observed amongst advertisers was that fingerprinting was not expected to be a viable means of attributing installs on iOS in the post-IDFA environment, although whispers of a “grace period” circulated. But months after ATT’s introduction in iOS 14.5, fingerprinting is still rampant on mobile, and Apple has made no indication that it plans to police its use.
Why is Apple allowing this?
First, it’s important to understand what fingerprinting facilitates. Fingerprinting is the process of aggregating hardware and network parameters from a device into a combination that is likely to be unique, or unqiue enough to provide a sense of identity, within some period of time. The more parameters that are combined, the less common the combination, but the primary components to a device fingerprint for mobile advertising: device IP address, OS version, and model code. A fingerprint is not persistent, and it can expire rapidly, so fingerprinting can really only be used for install attribution: the time between a click and an app install tends to be abbreviated such that a fingerprint match between an ad click and app install is considered reliable. So while a fingerprint can be credibly used to attribute app installs, the same is not true for in-app events that happen hours or days later. I speak to this limitation in the ATT, one month in: privacy thresholds with Rich Jones of Dataseat podcast.
So while fingerprinting can help an ad network claim attribution on an install, because it is not persistent, fingerprinting can’t be used to build the kinds of behavior-based profiles that large ad platforms use to target ads. Those profiles are built through event attribution: the event stream that exists between a product and ad platform is only helpful if those events can be attributed to users and aggregated as inputs into click and conversion probability models. I describe this attribution-to-targeting dynamic in this article.
1) Good reminder that in advertising, amateurs discuss targeting while professionals discuss attribution. A 10 year trend to multi-touch attribution may be ending and a trend back to last-click could begin. Significant implications.
— Gavin Baker (@GavinSBaker) October 22, 2021
The ad platforms that sell owned-and-operated advertising inventory operate the apps in which that inventory is sold. If these apps were to fingerprint, Apple would see that happening in the App Store review process. Apple could police fingerprinting from these companies by rejecting updates for their apps until the unnecessary device parameters used in fingerprinting were relinquished. This would be a point-blank means of policing fingerprinting that would punish companies directly for that violation of ATT.
But when ad tech companies conduct fingerprinting through SDKs, they do so within the apps of their customers. Apple can similarly see this happening in app review, but in order to police it, it would need to reject updates from app developers that aren’t themselves doing anything wrong. This would be a messy solution, especially since every app on the App Store being run as anything resembling a business contains at least one SDK that is currently fingerprinting. App developers would be punished by Apple for violations from the ad tech companies that they are paying.
Ad networks unquestionably benefit from this dynamic:
Because these networks mostly use contextual targeting, their efficiency wasn’t dependent on IDFA-indexed behavioral profiles and is mostly unaffected by ATT. Through fingerprinting, these companies can measure attributed installs in the same way that they did prior to ATT, without yoking a measurement methodology to SKAdNetwork. This makes these networks an attractive alternative to ad platforms selling owned-and-operated traffic;
Fingerprinting is an imperfect and imprecise means of attributing an install. As was discussed in this podcast episode, a fingerprint is useful for finding any matched conversion, and it tends to overattribute. Anecdotally, many mobile advertisers are seeing the proportion of organic installs shrink meaningfully after ATT’s introduction, potentially because those organic installs are being overzealously attributed to ad networks through fingerprinting.
Apple introduced Private Relay, a feature that obfuscates IP traffic in the Safari browser, with iOS 15. Private Relay processes unencrypted traffic within apps, but that accounts for very little traffic: apps sit mostly outside of the purview of Private Relay.
If that changes — if Apple routes all in-app traffic through its Private Relay filter — then in-app fingerprinting would become much less reliable. Given that Apple’s only other option for policing fingerprinting is to reject app updates, putting an end to fingerprinting through Private Relay is likely the best choice. But the timeline for that remains to be seen.
Why isn’t Apple policing mobile ads fingerprinting? published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
How to disable or enable Website Tinting feature in Safari
Apple’s newly released iOS 15 and iPadOS 15 come with several major changes and design revamps. One of the native app from the company that has gone through major changes in the Safari web browser. However, not many users are happy with the changes that Apple made in Safari. Among several features, one of them […] How to disable or enable Website Tinting feature in Safari published first on https://phonetracking.tumblr.com/ How to disable or enable Website Tinting feature in Safari published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
What’s new for Android developers at #AndroidDevSummit’21
Sagar Kamdar, VP of Product Management
The app experiences that you as developers build help people around the world in ways we couldn’t have imagined, and at Android Dev Summit, happening over the next two days, we’ll talk about that spirit - focusing on the user, understanding their needs, and then building experiences to delight them. We just wrapped up the keynote, and over the next two days, we’ll focus on an important theme for Android: helping you build excellent apps, across devices. First on updates to our modern Android development offering to help you stay more productive so you can focus on building great applications, and then helping you extend those apps across devices to all form factors. And as a big part of this, we’re introducing the 12L feature drop on foldables and tablets - a set of features optimising Android 12 for large screens - read on to learn more!
youtube
Excellent apps: bringing Material You to Jetpack Compose
When it comes to helping you build excellent apps, our expanding collection of development tools, APIs, language, and distribution technologies–Modern Android Development, MAD for short–are your partners to help you stay more productive. And we’ve got a number of new features across MAD to help you be productive and create better apps, starting with one of our biggest announcements: the introduction of Material You and its radical new design vision into Jetpack Compose, Android’s modern toolkit for building native UI.
Material You, introduced in Android 12 earlier this year at Google I/O, focuses on delivering experiences that are personal for every style, accessible for every need, and adaptive for every screen. We’re releasing the first alpha of Compose Material 3, which offers Material Design 3 styled components and theme, enabling Material You personalization features like dynamic color. We’re also releasing the first beta version of Jetpack Compose 1.1 with features like stretch overscroll for Android 12, improved touch-target sizing, experimental lazy layout animations, and more. Jetpack Compose is stable and ready for use in production and we continue to add the features you need to make it fast and easy to build Android UI across all form factors, with new support for Wear OS and for building homescreen widgets.
Jetpack: more features to help you create excellent apps
Beyond Compose, Jetpack continues to add the features you’ve been asking us for. Navigation adds multiple backstacks support. WorkManager, our recommended solution for persistent work, makes it easier to handle Android 12 background restrictions, adding support for expedited jobs. Room adds auto-migration and multi-map relations. DataStore, our recommended replacement for SharedPreferences, has reached 1.0 and Macrobenchmark, a tool to measure and improve startup and frame performance, added simplified and more accurate frame timing, and compatibility back to Android M.
Introducing 12L, an OS designed for large screens, together with new tools
Large screens have seen some incredible momentum: a 92% Year-over-Year growth in Chrome OS, making it the fastest growing desktop OS in the world, a 20% growth in tablet sales in the last year and a 2.5x growth in foldables sales, the newest and most innovate form factor…altogether those represent over 250M active large screen Android devices - and Android is giving you an OS to match. And we’ve got some… *large* news to *unfold* here: a developer preview of an upcoming feature drop for Android 12, with updates added JUST for large screens; we call it 12L. With 12L we’ve optimised and polished the system UI for large screens, made multitasking more powerful and intuitive, and improved our compatibility support for apps so they look better right out of the box. You can try the new large-screen features today as part of the 12L developer preview. Check out what is in 12L and how we’re making it easier to build for large screens here.
Watch out for Wear OS
Many developers have created helpful experiences for the latest version of Wear OS which launched earlier this year, and we’re looking forward to richer, more immersive app experiences like what we’re seeing from Strava, Spotify, and Calm. Jetpack Compose makes building UIs so much faster and easier - so we’re bringing Compose support to Wear OS. Compose for Wear OS is now in developer preview, with new samples and documentation to help you get started. The ​​Tiles API, now in Beta, provides predictable, glanceable access to information and quick actions. We’ve also partnered with Samsung to make it easier to design watch faces. Watch Face Studio, created by Samsung, allows you to produce your own watch faces without any coding, so watch you see..is watch you get. You can read more about all of the Wear OS news here.
Google Play: More features and investments to help you grow your business
We’ve invested in more ways to power your business growth on Google Play. To strengthen user trust, we’ve introduced the Data safety section to highlight your privacy practices and the Play Integrity API to make sure your app installs are always genuine. We’ve also invested in more tools and features to help boost your app quality and recently updated our programs so that 99% of developers qualify for a service fee of 15% or less. To learn more, check out our blog post or watch the full session.
#AndroidDevSummit kicks off now!
We just dropped over 30 technical sessions, which you can watch here at your own pace. And over the next two days, we have a lot more live content for you to enjoy - including your opportunity to get your burning #AskAndroid questions answered by the team who built Android on topics like Modern Android Development, Large Screens, or Compose with Material You. Plus, we’ll also be hosting live Android Code-Alongs, where you can tune in to watch Android experts as they code, tackle programming challenges, and answer your questions live across Jetpack Compose and Compose for Wear OS. You can check out the full agenda with timings here. While we can’t wait for the opportunity to connect with you in person soon, we’re excited to engage with you remotely over the next two days. Enjoy your #AndroidDevSummit!
What’s new for Android developers at #AndroidDevSummit’21 published first on https://phonetracking.tumblr.com/ What’s new for Android developers at #AndroidDevSummit’21 published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
12L and new Android APIs and tools for large screens
Posted by Dave Burke, VP of Engineering
There are over a quarter billion large screen devices running Android across tablets, foldables, and ChromeOS devices. In just the last 12 months we’ve seen nearly 100 million new Android tablet activations–a 20% year-over-year growth, while ChromeOS, now the fastest growing desktop platform, grew by 92%. We’ve also seen Foldable devices on the rise, with year on year growth of over 265%! All told, there are over 250 million active large screen devices running Android. With all of the momentum, we’re continuing to invest in making Android an even better OS on these devices, for users and developers.
So today at Android Dev Summit, we announced a feature drop for Android 12 that is purpose-built for large screens, we’re calling it 12L, along with new APIs, tools, and guidance to make it easier to build for large screens. We also talked about changes we’re making to Google Play to help users discover your large-screen optimized apps more easily. Read on to see what’s new for large screens on Android!
Previewing 12L: A feature drop for large screens
Today we’re bringing you a developer preview of 12L, our upcoming feature drop that makes Android 12 even better on large screens. With the preview, you can try the new large screen features, optimize your apps, and let us know your feedback.
In 12L we’ve refined the UI on large screens across notifications, quick settings, lockscreen, overview, home screen, and more. For example, on screens above 600dp, the notification shade, lockscreen, and other system surfaces use a new two-column layout to take advantage of the screen area. System apps are also optimized.
Two-column layouts show more and are easier to use
We’ve also made multitasking more powerful and intuitive - 12L includes a new taskbar on large screens that lets users instantly switch to favorite apps on the fly. The taskbar also makes split-screen mode more discoverable than ever - just drag-and-drop from the taskbar to run an app in split-screen mode. To make split-screen mode a better experience in Android 12 and later, we’re helping users by automatically enabling all apps to enter split screen mode, regardless whether the apps are resizable.
Drag and drop apps into split-screen mode
Last, we’ve improved compatibility mode with visual and stability improvements to offer a better letterboxing experience for users and help apps look better by default. We’ve made letterboxing easily customizable by device manufacturers, who can now set custom letterbox colors or treatments, adjust the position of the inset window, apply custom rounded corners, and more.
We plan to release the 12L feature drop early next year, in time for the next wave of Android 12 tablets and foldables. We’re already working with our OEM partners to bring these features to their large screen devices - watch for the developer preview of 12L coming soon to the Lenovo P12 Pro. With the features coming to devices in the few months ahead, now is a great time to optimize your apps for large screens.
For developers, we highly recommend checking out how your apps work in split screen mode with windows of various sizes. If you haven’t optimized your app yet, see how it looks in different orientations and try the new compatibility mode changes if they apply. Along with the large screen features, 12L also includes a handful of new APIs for developers, along with a new API level. We’ve been careful not to introduce any breaking changes for your apps, so we won’t require apps to target 12L to meet Google Play requirements.
To get started with 12L, download the 12L Android Emulator system images and tools from the latest preview release of Android Studio. Review the features and changes to learn about areas to test in your apps, and see preview overview for the timeline and release details. You can report issues and requests here, and as always, we appreciate your feedback!
12L is for phones, too, but since most of the new features won’t be visible on smaller screens, for now we’re keeping the focus on tablets, foldables, and ChromeOS devices. Later in the preview we plan to open up Android Beta enrollments for Pixel devices. For details, visit developer.android.com/12L.
Making it easier to build for large screens
It’s time to start designing fully adaptive apps to fit any screen, and now we’re making it even easier. To help you get ready for these changes in the OS and Play, along with the developer preview we’re releasing updates to our APIs, tools and guidance.
Design with large screen patterns in mind
The first step to supporting adaptive UI is designing your app to behave nicely on both a small and a larger screen. We’ve been working on new Material Design guidance that will help you scale your app’s UI across all screens. The guidance covers common layout patterns prevalent in the ecosystem that will help inspire and kick-start your efforts.
Adaptive UI patterns in the Material Design guidelines
Build responsive UIs with new navigation components
To provide the best possible navigation experience to your users, you should provide a navigation UI that is tailored to the Window Size Class of the user’s device. The recommended navigation patterns include using a navigation bar for compact screens and a navigation rail for medium-width device classes and larger (600dp+). For expanded-width devices, there are several ideas on larger screen layouts within our newly released Material Design guidance such as a List/Detail structure that can be implemented, using SlidingPaneLayout. Check out our guidance on how to implement navigation for adaptive UIs in Views and Compose.
While updating the navigation pattern and using a SlidingPaneLayout is a great way to apply a large screen optimized layout to an existing application with fragments, we know many of you have applications based on multiple activities. For those apps, the new activity embedding APIs released in Jetpack WindowManager 1.0 beta 03 make it easy to support new UI paradigms, such as a TwoPane view. We’re working on updating SlidingPaneLayout to support those APIs - look for an update in the coming months.
Use Compose to make it easier to respond to screen changes
Jetpack Compose makes it easier to build for large screens and diverse layouts. If you’re starting to adopt Compose, it’s a great time to optimize for large screens along the way.
Compose is a declarative UI toolkit; all UI is described in code, and it is easy to make decisions at runtime of how it should adapt to the available size. This makes Compose especially great for developing adaptive UI, as it is very easy to handle UI changes across different screen sizes or components. The Build adaptive layouts in Compose guide covers the basics of what you need to know.
Use WindowManager APIs to build responsive UIs
The Jetpack WindowManger library provides a backward-compatible way to work with windows in your app and build responsive UI for all devices. Here’s what’s new.
Activity embedding
Activity embedding lets you take advantage of the extra display area of large screens by showing multiple activities at once, such as for the List-Detail pattern, and it requires little or no refactoring of your app. You determine how your app displays its activities—side by side or stacked—by creating an XML configuration file or making Jetpack WindowManager API calls. The system handles the rest, determining the presentation based on the configuration you’ve created.
Activity embedding works seamlessly on foldable devices, stacking and unstacking activities as the device folds and unfolds. If your app uses multiple activities, activity embedding can enhance your user experience on large screen devices. Try the activity embedding APIs in Jetpack WindowManager 1.0 Beta 03 and later releases. More here.
Activity embedding with Jetpack WindowManager
Use Window size classes to help detect the size of your window
Window Size Classes are a set of opinionated viewport breakpoints for you to design, develop and test resizable application layouts against. The Window Size Class breakpoints have been split into three categories: compact, medium, and expanded. They have been designed specifically to balance layout simplicity with the flexibility to optimize your app for the most unique use cases, while representing a large proportion of devices in the ecosystem. The WindowSizeClass APIs will be coming soon in Jetpack WindowManager 1.1 and will make it easier to build responsive UIs. More here.
Window Size Classes in Jetpack WindowManager
Make your app fold-aware
WindowManager also provides a common API surface for different window features, like folds and hinges. When your app is fold aware, the content in the window can be adapted to avoid folds and hinges, or to take advantage of them and use them as natural separators. Learn how you can make your app fold aware in this guide.
Building and testing for large screens with Android Studio
Reference Devices
Since Android apps should be built to respond and adapt to all devices and categories, we’re introducing Reference Devices across Android Studio in many tools where you design, develop and test UI and layout. The four reference devices represent phones, large foldable inner displays, tablets, and desktops. We’ve designed these after analyzing market data to represent either popular devices or rapidly growing segments. They also enable you to ensure your app works across popular breakpoint combinations with the new WindowSizeClass breakpoints, to ensure your app covers as many use cases as possible.
Reference Device definitions
Layout validation
If you’re not sure where to get started adapting your UI for large screens, the first thing you can do is use new tools to identify potential issues impacting large screen devices. In Android Studio Chipmunk, we’re working on a new visual linting tool to proactively surface UI warnings and suggestions in Layout Validation, including which reference devices are impacted.
Layout validation tool with Reference Device classes
Resizable emulator
To test your app at runtime, we can use the new resizable emulator configuration that comes with Android Studio Chipmunk. The resizable emulator lets you quickly toggle between the four reference devices - phone, foldable, tablet, and desktop. This makes it easier to validate your layout at design time and test the behavior at runtime, both using the same reference devices. To create a new Resizable emulator, use the Device Manager in Android Studio to create a new Virtual Device and select the Resizable device definition with the Android 12L (Sv2) system image.
Resizable Android Emulator
Changes to Google Play on large screens
To make it easier for people to find the best app experiences on their tablets, foldables, and ChromeOS devices, we’re making changes in Play to highlight apps that are optimized for their devices.
We’re adding new checks to assess each app’s quality against our large screen app quality guidelines to ensure that we surface the best possible apps on those devices. For apps that are not optimized for large screens, we’ll start warning large screen users with a notice on the app’s Play Store listing page.
We’ll also be introducing large screen specific app ratings, as announced earlier this year, so users will be able to rate how your app works on their large screen devices. These changes are coming next year, so we’re giving you advanced notice to get your apps ready!
Also, make sure to check out our post that highlights how we are evolving our business model to address developer needs in Google Play.
Learn more!
To help you get started with building for large screens and foldables, no matter whether you’re using Views or Compose, we’ve got you covered! We’re launching new and updated guidance on how to support different screen sizes both in a new and in an existing app, how to implement navigation for both Views and Compose, how to take advantage of foldable devices and more. Check them out in the large screens guides section for Views support or in the Compose guides section.
Nothing speaks louder than code - we updated the following samples to support responsive UIs:
Google I/O Android App
Trackr
Jetnews
Jetcaster (tabletop support)
For some hands-on work, check out our Support foldable and dual-screen devices with Jetpack WindowManager updated codelab.
12L and new Android APIs and tools for large screens published first on https://phonetracking.tumblr.com/ 12L and new Android APIs and tools for large screens published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Google Play updates from #AndroidDevSummit
Posted by Alex Musil, Director of Product, Google Play
At this year’s Android Developer Summit, we shared new features we’ve been building to help power your growth on our platform, including enhancements to trust and safety, tools to boost your app quality and improve monetization, some updates for games, and an exciting new app marketing certificate.
Watch the whole session below, or keep reading for the highlights.
youtube
Evolving our business model to address developer needs
We’ve made important changes to ensure all types of businesses can be successful on Google Play. We now have multiple programs designed to support our app ecosystem with 99% of developers qualifying for a service fee of 15% or less.
Recently, we announced that starting January 1, 2022, we’re decreasing the service fee for all subscriptions on Google Play from 30% to 15%. Additionally, we’re making changes to the Play Media Experience program, where ebooks and on-demand music streaming services will now be eligible for service fees as low as 10%.
For more information about our service fees, please see our FAQs.
Improvements to trust and safety
Earlier this year, we shared details about the upcoming Data safety section in the Play Store, which will let users know what type of data your app collects and shares and how that data is used. By giving you a way to showcase your approach to privacy and security, we’re not only building trust, we’re helping users make informed decisions about the apps they install and use.
Users will see the new Data safety section in the Play Store starting in February 2022. You have until April 2022 before your apps must have this section completed and approved, but we encourage you to fill out the required Data Safety form in Play Console now. For more information, including guidance on how to fill out the form, watch our “Get prepared for the Data safety section” session.
youtube
We regularly update our policies to make Google Play a safe and trustworthy experience. Check out our Policy Center or this PolicyBytes video for new announcements from this week. You can also join our policy webinars and send in your questions, available for multiple regions (Global, India, Japan, or Korea).
Another way that we’re protecting both you and our users is by investing in new developer tools that help you protect your apps and games from abuse and attack, so you can ensure your users have the experience you intend. The new Play Integrity API will let you determine if you’re interacting with your genuine app binary, installed by Google Play, and running on a genuine Android device that’s powered by Google Play services. If not, you can decide how best to introduce additional friction and reduce the risk to your app.
The Play Integrity API will be rolling out to all developers over the next few months. To learn more, watch our “Play Integrity API” session and express interest in early access.
youtube
More ways to improve app quality
We’ve released several updates to help you improve the performance of your app.
First, we’re making it easier for you to be alerted to and fix new issues with improvements to Android vitals. Your most recent data is now more visible to help you see issues right away, and we’ve added trends, filters, and app version information to help you identify the source of the issue quickly.
We also recently launched a new tool in Play Console called Reach and devices to help you understand which features or fixes would help you reach the most users on Google Play. By understanding your user and issue distribution, you can make better decisions about which specs to build for, where to launch, and what to test to make the biggest impact.
We’re making changes to the way users evaluate your app quality, too. One of the most important ways that users assess your app is by checking your ratings and reviews. That’s why starting in November, users on phones will start to see ratings specific to their registered country. Then, in early 2022, users will see ratings specific to the device that they’re on, including form factors such as tablets, Chromebooks, and wearables. You can preview your location-specific and device-specific ratings in Play Console now, and we encourage you to check them out so you have time to make any app quality improvements you need before the new ratings go into effect in the Play Store.
Updates to help you monetize your app
To help you better monetize your apps and games, we continue to invest in modernizing our platform, including updates to the Billing Library. Billing Library version 3, which was announced June 2020, includes new ways for users to pay, subscription promotion capabilities, purchase attribution for games, and improvements to purchase reliability and security. As a reminder, all updates to existing apps must use Billing Library version 3 or newer by November 1, 2021. Learn more about updating to Billing Library version 3 or newer — which requires few updates to your code — in the release notes.
We’re also excited to announce a new feature in the Billing Library: in-app messaging. Today, subscription users who go into payment decline often aren’t aware of it, or experience too much friction to fix their payment. That’s why we’ve launched a new API that can detect whether a user is in payment decline and show a helpful message right in your app, so the user can immediately fix the payment without leaving the app to go to the Play Store. Best of all, the integration is super easy — just a single line of code. On average, our early-access partners saw a 99% improvement in subscription recovery and spend for users who saw the message. In-app messaging will be available in the next Billing Library release, so stay tuned for more information.
Seamless gaming experiences
The updated sign-in API for Play Games Services, which drastically simplifies the sign-in implementation, is now in early access. The new SDK makes for a one-line implementation.
We’ve also simplified the setup for users, combining the Google Play Games install and profile creation in one step. This allows users to get back to their game more quickly, even when they don’t have Play Games installed. We’re also streamlining the process of opting in to auto-sign-in for an even smoother experience for returning users.
But that’s not all. Because needing to have the Google Play Games app installed is creating friction for some users, starting in 2022, Play Games Services will no longer require this installation. This change will allow 2 billion users to sign in to your Play Games Services-enabled games with a zero-touch experience. More details are coming soon. You can express your interest in the early access program on our developer site.
Industry-recognized app marketing certificate
Last but not least, we also announced the launch of the Google Play Store Listing Certificate. This new program is designed to help app marketers demonstrate their proficiency and skills in Play Store listing best practices.
To get certified, app marketers can take online training that will help you best tell your app or game’s story on Google Play. You’ll learn key skills that will help you drive growth through high-quality and policy-compliant store listings. After the training, take the exam to get an industry-recognized certificate.
We hope you take advantage of all these new features and programs to grow your businesses on Google Play. Please continue sharing your feedback so we can build the tools you need to power your growth. Thank you for being part of the Google Play community.
How useful did you find this blog post?
★ ★ ★ ★ ★
Google Play updates from #AndroidDevSummit published first on https://phonetracking.tumblr.com/ Google Play updates from #AndroidDevSummit published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Introducing Jetpack Media3
Posted by Don Turner, Developer Relations Engineer
Introducing Jetpack Media3
Today, we’re launching the first alpha of Jetpack Media3. It’s a collection of support libraries for media playback, including ExoPlayer. This article will explain why we created Media3, what it contains, and how it can simplify your app architecture.
Why another media API?
We have several existing media APIs: Jetpack Media also known as MediaCompat, Jetpack Media2, and ExoPlayer. These libraries were developed with different goals, and have several areas of overlapping functionality.
For example, ExoPlayer and Media2 both contain UI components, and MediaCompat and Media2 contain classes for handling media sessions.
It can be challenging to decide which library to use for a given use case, and objects from different libraries are often not compatible, requiring adapters or connecting code. Media3 removes these challenges by providing a single set of libraries which work well together.
To create Media3 we:
Identified the common areas of functionality in our existing media libraries, including UI, playback and media session handling.
Refined and merged the best parts.
Created a common Player interface for all “player-like” objects (more on this later).
What’s in the box
Media3 contains many libraries. The ones most relevant for simple media playback are shown below.
Library name
Purpose
Useful classes for playback
media3-exoplayer
Objects for playing video and audio, provided by ExoPlayer. 
SimpleExoPlayer for simple playback use cases
media3-ui
Views for displaying media playback controls, content, and metadata. 
StyledPlayerView displays audio and video content from a Player
media3-session
Objects for creating and interacting with a media session.
MediaSession for advertising what you’re playing
MediaLibraryService for advertising your content library
A common Player
Our existing media APIs have a lot of objects which accept playback commands, like “play,” “pause,” and “skip”. Identifying these “player-like” objects and ensuring that they implement a common Player interface was one of the biggest undertakings in the development of Media3.
We’ve updated, enhanced, and streamlined the Player interface from ExoPlayer to act as the common Player interface for Media3.
Classes such as MediaController and MediaSession that previously contained references to other “player-like” objects have been updated to reference the new player.
This is useful when communicating with UI components. Both ExoPlayer and MediaController now implement Player, so either one of them can be used to communicate with StyledPlayerView or other UI components.
Diagram showing how MediaController and ExoPlayer implement the Player interface and can be used to communicate with UI components, like StyledPlayerView
Simplified architecture
Using this Player interface avoids the need for connecting components, allowing for less code and a simpler app architecture.
In particular, this makes working with media sessions easier. Instead of using the MediaSessionConnector extension, or writing your own “player to media session” connector, you can create a MediaSession using a Player, like this:
player = ExoPlayer.Builder(context).build() session = MediaSession.Builder(context, player).build()
Now your media session will automatically reflect the state of your player, and any commands sent to your media session will be automatically forwarded to your player. All that in just two lines of code!
Providing a content library
If your app needs to expose its content library to other apps, like Android Auto, use MediaLibraryService, rather than a MediaBrowserService from MediaCompat.
You’ll then create a MediaLibrarySession and implement a MediaLibrarySessionCallback whose methods will be called by the browsing app to obtain your content tree.
Diagram showing how MediaLibraryService can be used to expose a content library
Easier updates
One of the key benefits of using Jetpack libraries is API stability. If you use symbols that are part of the stable API, you generally don’t need to update your code to use a new release of that library within the same major version.
In Media3, some of the most commonly used objects are marked as stable, including the Player API and media session classes.
Most of ExoPlayer’s API surface is marked as unstable.
Diagram showing stable and unstable areas of the Media3 API
To use an unstable method or class you’ll need to add the OptIn annotation before using it.
@androidx.annotation.OptIn(UnstableApi::class) private fun initializeExoPlayer() { // ... }
If your project uses a lot of unstable methods it may be more convenient to add this suppression to your project-wide lint.xml.
<issue id="UnsafeOptInUsageError"> <ignore regexp='\(markerClass = androidx\.media3\.UnstableApi\.class\)'/> </issue>
Just because part of an API is marked as unstable doesn’t mean that the API is unreliable or that you shouldn’t use it - it’s just a way of informing you that it might change in the future.
Getting started
Media3 is released today in alpha and we’d love you to try it out.
One of the best ways to do this is to check out the demo app, which shows how to play video and audio, and integrate with a media session.
You can add the Media3 dependencies to your app by adding the following artifacts to your build.gradle:
implementation 'androidx.media3:media3-ui:1.0.0-alpha01' implementation 'androidx.media3:media3-exoplayer:1.0.0-alpha01' implementation 'androidx.media3:media3-session:1.0.0-alpha01'
If you have feedback or run into problems, please file an issue. We’d really love to hear from you.
For more information check out the “What’s next for AndroidX Media and ExoPlayer” talk from Android Dev Summit 2021 and the Media3 release notes.
youtube
Introducing Jetpack Media3 published first on https://phonetracking.tumblr.com/ Introducing Jetpack Media3 published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Driving app and career growth with Google Play Academy’s Store Listing Certificate
Posted by Eric McCleve, Google Play Academy Programs Lead
At Google Play, our goal is to help developers and marketers reach and resonate with over 2 Billion users who visit our platform every month looking for high quality content and services. Having a great store listing experience can be a huge benefit in helping achieve user acquisition goals for your app or game.
To help you get the most out of our store listing tools and features, we’re excited to announce a new Store Listing Certificate on Google Play Academy. The certificate is designed for both learners who have an app or game on Google Play and want to improve its store listing, or aspiring app makers who want to build in-demand mobile marketing skills. The training and exam cover:
The mobile marketer’s role in creating a store listing
Common store listing policy violations to avoid
Telling your story with your store listing assets
Tools to help you grow your app
How to market to a global audience
How it works
youtube
Watch this video to learn more about the training and exam certificate
To get certified, you can take online training on Google Play Academy and learn best practices to help you best tell your app or game’s story. You’ll learn key skills that will help you drive growth through high-quality and policy-compliant store listings. After the training, take the exam to get an industry-recognized certificate. You will also be invited to join Google Developer Certification Directory, a network of Google certified developers.
Mohamed Kamara, founder of InovCares, a health startup that modernizes healthcare for women, learned app store listing best practices from Google Play Academy.
youtube
Hear Mo explain how Google Play Academy’s training helped him better tell his app’s story on Google Play
Get certified!
Start training and get certified. Happy learning!
How useful did you find this blog post?
★ ★ ★ ★ ★
Driving app and career growth with Google Play Academy’s Store Listing Certificate published first on https://phonetracking.tumblr.com/ Driving app and career growth with Google Play Academy’s Store Listing Certificate published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Watch out for Wear OS at Android Dev Summit 2021
Posted by Jeremy Walker, Developer Relations Engineer
This year’s Android Dev Summit had many exciting announcements for Android developers, including some major updates for the Wear OS platform. At Google I/O, we announced the launch of the new Wear OS. Since then, Wear OS Powered by Samsung has launched on the Galaxy Watch4 series. Many developers such as Strava, Spotify, and Calm have already created helpful experiences for the latest version of Wear OS, and we’re looking forward to seeing what new experiences developers will help bring to the watch. To learn more and create better apps for the wrist, read more about the updates to our APIs, design tools, and the Play store.
Compose for Wear OS
The Jetpack Compose library simplifies and accelerates UI development, and we’re bringing Compose support to Wear OS. You can design your app with familiar UI components, adapted for the watch. These components include Material You, so you can create beautiful apps with less code.
Compose for Wear OS is now in developer preview. To learn more and get started:
Watch the Compose for Wear OS talk
Read an overview of Compose for Wear OS for more details
Create a beginner app with our quick start guide
Very simple and complex samples on GitHub
Try it out and share your feedback here or join the #compose-wear channel on the Jetbrains Slack and let us know there! Make sure you do it before we finalize APIs during beta!
youtube
Watch Face Studio
Watch faces are one of the most visible ways that users can express themselves on their smartwatches. Creating a watch face is a great way to showcase your brand for users on Wear OS. We’ve partnered with Samsung to provide better tools for watch face creation and make it easier to design watch faces for the Wear OS ecosystem.
Watch Face Studio is a design tool created by Samsung that allows you to produce and distribute your own watch faces without any coding. It includes includes intuitive graphics tools to allow you to easily design watch faces. You can create watch faces for your personal use, or upload them in Google Play Console to share with your users on Wear OS devices that support API level 28 and above.
Library updates
We recently released a number of Android Jetpack Wear OS libraries to help you follow best practices, reduce boilerplate, and create performant, glanceable experiences for your users.
Tiles are now enabled for most devices in the market, providing predictable, glanceable access to information and quick actions. The API is now in beta, check it out!
For developers who want more fine-grain control of their watch faces (outside of Watch Face Studio), we’ve launched the new Jetpack Watch Face APIs beta built from the ground up in Kotlin.
The new API offers a number of new features:
Watch face styling which persists across both the watch and phone (no need for your own database).
Support a WYSIWYG watch face configuration UI on the phone.
Smaller, separate libraries (only include what you need).
Battery improvements by encouraging good battery usage patterns out of the box; for example, reducing the interactive frame rate when battery is low.
New Screenshot APIs so users can see their watch face changes in real time.
And many more…
This is a great time to start moving from the older Watch Face Support Library to this new version.
Play Store updates
We’re making it easier for people to discover your Wear OS apps in the Google Play Store. Earlier this year, we enabled searching for watch faces and made it easier for people to find your apps in the Wear category. We also launched the capability for people to download apps onto their watches directly from the mobile Play Store. You can read more about these changes here.
We’ve also released updated Wear OS quality guidelines to help you meet your users’ expectations, as well as new screenshot guidelines to help your users have a better understanding of what your app will look like. To help people better understand how your app would work on their device in their location, we will be launching form factor and location specific ratings in 2022.
To learn more about developing for Wear OS, check out the developer website.
Watch out for Wear OS at Android Dev Summit 2021 published first on https://phonetracking.tumblr.com/ Watch out for Wear OS at Android Dev Summit 2021 published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
What's New in Scalable Automated Testing
Posted by Arif Sukoco, Android Studio Engineering Manager (@GoogArif) & Jolanda Verhoef, Developer Relations Engineer (@Lojanda)
We know it can be challenging to run Android instrumented tests at scale, especially when you have a big test suite that you want to run against a variety of Android device profiles.
At I/O 2021 we first introduced Unified Test Platform or UTP. UTP allows us to build testing features for Android instrumented tests such as running instrumented tests from Android Studio through Gradle, and Gradle Managed Devices (GMD). GMD allows you to define a set of virtual devices in build.gradle, and let Gradle manage them by spinning them up before each instrumented test run, and tearing them down afterwards. In the latest version of Android Gradle Plugin 7.2.0, we are introducing more features on top of GMD to help scale tests across multiple Android virtual devices in parallel.
Sharding
The first feature we are introducing is sharding on top of GMD. Sharding is a common technique used in test runners where the test runner splits up the tests into multiple groups, or shards, and runs them in parallel. With the ability to spin up multiple emulator instances in GMD, sharding is an obvious next step to make GMD a more scalable solution for large test suites.
When you enable sharding for GMD and specify the desired number of shards, it will automatically spin up that number of managed devices for you. For example, the sample below configures a Gradle Managed Devices called pixel2 in your build.gradle:
android { testOptions { devices { pixel2 (com.android.build.api.dsl.ManagedVirtualDevice) { device = "Pixel 2" apiLevel = 30 systemImageSource = "google" abi = "x86" } } } }
Let’s say you have 4 instrumented tests in your test suite. You can pass an experimental property to Gradle to specify how many shards you want to divide your tests in. The following command splits the test run into two shards:
./gradlew -Pandroid.experimental.androidTest.numManagedDeviceShards=2 pixel2DebugAndroidTest
Invoking Gradle this way will tell GMD to spin up 2 instances of pixel2, and split the running of your 4 instrumented tests between those 2 emulated devices. In the Gradle output, you will see ​​"Starting 2 tests on pixel2_0", and "Starting 2 tests on pixel2_1".
As seen in this example, sharding through GMD spins up multiple identical virtual devices. If you apply sharding and have more than one device defined in build.gradle, GMD will spin up multiple instances of each virtual device.
The HTML format output of your test run report will be generated in app/build/reports/androidTests/managedDevice/pixel2. This report will contain the combined test results from all the shards.
You can also load the test results from each shard to Android Studio by selecting Run > Import Tests From File from the menu and loading the protobuf output files app/build/outputs/androidTest-results/managedDevice/pixel2/shard_1/test-result.pb and app/build/outputs/androidTest-results/managedDevice/pixel2/shard_2/test-result.pb.
It’s worth remembering that when sharding your tests, there is always a tradeoff between the extra resources and time required to spin up additional emulator instances, and the savings in test running time. As such, it is more useful when you have larger test suites to run.
Also please note that currently GMD doesn’t support running tests for test-only modules yet, and there are known flakiness issues when running on cloud hosted CI servers.
Slimmer Emulator System Images
When running multiple emulator instances at the same time, your limited server’s computing resources could become an issue.
One of the ways to improve this is by slimming down the Android emulator system image to create a new type of device that’s optimized for running automated tests. The Automated Test Device (ATD) system image is designed to consume less CPU and memory by removing components that normally do not affect the running of your app’s instrumented tests, such as the SystemUI, Settings app, bundled apps like Gmail, Google Maps, etc., and some other components. Please read the release notes for more information about the ATD system image.
The ATD system images have hardware rendering disabled by default. This helps with another common source of slow-running test suites. Often, when running instrumented tests on an emulator, access to the host’s GPU for graphics hardware acceleration is not available. In this case, the emulator will choose to use software graphics acceleration, which is much more CPU intensive. Nearly all functionalities still work as expected with hardware rendering off, with the notable exception of screenshots. If you need to take screenshots in your test, we recommend taking a look at the new AndroidX Test Screenshot APIs which will dynamically enable hardware rendering in order to take a screenshot. Please take a look at the examples for how to use these APIs.
To use ATD, first make sure you have downloaded the latest version of the Android emulator from the Canary channel (version 30.9.2 or newer). To download this emulator, go to Appearance & Behavior > System Settings > Updates and set the IDE updates dropdown to “Canary Channel”.
Next, you need to specify an ATD system image in your GMD configuration:
android { testOptions { devices { pixel2 (com.android.build.api.dsl.ManagedVirtualDevice) { device = "Pixel 2" apiLevel = 30 systemImageSource = "aosp-atd" // Or "google-atd" if you need // access to Google APIs abi = "x86" // Or "arm64-v8a" if you are on an Apple M1 machine } } } }
You can now run tests from the Gradle command line just like you would with GMD as before, including with sharding enabled. The only thing you need to add for now is to let Gradle know you are referring to a system image in the Canary channel.
./gradlew -Pandroid.sdk.channel=3 -Pandroid.experimental.androidTest.numManagedDeviceShards=2 pixel2DebugAndroidTest
Test running time improvement using ATD might vary, depending on your machine configuration. In our tests, comparing ATD and non-ATD system images running on a Linux machine with Intel Xeon CPU and 64GB of RAM, we saw 33% shorter test running time when using ATD, while on a 2020 Macbook Pro with Intel i9 processor and 32GB of RAM, we saw 55% improvement.
We’re really excited about these new features, and we hope they can allow you to better scale out your instrumented tests. Please try them out and let us know what you think! Follow us – the Android Studio development team ‐ on Twitter and on Medium.
What’s New in Scalable Automated Testing published first on https://phonetracking.tumblr.com/ What's New in Scalable Automated Testing published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Top OnePlus Nord 2 5G Tips, Tricks, Quick Shortcuts and Features
OnePlus Nord 2 5G is the latest OnePlus smartphone with features like faster processor MediaTek Dimensity 1200, 65W fast charging, newer cameras, and many more. Not only that, it runs on the OxygenOS 11.3 based on Android 11 loaded with numerous features from customizations to handy shortcuts and security features. Want to know? Take a […] Top OnePlus Nord 2 5G Tips, Tricks, Quick Shortcuts and Features published first on https://phonetracking.tumblr.com/ Top OnePlus Nord 2 5G Tips, Tricks, Quick Shortcuts and Features published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Top OnePlus Nord 2 5G Tips, Tricks, Quick Shortcuts and Features
OnePlus Nord 2 5G is the latest OnePlus smartphone with features like faster processor MediaTek Dimensity 1200, 65W fast charging, newer cameras, and many more. Not only that, it runs on the OxygenOS 11.3 based on Android 11 loaded with numerous features from customizations to handy shortcuts and security features. Want to know? Take a […] Top OnePlus Nord 2 5G Tips, Tricks, Quick Shortcuts and Features published first on https://phonetracking.tumblr.com/ Top OnePlus Nord 2 5G Tips, Tricks, Quick Shortcuts and Features published first on https://leolarsonblog.tumblr.com/
0 notes
aurelliocheek · 2 years
Text
Out Now! Liftoff’s 2021 Social Casino Gaming Apps Report Is Here
Social distancing measures worldwide paved the way for social casino games to rise in popularity–and revenues. In the U.S., where the pandemic pushed almost 1,000 casinos to close their doors, social casino titles hit the jackpot, according to market research firm Statista. Total global gross gaming revenue (GGR) of the social casino segment amounted to $6.2 billion in 2020. It forecasts this figure will increase to $7.5 billion by 2026. 
Top titles in this genre can win big. Statista reckons the average value of a social casino in-app purchase comes in at roughly $11.92. That’s almost 2x the amount players in other genres spend on IAP.  No wonder social casino towers “among the top-grossing mobile gaming genres worldwide.” 
But winning big spenders is bound to get harder in the next 12 months. The market is seeing increased movement—and competition—as traditional gambling and casino companies enter the market. Fortunately, marketing isn’t a game of chance. Marketers can harness market data to inform longer-term strategies and campaigns to turn every session into an opportunity to drive usage and boost loyalty. They can also experiment with game mechanics and features to provide players perks and bonuses that deepen engagement and drive in-app purchases.
That’s where this report uniquely provides insights to help social casino companies optimize campaigns and product. Liftoff draws from 83 billion impressions and 12 million installs to deliver ad performance insights alongside GameRefinery, who share unique feature data and metrics to show how marketers can get the most out of their games. Download your free copy of the report now!
DOWNLOAD YOUR COPY NOW
You can also read the report in Chinese, Japanese, Korean, Portuguese, Russian or Spanish.
Report highlights include:
Liftoff’s signature cost and ROAS data
GameRefinery’s proprietary Motivation Framework analysis
A granular view of the competitive Social Casino landscape
App feature insights to power your next innovation
Real insights from Mobile Heroes and industry insiders
The post Out Now! Liftoff’s 2021 Social Casino Gaming Apps Report Is Here appeared first on Liftoff.
Out Now! Liftoff’s 2021 Social Casino Gaming Apps Report Is Here published first on https://leolarsonblog.tumblr.com/
0 notes