Tag Archives: ios

Secure corporate data on employee iOS devices with managed apps

To better protect the G Suite data stored on your employees’ personal iOS devices, you can now specify that certain iOS apps be “managed” if your domain has advanced mobile device management enabled.

If an app is managed, you can:
  • Prevent the app’s data from being backed up to iCloud.
  • Block unmanaged apps from opening managed app files.


Note that these actions will impact both personal and corporate data on managed apps. Visit the Help Center for more information on how to manage apps on iOS devices.

Designate an app as managed
When you whitelist a new app for iOS devices, you can now choose to “Make this a managed app.” Once you make the app managed, you can also select to have it automatically removed from a device if that device’s MDM profile is removed.

When you whitelist a new app for iOS devices, you can now make it “managed.”


If you previously whitelisted an app, you can make it managed by changing that app’s settings in the Admin console.
You can make an app you’ve already whitelisted managed by editing the app’s configuration in the Admin console.


User notifications and required actions
If you designate an app as managed, any users with that app downloaded will be prompted to update it in their Google Device Policy app.

Users will be prompted to update apps that are marked as managed by their admins. 

Users need to accept management of their apps or they’ll lose access to all corporate data on their phone.


If a user doesn’t take action within 12 hours of receiving the notification, they’ll receive another notification prompting them to make the required apps managed.


If a user doesn’t take action within 24 hours of receiving the notification, they’ll no longer be able to access corporate data anywhere on their device.


Note that if you make a previously managed app “unmanaged,” users will need to remove the Google Apps Device Policy Payload Profile before the app becomes unmanaged.

Launch Details
Release track:
Launching to both Rapid Release and Scheduled Release

Editions:
Available to all G Suite editions

Rollout pace:
Extended rollout (potentially longer than 15 days for feature visibility)

Impact:
Admins and end users

Action:
Admin action suggested/FYI

More Information
Help Center: Recommend and manage iOS apps


Launch release calendar
Launch detail categories
Get these product update alerts by email
Subscribe to the RSS feed of these updates

Announcing the Mediation Test Suite Beta

Today we're announcing the release of Mediation Test Suite Beta. Mediation Test Suite is a lightweight SDK that enables Google AdMob publishers to easily test mediation ad network integrations without having to make changes in the AdMob UI, saving you and your developers time. It is available on Android, iOS, and Unity.

Mediation Test Suite allows you to:

  • View a full list of mediation ad source configurations for your app
  • Automatically check your project for missing SDKs, adapters, and manifest changes required by partner ad sources
  • Load a banner, interstitial, rewarded, or native ad for any ad source using a certified Google Mobile Ads SDK implementation
  • Batch test multiple ad sources for the same ad unit
  • Test both open source mediation adapters and custom event adapters

Integrating Mediation Test Suite is easy -- once you have the SDK imported, it can be launched with just a single line of code. All you need is your AdMob app ID.

On Android, the launch code looks like this:

import com.google.android.ads.mediationtestsuite.MediationTestSuite;
...
String appId = "YOUR-ADMOB-APP-ID";
MediationTestSuite.launch(MainActivity.this, appId);

On iOS, all that's required is importing the correct header and launching the Test Suite:

#import "GoogleMobileAdsMediationTestSuite.h"
...
NSString* appId = @"YOUR-ADMOB-APP-ID"
[GoogleMobileAdsMediationTestSuite presentWithAppID:appId
onViewController:self delegate:nil];

Unity is just as simple, but please note that you need to use the appropriate app ID for your platform:

using GoogleMobileAdsMediationTestSuite.Api;
...
#if UNITY_ANDROID
string appId = "YOUR-ANDROID-ADMOB-APP-ID";
#elif UNITY_IPHONE
string appId = "YOUR-iOS-ADMOB-APP-ID";
#else
string appId = "";
#endif
MediationTestSuite.Show(appId);

Including Mediation Test Suite in production builds is optional

You are not required to keep the Mediation Test Suite library in the production release of your app; however, you may choose to leave it in and hide it behind a debug gesture. Doing so enables you to launch Mediation Test Suite within your production build.

You can find more information about how to use Mediation Test Suite in the developer guide (Android | iOS | Unity). Remember that Mediation Test Suite is a beta product, so if you have any questions or feedback, please contact us on the developer forum.

Consent SDK removes limit of 12 ad technology providers

To support publishers in meeting their duties under the Google EU User Consent Policy, Google offers a Consent SDK. The Consent SDK is an open-source library that provides utility functions for collecting consent from your users. The full source code is available on GitHub.

With the latest release of the Consent SDK (v1.0.5 for Android or v1.0.2 for iOS), the Google-rendered consent form is now compatible with any number of ad technology partners, including the full list of commonly used partners. Apps that update to the latest version of the Consent SDK can start taking advantage of this additional flexibility immediately.

You can find additional documentation for the Consent SDK on the Google Mobile Ads Android and iOS developer docs. If you have any questions about implementing the Consent SDKs, you can reach us on our forum.

[Video] Hamilton app built in 3 months with Flutter reaches 1M+ installs

Originally posted on Flutter's Medium by Martin Aguinis

Hamilton and Posse, a design and development agency in New York, had three short months to develop and launch mobile apps for the hit Broadway show. How did they accomplish that? Using Flutter, Google's new mobile UI framework.

Reaching millions of users — with an outstanding half a million monthly active users and featured on both the App Store and Google Play— the apps let fans enter the ticket lottery, buy merchandise, play trivia, take selfies with a #HamCam, read frequently updated news and interviews, and more.

Watch this video case study to see how Flutter continues to help apps like Hamilton succeed on iOS and Android. You can read more details about the development of this app on Posse's blog post.

Flutter is free and open source. Get started today at flutter.io. We can't wait to see what you build!

Open sourcing GTXiLib, an accessibility test automation framework for iOS

Google believes everyone should be able to access and enjoy the web. We share guidance on building accessible tech over at Google Accessibility and we recently launched a dedicated disability support team. Today, we’re excited to announce that we’ve open sourced GTXiLib, an accessibility test automation framework for iOS, under the Apache license.

We want our products to be accessible and automation, with frameworks like GTXiLib, is one of the ways we scale our accessibility testing. GTXiLib can automate the process of checking for some kinds of issues such as missing labels, hints, or low contrast text.

GTXiLib is written in Objective-C and will integrate with your existing XCTests to perform all the registered accessibility checks before the test tearDown. When the checks fail, the existing test fails as well. Fixing your tests will thus lead to better accessibility and your tests can catch new accessibility issues as well.
  • Reuse your tests: GTXiLib integrates into your existing functional tests, enhancing the value of any tests that you have or any that you write.
  • Incremental accessibility testing: GTXiLib can be installed onto a single test case, test class or a specific subset of tests giving you the freedom to add accessibility testing incrementally. This helped drive GTXiLib adoption in large projects at Google.
  • Author your own checks: GTXiLib has a simple API to create custom checks based on the specific needs of your app. For example, you can ensure every button in your app has an accessibilityHint using a custom check.
Do you also care about accessibility? Help us sharpen GTXiLib by suggesting a check or better yet, writing one. You can add GTXiLib to your project using CocoaPods or by using its Xcode project file.

We hope you find this useful and look forward to feedback and contributions from the community! Please check out the README for more information.

By Siddartha Janga, Google Central Accessibility Team 

Stay secure with default-on mobile management

We recently introduced several features for G Suite to help keep your data secure. As described in our earlier post, this includes basic mobile management that’s on by default. Keep reading for more information on this new setting configuration and how it’ll be rolled out to your organization.

If your users bring their Android and iOS devices to work, you have the option to turn on mobile device management for additional security.

If you’ve never enabled this option, we will automatically turn on basic mobile management for your domain by the end of the year. This means that any user who doesn’t currently have a passcode or screen lock on their device will be required to set one up before accessing their G Suite apps.

To control the timing of this change, you can do one of three things:
  1. Turn on basic mobile management now, and enforce a passcode on your users' devices.
  2. Turn on basic mobile management now, but don't enforce a passcode on your users' devices.
  3. Enable and then disable mobile management. This will prevent basic mobile management from being turned on automatically.

If you do any of the above, passcodes and screen locks will not be automatically enforced at any point in the future.

A few important things to keep in mind:
  • If your organization has previously enabled basic, advanced, or custom mobile management, your users won’t be impacted by this launch.
  • This launch applies even if your organization uses a third-party Enterprise Mobility Management (EMM) provider. It won’t impact the way your EMM works in any way.
  • Mobile devices syncing via Google Sync won’t be impacted by this change and won’t have a passcode or screen lock enforced.
  • Users who sync their mail via IMAP and who don’t use native G Suite apps (e.g. Gmail) won’t be impacted by this change, and their devices won’t have a passcode or screen lock enforced.


For more information on Google Mobile Management, please visit the Help Center.

Launch Details
Release track:
Launching to both Rapid Release and Scheduled Release by the end of 2018

Editions:
Available to all G Suite editions

Rollout pace:
Extended rollout (potentially longer than 15 days for feature visibility)

Impact:
Admins and end users

Action:
Admin action suggested/FYI

More Information
Help Center: Turn on mobile device management
Help Center: Compare mobile management features
The Keyword: Helping G Suite customers stay secure with new proactive phishing protections and management controls


Launch release calendar
Launch detail categories
Get these product update alerts by email
Subscribe to the RSS feed of these updates

Use ad content filtering to help improve your users’ ad experience

Cross posted from the AdMob blog.

Optimizing the ad experience on your app for a varied audience can be difficult. Showing users ads that are a better fit can improve their overall ad experience and help maximize your app’s revenue.

AdMob has launched a new feature that allows you to specify the content rating for Google ads served in your app. With the new max_ad_content_rating signal, you can now choose the content rating of Google demand that you want to deliver on a per-request basis.

Four content rating choices offer you the granularity you need to provide users at each level with a better user experience. The four new content rating choices are:

  • G: Content suitable for general audiences
  • PG: Content suitable for most audiences with parental guidance
  • T: Content suitable for teen and older audiences
  • MA: Content suitable only for mature audiences

You can start sending the new max_ad_content_rating signal in the Google Mobile Ads SDK by following these Android and iOS guides. To learn more about the new signal and the content rating choices, visit the AdMob help center or contact your Google account team.

Posted by Alexa Haushalter, Product Manager, AdMob

Simpler testing with new AdMob test ads

Today we're announcing a behavior change when requesting test ads using the Google Mobile Ads SDK. It enables you to test your own ad units while also ensuring that you are in test mode.

When using the Google Mobile Ads SDK during development, we recommend that you configure your device to request test ads. Always testing with test ads is important so you avoid having your account flagged for invalid activity.

Previously, enabling test ads resulted in the same sample ad like this one being shown in your app:

While this worked well as a basic check, it didn't allow for testing what real ads would look like in a production environment. For example, you couldn't test your mediation configurations or the different types of banner and interstitial formats that AdMob offers. The update we're rolling out addresses these problems.

New Test Ad Behavior

Starting today, apps built against Google Mobile Ads SDK 11.6.0 or higher on Android or 7.26.0 or higher on iOS can take advantage of the new behavior of test ads, which serves production-looking ads without charging advertisers. With this change, you can safely test the clickthrough behavior of your ads without your account getting flagged for invalid activity.

Banner, interstitial, and rewarded test ads now show a "Test Ad" label in the top-middle of the ad to give you a visual indicator that the ad returned is actually a test ad.

Sample 300x250 Banner ad

For native advanced test ads, the headline asset has the text "Test Ad" prepended.

Sample native content ad.

Test ads with Mediation

When using mediation, ads shown from third-party ad networks won't display the test ad label. Only Google ads show the test ad label. You are responsible for ensuring that your testing of third-party ad networks is compliant with their stated policies. See each mediation network's respective mediation guidefor more information on how to enable test ads on those networks.

See the testing guide (Android | iOS) for more information on how to enable test ads in the Google Mobile Ads SDK. If you have any questions, contact us on the developer forum.

Protect corporate data on compromised iOS devices

Google Mobile Management allows G Suite admins to control access to company data on managed devices directly from the Admin console. With this launch, we’re giving admins increased power to protect their organizations’ data by preventing their users from syncing corporate data on jailbroken iOS devices.

Admins can enable this feature in the Admin console under Device Management > Advanced Settings > Security. Note that this feature is off by default and requires an organization to have Advanced Mobile Management for iOS enabled in order to turn on.


For this setting to work, users need to have the Google Device Policy app installed. Once the feature is turned on, users who don’t have the Device Policy app on their device will be prompted to install it. Once installed, the app will check if the device is jailbroken regularly, and notify the user if they pass or fail that check.


This setting should help G Suite admins and end users keep their organization’s data secure. For more details, visit the Help Center.

Launch Details
Release track:
Launching to both Rapid Release and Scheduled Release

Editions:
Available to all G Suite editions

Rollout pace:
Extended rollout (potentially longer than 15 days for feature visibility)

Impact:
Admins only

Action:
Admin action suggested/FYI

More Information
Help Center: Apply advanced settings


Launch release calendar
Launch detail categories
Get these product update alerts by email
Subscribe to the RSS feed of these updates

Loading multiple native ads in the Google Mobile Ads SDK

In the Google Mobile Ads SDK Android version 11.2.0 and iOS version 7.21.0, we added multiple native ads, a new feature for AdMob Native Ads Advanced. This feature lets you load up to five unique native ads with a single request. If you're showing native ads in a scrolling feed, this will allow you to get a batch of ads different from one another. It also means fewer network calls, which improves latency.

If you're displaying multiple native ads in a feed and loading ads one by one, converting to the new API should be fairly straightforward.

First, make a decision about how many ads you wish to fetch in one request. This is a function of how frequently you display ads in your feed. If you request five ads, AdMob will return the top five ads, ordered by eCPM value. If only three ads are available for the ad unit, only three ads will be returned.

iOS Implementation

Before initializing your ad loader, you need to create an instance of GADMultipleAdsAdLoaderOptionsand set the numberOfAdsproperty. Then include this object in the array of options when calling GADAdLoader's initializer:

override func viewDidLoad() {
super.viewDidLoad()

let multipleAdsOptions = GADMultipleAdsAdLoaderOptions()
multipleAdsOptions.numberOfAds = 5

adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self,
adTypes: [GADAdLoaderAdType.nativeContent,
GADAdLoaderAdType.nativeAppInstall],
options: [multipleAdsOptions])
adLoader.delegate = self
adLoader.load(GADRequest())
}

When requesting multiple native ads, you will still get individual callbacks when each ad is loaded. For example, for an app install ad you will have a callback to -adLoader:didReceiveNativeAppInstallAd:, and for a content ad -adLoader:didReceiveNativeContentAd:. This way you don't need to change the way the ads are received and shown.

To determine when ads have finished loading, there are two new APIs available:

  1. On the GADAdLoaderobject, a new property, loading, has been added. It returns true if a request is in progress, and false otherwise. You can check this property after each ad has loaded to find out if loading ads has completed.
  2. On the GADAdLoaderDelegate, the adLoaderDidFinishLoading:method has been added. It's invoked when all ads for a request have been returned.

Android Implementation

The Android implementation is similar to iOS. There's a new method on AdLoader, loadAds() which accepts the number of ads to load. There's also a new isLoading()method that indicates whether a request is currently in progress.

For a detailed walkthrough of the implementations, see the AdMob Native Ads Advanced implementation guides (iOS| Android). If you have any questions about this feature in the Google Mobile Ads SDK, please drop us a line at the developer forum.