am 80bd95bf: Merge "Doc change: update Google Play policies descriptions." into jb-mr2-docs
* commit '80bd95bf86e43e5bbca6a08ede708524e5024a1c': Doc change: update Google Play policies descriptions.
@@ -9,8 +9,8 @@ page.title=Ads
|
|||||||
<li><a href="#context">Context and Behavior</a></li>
|
<li><a href="#context">Context and Behavior</a></li>
|
||||||
<li><a href="#disclosure" style="clear:right">Disclosure</a></li>
|
<li><a href="#disclosure" style="clear:right">Disclosure</a></li>
|
||||||
<li><a href="#impersonation">Impersonation of System UI</a></li>
|
<li><a href="#impersonation">Impersonation of System UI</a></li>
|
||||||
<li><a href="#adwalls">Adwalls</a></li>
|
<li><a href="#adwalls">Adwalls and Interstitial Ads</a></li>
|
||||||
<li><a href="#interfering" style="clear:right;">Interference with Ads and Websites</a></li>
|
<li><a href="#interfering" style="clear:right;">Interference with Apps and Third-Party Ads</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h2>More Resources</h2>
|
<h2>More Resources</h2>
|
||||||
@@ -129,23 +129,21 @@ page.title=Ads
|
|||||||
experience and helps avoid policy violations
|
experience and helps avoid policy violations
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
|
||||||
<strong>Make sure app origin is clear</strong>—When you display an
|
|
||||||
ad, it must be clear to the user that the ad has originated from your app.
|
|
||||||
If you show the ad in your app's UI while your app has focus, the user
|
|
||||||
understands the ad origin without explicit attribution. However, if you
|
|
||||||
display the ad outside of your app, such as in a notification, you must
|
|
||||||
explicitly indicate the origin.
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<strong>Don't make changes outside of the app without consent</strong>
|
<strong>Don't make changes outside of the app without consent</strong>
|
||||||
—Ads must not make changes outside of the app without the user's
|
—Ads must not make changes outside of the app without the user's
|
||||||
full knowledge and consent. For example, ads should not install shortcuts,
|
full knowledge and consent.
|
||||||
bookmarks, or icons, or change default settings without user consent.
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
<div class="example-block bad" style="width:360px;margin:1em 0 0 2em;">
|
||||||
|
<div class="heading">Ads through system-level notifications</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-notif-attr-violation.png">
|
||||||
|
</div>
|
||||||
|
<div class="example-block good" style="width:360px;margin:.5em 0 0 2em;">
|
||||||
|
<div class="heading">Notification that's part of the app's feature set</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-notif-attr.png">
|
||||||
|
</div>
|
||||||
<strong>Changes outside the app must be reversible</strong>—If an
|
<strong>Changes outside the app must be reversible</strong>—If an
|
||||||
ad makes changes outside the app as described above, the changes (and
|
ad makes changes outside the app as described above, the changes (and
|
||||||
origin app) must be evident and easily reversible. For example, the user
|
origin app) must be evident and easily reversible. For example, the user
|
||||||
@@ -154,51 +152,31 @@ page.title=Ads
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<strong>Notification ads require user opt-in</strong>—Your app
|
<strong>Notification ads are prohibited</strong>—Your app
|
||||||
should not create <a href=
|
should not create system-level <a href=
|
||||||
"{@docRoot}design/patterns/notifications.html">notifications</a>
|
"{@docRoot}design/patterns/notifications.html">notifications</a>
|
||||||
containing ads unless the user has specifically opted-in to this behavior
|
containing ads unless the notifications are part of the explicit
|
||||||
and is able to easily opt-out.
|
feature set of the app.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<strong>Use low priority for notification ads</strong>—Always
|
<strong>Don't add shortcuts, bookmarks, or icons</strong>—Your app
|
||||||
assign your notification ads <a href="
|
and its ads must not add homescreen shortcuts, browser bookmarks, or icons
|
||||||
{@docRoot}reference/android/app/Notification.html#PRIORITY_LOW">low
|
on the user's device as a service to third parties or for advertising
|
||||||
priority</a> (for API level 16 and above).
|
purposes.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="example-block bad" style="width:400px;margin:.5em 0 0 2em;">
|
|
||||||
<div class="heading">Does not fully indicate origin app</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-notif-attr-violation.png">
|
|
||||||
</div>
|
|
||||||
<div class="example-block good" style="width:400px;margin:.5em 0 0 2em;">
|
|
||||||
<div class="heading">Indicates origin app by name and icon</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-notif-attr.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
In particular, note that notification ads must clearly identify your app as
|
Above right is an example notification ad that violates ad policy by
|
||||||
the ad origin. If your app sends notification ads that do not sufficiently
|
providing ads through system level notification.
|
||||||
identify your app as the origin, the app will be in violation of policy.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
To identify your app as the origin, you should display the <strong>app's full
|
Below right, the notification ad complies with policy because the
|
||||||
name and and icon</strong> in the notification to provide the clearest
|
nature of the notification is part of the explicit feature set of the app,
|
||||||
identification and best policy compliance. Displaying a partial app name can
|
and it also provides attribution of the origin app.
|
||||||
also be sufficient, provided the name unambiguously identifies your app.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
|
||||||
Above right is an example notification ad that violates ad policy by not
|
|
||||||
providing attribution of the origin app. Below right, the notification ads
|
|
||||||
comply with policy by providing both the app icon and full app name (in this
|
|
||||||
case, "Turtle Test").
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<h2 id="disclosure" style="clear:right">Disclosure of Ads to Users</h2>
|
<h2 id="disclosure" style="clear:right">Disclosure of Ads to Users</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -218,6 +196,14 @@ page.title=Ads
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
<div class="example-block good" style="width:213px;margin-left:.5em;">
|
||||||
|
<div class="heading">Disclosure in Terms</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-terms.png">
|
||||||
|
</div>
|
||||||
|
<div class="example-block bad" style="width:213px;">
|
||||||
|
<div class="heading">Disclosure is hidden</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-eula-violation.png">
|
||||||
|
</div>
|
||||||
<strong>Make sure users know</strong>—Present your ads disclosure
|
<strong>Make sure users know</strong>—Present your ads disclosure
|
||||||
is an easy-to-see location, rather than hiding it where users are not
|
is an easy-to-see location, rather than hiding it where users are not
|
||||||
likely to find it.
|
likely to find it.
|
||||||
@@ -240,53 +226,40 @@ page.title=Ads
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If your app adds homescreen icons and/or browser bookmarks, an acceptable
|
|
||||||
practice for revealing that behavior is to provide a disclosure in both the
|
|
||||||
app description and an opt-in EULA on app launch. This ensures that the
|
|
||||||
behaviors are clearly explained to the user up-front and requires the user’s
|
|
||||||
consent in a pop-up EULA to continue using the app.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="example-block good" style="width:213px;margin-right:2em;">
|
|
||||||
<div class="heading">Disclosure in Terms</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-terms.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="example-block good" style="width:213px;">
|
|
||||||
<div class="heading">Disclosure in EULA</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-eula.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="example-block bad" style="width:213px;margin-left:0em;">
|
|
||||||
<div class="heading">Disclosure is hidden</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-eula-violation.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p style="clear:right">
|
|
||||||
Above left is an example of ads disclosure that is hidden in a long EULA. The
|
Above left is an example of ads disclosure that is hidden in a long EULA. The
|
||||||
disclosure information itself is not clearly indicated in the document text
|
disclosure information itself is not clearly indicated in the document text
|
||||||
and it's not visible unless the user happens to scroll down far enough in the
|
and it's not visible unless the user happens to scroll down far enough in the
|
||||||
EULA. Above middle and right show two alternative approaches that
|
EULA.
|
||||||
present the disclosure in an obvious and clear manner at the top of a
|
</p>
|
||||||
EULA and in a dedicated Terms agreement.
|
<p>
|
||||||
|
Above right shows an approach that presents the disclosure in an obvious
|
||||||
|
and clear manner in a EULA and a dedicated Terms agreement.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="impersonation">Impersonation of System UI</h2>
|
<h2 id="impersonation">Impersonation of System UI</h2>
|
||||||
|
|
||||||
<div class="example-block bad">
|
|
||||||
<div class="heading">Ad impersonates system dialog</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-impersonate-violation.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Your app must not display any ad that attempts to impersonate or represent a
|
Ads must not simulate or impersonate the user interface of any app, or
|
||||||
|
notification and warning elements of an operating system. Your app must not
|
||||||
|
display any ad that attempts to impersonate or represent a
|
||||||
system function or UI component. If such an ad is displayed in your app, your
|
system function or UI component. If such an ad is displayed in your app, your
|
||||||
app will be in violation of policy and subject to suspension. Here are some
|
app will be in violation of policy and subject to suspension. Here are some
|
||||||
guidelines:
|
guidelines:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>
|
||||||
|
<strong>No fake app UI notifications</strong>—Ads should not impersonate
|
||||||
|
the interface of an application for advertising purposes.
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>No fake system dialogs or warnings</strong>—Any ad that
|
<strong>No fake system dialogs or warnings</strong>—Any ad that
|
||||||
presents itself as a system dialog or warning and asks for user input is in
|
presents itself as a system dialog or warning and asks for user input is in
|
||||||
@@ -299,23 +272,26 @@ page.title=Ads
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<div class="example-block bad" style="width:213px;">
|
||||||
At right is an example of a pop-up ad impersonating a system dialog, warning
|
<div class="heading">Ad impersonates app UI</div>
|
||||||
the user about viruses. This is a violation of policy.
|
<img src="{@docRoot}images/gp-policy-ads-impersonate-violation-app-ui.png">
|
||||||
|
</div>
|
||||||
|
<div class="example-block bad" style="width:213px;">
|
||||||
|
<div class="heading">Ad impersonates system warning</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-impersonate-violation-sys-warning.png">
|
||||||
|
</div>
|
||||||
|
<div class="example-block bad" style="width:213px;">
|
||||||
|
<div class="heading">Ad impersonates system dialog</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-impersonate-violation.png">
|
||||||
|
</div>
|
||||||
|
<p style="clear:both">
|
||||||
|
Above are examples of impersonations — a pop-up ad that impersonates a
|
||||||
|
system dialog, an ad that impersonates a system warning, and an ad that impersonates
|
||||||
|
an application UI. All of these are in violation of policy.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="adwalls">Adwalls</h2>
|
<h2 id="adwalls">Adwalls and Interstitial Ads</h2>
|
||||||
|
|
||||||
<div class="example-block good" style="width:213px;">
|
|
||||||
<div class="heading">Adwall lets user cancel</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-paywall.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="example-block bad" style="width:213px;">
|
|
||||||
<div class="heading">Adwall forces user action</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-ads-paywall-violation.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
If your app uses adwalls to drive affiliate traffic, those adwalls must not
|
If your app uses adwalls to drive affiliate traffic, those adwalls must not
|
||||||
@@ -330,23 +306,45 @@ page.title=Ads
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
For this reason, <strong>all adwalls must give the user the option to
|
For this reason, <strong>all adwalls must give the user the option to
|
||||||
cancel</strong> or otherwise dismiss the ad without penalty.
|
cancel</strong> or otherwise dismiss the ad without penalty. Interstitial ads
|
||||||
|
may only be displayed inside of the app they came with. Forcing the user to
|
||||||
|
click on ads or submit personal information for advertising purposes in order
|
||||||
|
to fully use an app is prohibited.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<div class="example-block bad" style="width:213px;">
|
||||||
At right is an example of an app that requires the user to click through the
|
<div class="heading">Interstitial, modal ad</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-interstitial-violation.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="example-block good" style="width:213px;">
|
||||||
|
<div class="heading">Adwall lets user cancel</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-paywall.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="example-block bad" style="width:213px;">
|
||||||
|
<div class="heading">Adwall forces user action</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-ads-paywall-violation.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p style="clear:both">
|
||||||
|
At left is an example of an app that requires the user to click through the
|
||||||
ad to fully use the app. This is a violation of policy.
|
ad to fully use the app. This is a violation of policy.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The adjacent example demonstrates an adequate option to let the user dismiss
|
The center example demonstrates an adequate option to let the user dismiss
|
||||||
the ad wall easily by cancelling.
|
the ad wall easily by cancelling. This is not a violation of policy.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="interfering" style="clear:right;">Interference with Third-party Ads and Websites</h2>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Ads associated with your app <strong>must not interfere</strong> with any
|
At right is an example of an interstitial, modal ad that is displayed outside
|
||||||
other ads originating in other applications.
|
of the app. This is no a violation of policy.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 id="interfering" style="clear:right;">Interfering with Apps and Third-Party Ads</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Ads associated with your app <strong>must not interfere</strong> with other
|
||||||
|
apps or their ads.
|
||||||
</p>
|
</p>
|
||||||
@@ -251,6 +251,11 @@ page.title=Spam
|
|||||||
|
|
||||||
<h2 id="ratings">Spam in Ratings and Reviews</h2>
|
<h2 id="ratings">Spam in Ratings and Reviews</h2>
|
||||||
|
|
||||||
|
<div class="example-block bad" style="width:440px;">
|
||||||
|
<div class="heading">Inappropriate content in a review</div>
|
||||||
|
<img src="{@docRoot}images/gp-policy-spam-negreview.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Ratings and reviews are benchmarks of app quality and users depend on them to
|
Ratings and reviews are benchmarks of app quality and users depend on them to
|
||||||
be authentic and relevant. As an app developer, you should not attempt to
|
be authentic and relevant. As an app developer, you should not attempt to
|
||||||
@@ -276,12 +281,7 @@ page.title=Spam
|
|||||||
more information.
|
more information.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="example-block bad" style="width:440px;">
|
<div class="example-block bad" style="margin-top:3em;width:213px;">
|
||||||
<div class="heading">Inappropriate content in a review</div>
|
|
||||||
<img src="{@docRoot}images/gp-policy-spam-negreview.png">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="example-block bad" style="margin-top:3em;">
|
|
||||||
<div class="heading">Soliciting ratings</div>
|
<div class="heading">Soliciting ratings</div>
|
||||||
<img src="{@docRoot}images/gp-policy-spam-reqrating.png">
|
<img src="{@docRoot}images/gp-policy-spam-reqrating.png">
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 159 KiB |
BIN
docs/html/images/gp-policy-ads-impersonate-violation-app-ui.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 105 KiB |
BIN
docs/html/images/gp-policy-ads-interstitial-violation.png
Normal file
|
After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 61 KiB |