diff options
-rw-r--r-- | docs/html/google/gcm/adv.jd (renamed from docs/html/guide/google/gcm/adv.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/c2dm.jd (renamed from docs/html/guide/google/gcm/c2dm.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/allclasses-frame.html (renamed from docs/html/guide/google/gcm/client-javadoc/allclasses-frame.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/allclasses-noframe.html (renamed from docs/html/guide/google/gcm/client-javadoc/allclasses-noframe.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html (renamed from docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/constant-values.html (renamed from docs/html/guide/google/gcm/client-javadoc/constant-values.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/default.css (renamed from docs/html/guide/google/gcm/client-javadoc/default.css) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/deprecated-list.html (renamed from docs/html/guide/google/gcm/client-javadoc/deprecated-list.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/help-doc.html (renamed from docs/html/guide/google/gcm/client-javadoc/help-doc.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/index-all.html (renamed from docs/html/guide/google/gcm/client-javadoc/index-all.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/index.html (renamed from docs/html/guide/google/gcm/client-javadoc/index.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/overview-tree.html (renamed from docs/html/guide/google/gcm/client-javadoc/overview-tree.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/package-list (renamed from docs/html/guide/google/gcm/client-javadoc/package-list) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/resources/inherit.gif (renamed from docs/html/guide/google/gcm/client-javadoc/resources/inherit.gif) | bin | 57 -> 57 bytes | |||
-rw-r--r-- | docs/html/google/gcm/client-javadoc/stylesheet.css (renamed from docs/html/guide/google/gcm/client-javadoc/stylesheet.css) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/demo.jd (renamed from docs/html/guide/google/gcm/demo.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/gcm.jd (renamed from docs/html/guide/google/gcm/gcm.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/gs.jd (renamed from docs/html/guide/google/gcm/gs.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/index.jd (renamed from docs/html/guide/google/gcm/index.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/allclasses-frame.html (renamed from docs/html/guide/google/gcm/server-javadoc/allclasses-frame.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/allclasses-noframe.html (renamed from docs/html/guide/google/gcm/server-javadoc/allclasses-noframe.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html (renamed from docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/constant-values.html (renamed from docs/html/guide/google/gcm/server-javadoc/constant-values.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/default.css (renamed from docs/html/guide/google/gcm/server-javadoc/default.css) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/deprecated-list.html (renamed from docs/html/guide/google/gcm/server-javadoc/deprecated-list.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/help-doc.html (renamed from docs/html/guide/google/gcm/server-javadoc/help-doc.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/index-all.html (renamed from docs/html/guide/google/gcm/server-javadoc/index-all.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/index.html (renamed from docs/html/guide/google/gcm/server-javadoc/index.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/overview-tree.html (renamed from docs/html/guide/google/gcm/server-javadoc/overview-tree.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/package-list (renamed from docs/html/guide/google/gcm/server-javadoc/package-list) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/resources/inherit.gif (renamed from docs/html/guide/google/gcm/server-javadoc/resources/inherit.gif) | bin | 57 -> 57 bytes | |||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/serialized-form.html (renamed from docs/html/guide/google/gcm/server-javadoc/serialized-form.html) | 0 | ||||
-rw-r--r-- | docs/html/google/gcm/server-javadoc/stylesheet.css (renamed from docs/html/guide/google/gcm/server-javadoc/stylesheet.css) | 0 | ||||
-rw-r--r-- | docs/html/google/google_toc.cs | 149 | ||||
-rw-r--r-- | docs/html/google/index.jd | 86 | ||||
-rw-r--r-- | docs/html/google/play-services/analytics.jd | 56 | ||||
-rw-r--r-- | docs/html/google/play-services/auth.jd | 196 | ||||
-rw-r--r-- | docs/html/google/play-services/dist.jd | 56 | ||||
-rw-r--r-- | docs/html/google/play-services/download.jd | 140 | ||||
-rw-r--r-- | docs/html/google/play-services/index.jd | 76 | ||||
-rw-r--r-- | docs/html/google/play-services/maps.jd | 73 | ||||
-rw-r--r-- | docs/html/google/play-services/overview.jd | 49 | ||||
-rw-r--r-- | docs/html/google/play-services/plus.jd | 65 | ||||
-rw-r--r-- | docs/html/google/play-services/reference/packages.jd | 6 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_about.html (renamed from docs/html/guide/google/play/billing/billing_about.html) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_admin.jd (renamed from docs/html/guide/google/play/billing/billing_admin.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_best_practices.jd (renamed from docs/html/guide/google/play/billing/billing_best_practices.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_integrate.jd (renamed from docs/html/guide/google/play/billing/billing_integrate.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_overview.jd (renamed from docs/html/guide/google/play/billing/billing_overview.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_reference.jd (renamed from docs/html/guide/google/play/billing/billing_reference.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_subscriptions.jd (renamed from docs/html/guide/google/play/billing/billing_subscriptions.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_testing.jd (renamed from docs/html/guide/google/play/billing/billing_testing.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/billing/index.jd (renamed from docs/html/guide/google/play/billing/index.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/dist.jd | 52 | ||||
-rw-r--r-- | docs/html/google/play/expansion-files.jd (renamed from docs/html/guide/google/play/expansion-files.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/filters.jd (renamed from docs/html/guide/google/play/filters.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/licensing/adding-licensing.jd (renamed from docs/html/guide/google/play/licensing/adding-licensing.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/licensing/index.jd (renamed from docs/html/guide/google/play/licensing/index.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/licensing/licensing-reference.jd (renamed from docs/html/guide/google/play/licensing/licensing-reference.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/licensing/overview.jd (renamed from docs/html/guide/google/play/licensing/overview.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/licensing/setting-up.jd (renamed from docs/html/guide/google/play/licensing/setting-up.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/publishing/multiple-apks.jd (renamed from docs/html/guide/google/play/publishing/multiple-apks.jd) | 0 | ||||
-rw-r--r-- | docs/html/google/play/services.jd (renamed from docs/html/guide/google/play/services.jd) | 0 | ||||
-rw-r--r-- | docs/html/guide/google/index.jd | 134 | ||||
-rw-r--r-- | docs/html/guide/guide_toc.cs | 96 | ||||
-rw-r--r-- | docs/html/images/gps-analytics.png | bin | 0 -> 7276 bytes | |||
-rw-r--r-- | docs/html/images/gps-maps.png | bin | 0 -> 96526 bytes | |||
-rw-r--r-- | docs/html/images/gps-plus.png | bin | 0 -> 28391 bytes | |||
-rw-r--r-- | docs/html/images/gps-small.png | bin | 0 -> 13986 bytes | |||
-rw-r--r-- | docs/html/images/gps.png | bin | 0 -> 138100 bytes | |||
-rw-r--r-- | docs/html/images/play-services-diagram.graffle/data.plist | 1020 | ||||
-rw-r--r-- | docs/html/images/play-services-diagram.graffle/image3.png | bin | 0 -> 59774 bytes | |||
-rw-r--r-- | docs/html/images/play-services-diagram.graffle/image4.png | bin | 0 -> 4535 bytes | |||
-rw-r--r-- | docs/html/images/play-services-diagram.graffle/image5.pdf | bin | 0 -> 43222 bytes | |||
-rw-r--r-- | docs/html/images/play-services-diagram.graffle/image8.tiff | bin | 0 -> 22904 bytes | |||
-rw-r--r-- | docs/html/images/play-services-diagram.png | bin | 0 -> 35166 bytes |
91 files changed, 2024 insertions, 230 deletions
diff --git a/docs/html/guide/google/gcm/adv.jd b/docs/html/google/gcm/adv.jd index 1360624..1360624 100644 --- a/docs/html/guide/google/gcm/adv.jd +++ b/docs/html/google/gcm/adv.jd diff --git a/docs/html/guide/google/gcm/c2dm.jd b/docs/html/google/gcm/c2dm.jd index e80a41f..e80a41f 100644 --- a/docs/html/guide/google/gcm/c2dm.jd +++ b/docs/html/google/gcm/c2dm.jd diff --git a/docs/html/guide/google/gcm/client-javadoc/allclasses-frame.html b/docs/html/google/gcm/client-javadoc/allclasses-frame.html index e1bed36..e1bed36 100644 --- a/docs/html/guide/google/gcm/client-javadoc/allclasses-frame.html +++ b/docs/html/google/gcm/client-javadoc/allclasses-frame.html diff --git a/docs/html/guide/google/gcm/client-javadoc/allclasses-noframe.html b/docs/html/google/gcm/client-javadoc/allclasses-noframe.html index dc34021..dc34021 100644 --- a/docs/html/guide/google/gcm/client-javadoc/allclasses-noframe.html +++ b/docs/html/google/gcm/client-javadoc/allclasses-noframe.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html index ff15218..ff15218 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBaseIntentService.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html index ae80bf7..ae80bf7 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMBroadcastReceiver.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html index 205bcf0..205bcf0 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMConstants.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html index c29bf90..c29bf90 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/GCMRegistrar.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html index a2a599d..a2a599d 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-frame.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html index c8e0341..c8e0341 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-summary.html diff --git a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html index 0e27efe..0e27efe 100644 --- a/docs/html/guide/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html +++ b/docs/html/google/gcm/client-javadoc/com/google/android/gcm/package-tree.html diff --git a/docs/html/guide/google/gcm/client-javadoc/constant-values.html b/docs/html/google/gcm/client-javadoc/constant-values.html index 796d196..796d196 100644 --- a/docs/html/guide/google/gcm/client-javadoc/constant-values.html +++ b/docs/html/google/gcm/client-javadoc/constant-values.html diff --git a/docs/html/guide/google/gcm/client-javadoc/default.css b/docs/html/google/gcm/client-javadoc/default.css index f11daf7..f11daf7 100644 --- a/docs/html/guide/google/gcm/client-javadoc/default.css +++ b/docs/html/google/gcm/client-javadoc/default.css diff --git a/docs/html/guide/google/gcm/client-javadoc/deprecated-list.html b/docs/html/google/gcm/client-javadoc/deprecated-list.html index d9a63c5..d9a63c5 100644 --- a/docs/html/guide/google/gcm/client-javadoc/deprecated-list.html +++ b/docs/html/google/gcm/client-javadoc/deprecated-list.html diff --git a/docs/html/guide/google/gcm/client-javadoc/help-doc.html b/docs/html/google/gcm/client-javadoc/help-doc.html index af1bca8..af1bca8 100644 --- a/docs/html/guide/google/gcm/client-javadoc/help-doc.html +++ b/docs/html/google/gcm/client-javadoc/help-doc.html diff --git a/docs/html/guide/google/gcm/client-javadoc/index-all.html b/docs/html/google/gcm/client-javadoc/index-all.html index 408edee..408edee 100644 --- a/docs/html/guide/google/gcm/client-javadoc/index-all.html +++ b/docs/html/google/gcm/client-javadoc/index-all.html diff --git a/docs/html/guide/google/gcm/client-javadoc/index.html b/docs/html/google/gcm/client-javadoc/index.html index fa7af90..fa7af90 100644 --- a/docs/html/guide/google/gcm/client-javadoc/index.html +++ b/docs/html/google/gcm/client-javadoc/index.html diff --git a/docs/html/guide/google/gcm/client-javadoc/overview-tree.html b/docs/html/google/gcm/client-javadoc/overview-tree.html index 392f3e0..392f3e0 100644 --- a/docs/html/guide/google/gcm/client-javadoc/overview-tree.html +++ b/docs/html/google/gcm/client-javadoc/overview-tree.html diff --git a/docs/html/guide/google/gcm/client-javadoc/package-list b/docs/html/google/gcm/client-javadoc/package-list index 149691e..149691e 100644 --- a/docs/html/guide/google/gcm/client-javadoc/package-list +++ b/docs/html/google/gcm/client-javadoc/package-list diff --git a/docs/html/guide/google/gcm/client-javadoc/resources/inherit.gif b/docs/html/google/gcm/client-javadoc/resources/inherit.gif Binary files differindex c814867..c814867 100644 --- a/docs/html/guide/google/gcm/client-javadoc/resources/inherit.gif +++ b/docs/html/google/gcm/client-javadoc/resources/inherit.gif diff --git a/docs/html/guide/google/gcm/client-javadoc/stylesheet.css b/docs/html/google/gcm/client-javadoc/stylesheet.css index 6ea9e51..6ea9e51 100644 --- a/docs/html/guide/google/gcm/client-javadoc/stylesheet.css +++ b/docs/html/google/gcm/client-javadoc/stylesheet.css diff --git a/docs/html/guide/google/gcm/demo.jd b/docs/html/google/gcm/demo.jd index 7e35fd6..7e35fd6 100644 --- a/docs/html/guide/google/gcm/demo.jd +++ b/docs/html/google/gcm/demo.jd diff --git a/docs/html/guide/google/gcm/gcm.jd b/docs/html/google/gcm/gcm.jd index 1762e12..1762e12 100644 --- a/docs/html/guide/google/gcm/gcm.jd +++ b/docs/html/google/gcm/gcm.jd diff --git a/docs/html/guide/google/gcm/gs.jd b/docs/html/google/gcm/gs.jd index fc5c4a2..fc5c4a2 100644 --- a/docs/html/guide/google/gcm/gs.jd +++ b/docs/html/google/gcm/gs.jd diff --git a/docs/html/guide/google/gcm/index.jd b/docs/html/google/gcm/index.jd index 8079eba..8079eba 100644 --- a/docs/html/guide/google/gcm/index.jd +++ b/docs/html/google/gcm/index.jd diff --git a/docs/html/guide/google/gcm/server-javadoc/allclasses-frame.html b/docs/html/google/gcm/server-javadoc/allclasses-frame.html index 80ee784..80ee784 100644 --- a/docs/html/guide/google/gcm/server-javadoc/allclasses-frame.html +++ b/docs/html/google/gcm/server-javadoc/allclasses-frame.html diff --git a/docs/html/guide/google/gcm/server-javadoc/allclasses-noframe.html b/docs/html/google/gcm/server-javadoc/allclasses-noframe.html index 966598d..966598d 100644 --- a/docs/html/guide/google/gcm/server-javadoc/allclasses-noframe.html +++ b/docs/html/google/gcm/server-javadoc/allclasses-noframe.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html index 515bba4..515bba4 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Constants.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html index bb0974c..bb0974c 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/InvalidRequestException.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html index c2ee648..c2ee648 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html index 5dbd262..5dbd262 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html index 0721488..0721488 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/MulticastResult.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html index a4aad29..a4aad29 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Result.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html index fabda98..fabda98 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html index 1bc4fd9..1bc4fd9 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-frame.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html index de791c7..de791c7 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-summary.html diff --git a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html index d509312..d509312 100644 --- a/docs/html/guide/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html +++ b/docs/html/google/gcm/server-javadoc/com/google/android/gcm/server/package-tree.html diff --git a/docs/html/guide/google/gcm/server-javadoc/constant-values.html b/docs/html/google/gcm/server-javadoc/constant-values.html index 68db1cb..68db1cb 100644 --- a/docs/html/guide/google/gcm/server-javadoc/constant-values.html +++ b/docs/html/google/gcm/server-javadoc/constant-values.html diff --git a/docs/html/guide/google/gcm/server-javadoc/default.css b/docs/html/google/gcm/server-javadoc/default.css index 7c395c7..7c395c7 100644 --- a/docs/html/guide/google/gcm/server-javadoc/default.css +++ b/docs/html/google/gcm/server-javadoc/default.css diff --git a/docs/html/guide/google/gcm/server-javadoc/deprecated-list.html b/docs/html/google/gcm/server-javadoc/deprecated-list.html index 04b9aa5..04b9aa5 100644 --- a/docs/html/guide/google/gcm/server-javadoc/deprecated-list.html +++ b/docs/html/google/gcm/server-javadoc/deprecated-list.html diff --git a/docs/html/guide/google/gcm/server-javadoc/help-doc.html b/docs/html/google/gcm/server-javadoc/help-doc.html index c479cff..c479cff 100644 --- a/docs/html/guide/google/gcm/server-javadoc/help-doc.html +++ b/docs/html/google/gcm/server-javadoc/help-doc.html diff --git a/docs/html/guide/google/gcm/server-javadoc/index-all.html b/docs/html/google/gcm/server-javadoc/index-all.html index 97aa300..97aa300 100644 --- a/docs/html/guide/google/gcm/server-javadoc/index-all.html +++ b/docs/html/google/gcm/server-javadoc/index-all.html diff --git a/docs/html/guide/google/gcm/server-javadoc/index.html b/docs/html/google/gcm/server-javadoc/index.html index d3c3821..d3c3821 100644 --- a/docs/html/guide/google/gcm/server-javadoc/index.html +++ b/docs/html/google/gcm/server-javadoc/index.html diff --git a/docs/html/guide/google/gcm/server-javadoc/overview-tree.html b/docs/html/google/gcm/server-javadoc/overview-tree.html index c9afea6..c9afea6 100644 --- a/docs/html/guide/google/gcm/server-javadoc/overview-tree.html +++ b/docs/html/google/gcm/server-javadoc/overview-tree.html diff --git a/docs/html/guide/google/gcm/server-javadoc/package-list b/docs/html/google/gcm/server-javadoc/package-list index 5955cc0..5955cc0 100644 --- a/docs/html/guide/google/gcm/server-javadoc/package-list +++ b/docs/html/google/gcm/server-javadoc/package-list diff --git a/docs/html/guide/google/gcm/server-javadoc/resources/inherit.gif b/docs/html/google/gcm/server-javadoc/resources/inherit.gif Binary files differindex c814867..c814867 100644 --- a/docs/html/guide/google/gcm/server-javadoc/resources/inherit.gif +++ b/docs/html/google/gcm/server-javadoc/resources/inherit.gif diff --git a/docs/html/guide/google/gcm/server-javadoc/serialized-form.html b/docs/html/google/gcm/server-javadoc/serialized-form.html index ab99e41..ab99e41 100644 --- a/docs/html/guide/google/gcm/server-javadoc/serialized-form.html +++ b/docs/html/google/gcm/server-javadoc/serialized-form.html diff --git a/docs/html/guide/google/gcm/server-javadoc/stylesheet.css b/docs/html/google/gcm/server-javadoc/stylesheet.css index 6ea9e51..6ea9e51 100644 --- a/docs/html/guide/google/gcm/server-javadoc/stylesheet.css +++ b/docs/html/google/gcm/server-javadoc/stylesheet.css diff --git a/docs/html/google/google_toc.cs b/docs/html/google/google_toc.cs new file mode 100644 index 0000000..d371fa1 --- /dev/null +++ b/docs/html/google/google_toc.cs @@ -0,0 +1,149 @@ +<?cs # Table of contents for Dev Guide. + + For each document available in translation, add an localized title to this TOC. + Do not add localized title for docs not available in translation. + Below are template spans for adding localized doc titles. Please ensure that + localized titles are added in the language order specified below. +?> + +<ul id="nav"> + <li class="nav-section"> + <div class="nav-section-header empty"><a href="<?cs var:toroot ?>google/index.html"> + <span class="en">Overview</span> + </a></div> + </li> + + <li class="nav-section"> + <div class="nav-section-header"><a href="<?cs var:toroot ?>google/play-services/index.html"> + <span class="en">Google Play services</span></a> + </div> + <ul> + <li><a href="<?cs var:toroot?>google/play-services/overview.html"> + <span class="en">Overview</span></a> + </li> + + <li><a href="<?cs var:toroot?>google/play-services/download.html"> + <span class="en">Downloading and Configuring</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play-services/auth.html"> + <span class="en">Authentication</span></a> + </li> + + <li><a href="<?cs var:toroot?>google/play-services/analytics.html"> + <span class="en">Analytics</span></a> + </li> + + <li><a href="<?cs var:toroot?>google/play-services/plus.html"> + <span class="en">Google+</span></a> + </li> + + <li><a href="<?cs var:toroot?>google/play-services/maps.html"> + <span class="en">Maps</span></a> + </li> + + <li id="tree-list"> + <a href="<?cs var:toroot?>google/play-services/reference/packages.html"> + <span class="en">Reference</span></a> + </li> + </ul> + </li> + + <li class="nav-section"> + <div class="nav-section-header"><a href="<?cs var:toroot ?>google/play/billing/index.html"> + <span class="en">Google Play <br />In-app Billing</span></a> + </div> + <ul> + <li><a href="<?cs var:toroot?>google/play/billing/billing_overview.html"> + <span class="en">In-app Billing Overview</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/billing/billing_integrate.html"> + <span class="en">Implementing In-app Billing</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/billing/billing_subscriptions.html"> + <span class="en">Subscriptions</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/billing/billing_best_practices.html"> + <span class="en">Security and Design</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/billing/billing_testing.html"> + <span class="en">Testing <br/>In-app Billing</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/billing/billing_admin.html"> + <span class="en">Administering In-app Billing</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/billing/billing_reference.html"> + <span class="en">In-app Billing Reference</span></a> + </li> + </ul> + </li> + + <li class="nav-section"> + <div class="nav-section-header"><a href="<?cs var:toroot ?>google/play/dist.html"> + <span class="en">Google Play Distribution and Licensing</span></a> + </div> + <ul> + <li><a href="<?cs var:toroot ?>google/play/filters.html"> + <span class="en">Filters on Google Play</span></a> + </li> + + <li><a href="<?cs var:toroot ?>google/play/publishing/multiple-apks.html"> + <span class="en">Multiple APK Support</span></a> + </li> + + <li><a href="<?cs var:toroot ?>google/play/expansion-files.html"> + <span class="en">APK Expansion Files</span></a> + </li> + + <li class="nav-section"> + <div class="nav-section-header"><a href="<?cs var:toroot ?>google/play/licensing/index.html"> + <span class="en">Application Licensing</span></a> + </div> + <ul> + <li><a href="<?cs var:toroot?>google/play/licensing/overview.html"> + <span class="en">Licensing Overview</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/licensing/setting-up.html"> + <span class="en">Setting Up for Licensing</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/licensing/adding-licensing.html"> + <span class="en">Adding Licensing to Your App</span></a> + </li> + <li><a href="<?cs var:toroot?>google/play/licensing/licensing-reference.html"> + <span class="en">Licensing Reference</span></a> + </li> + </ul> + </li> + </ul> + + + <li class="nav-section"> + <div class="nav-section-header"><a href="<?cs var:toroot ?>google/gcm/index.html"> + <span class="en">Google Cloud Messaging</span></a> + </div> + <ul> + <li><a href="<?cs var:toroot?>google/gcm/gs.html"> + <span class="en">Getting Started</span></a> + </li> + <li><a href="<?cs var:toroot?>google/gcm/gcm.html"> + <span class="en">Architectural Overview</span></a> + </li> + <li><a href="<?cs var:toroot?>google/gcm/demo.html"> + <span class="en">Demo App Tutorial</span></a> + </li> + <li><a href="<?cs var:toroot?>google/gcm/adv.html"> + <span class="en">Advanced Topics</span></a> + </li> + <li><a href="<?cs var:toroot?>google/gcm/c2dm.html"> + <span class="en">Migration</span></a> + </li> + </ul> + </li> +</ul> + +<script type="text/javascript"> +<!-- + buildToggleLists(); + changeNavLang(getLangPref()); +//--> +</script> + diff --git a/docs/html/google/index.jd b/docs/html/google/index.jd new file mode 100644 index 0000000..ab2c58c --- /dev/null +++ b/docs/html/google/index.jd @@ -0,0 +1,86 @@ +page.title=Google Services +@jd:body + +<p> + Google offers a variety of services that help you build new revenue streams, enhance your app's + capabilities, manage distribution and payloads, and track usage and installs. + The sections below highlight some of the services offered by Google and link you to more information about + how to use them in your Android app. +</p> + <h2> + Integrate Google Products + </h2> + <img src="{@docRoot}images/gps-small.png" style="float:left; padding-right:10px"> + <p>Utilize the most up-to-date features of Google products in your app + without worrying the Android versions running on your users' devices. Users receive updates to Google Play + services through the Google Play store whenever available, ensuring + that exciting, new features of your app reach the most devices possible. + All of this comes with an easy-to-use authentication flow for you and your users. + </p><a href="{@docRoot}guide/google/play-services/index.html">Learn more »</a> + +<div class="vspace size-1"> + +</div> + +<h2 id="monetization"> + Monetize Your App +</h2> +<p> + Make the most out of your app's revenue potential by using monetization policies targeted + at your users' needs. +</p> + +<div class="vspace size-1"> + +</div> + +<div class="layout-content-row"> + <div class="layout-content-col span-6"> + <h4> + Google Play In-App Billing + </h4> + <p> + Engage users by offering features such as new content or virtual goods directly in your app. + </p><a href="{@docRoot}guide/google/play/billing/index.html">Learn more »</a> + </div> + + <div class="layout-content-col span-6"> + <h4> + Google AdMob Ads + </h4> + <p> + Generate revenue by displaying ads in your app with multiple ad networks. + </p><a href="http://www.google.com/ads/admob/index.html">Learn more »</a> + </div> +</div> + + + +<h2 id="gcm"> + Receive Messages from the Cloud +</h2> + <img src="/images/gcm/gcm-logo.png" width="150px" style="padding:9px; float:left"> + + <p>Use Google Cloud Messaging to notify your apps of important events with + that are lightweight and battery-saving. There are no quotas or charges + to use Google Cloud Messaging, no matter how big your messaging needs are.</p> + + <a href="{@docRoot}guide/google/gcm/index.html">Learn more »</a> + +<div class="vspace size-1"> + +</div> + + +<h2 id="distribution"> + Manage App Distribution and Licensing +</h2> +<p> + Google Play allows you to manage your app distribution with features such as app licensing + and device filtering. Take advantage of features that let you reach the right users with + the right content while protecting your app from unauthorized use. +</p> + + <a href="{@docRoot}guide/google/play/dist.html">Learn more »</a> +</div> + diff --git a/docs/html/google/play-services/analytics.jd b/docs/html/google/play-services/analytics.jd new file mode 100644 index 0000000..df93cbe --- /dev/null +++ b/docs/html/google/play-services/analytics.jd @@ -0,0 +1,56 @@ +page.title=Google Analytics +page.landing=true +page.landing.intro=The Google Analytics Platform lets you measure user interactions with your business across various devices and environments. The platform provides all the computing resources to collect, store, process, and report on these user-interactions. +page.landing.link=https://developers.google.com/analytics/devguides/collection/android/v2/ +page.landing.link.text=developers.google.com/analytics +page.landing.image=images/gps-analytics.png + +@jd:body + +<div class="landing-docs"> + <div class="col-6"> + <h3 style="clear:left">Key Developer Features</h3> + + <a href="https://developers.google.com/analytics/devguides/collection/android/v2/campaigns"> + <h4>Discover user geography and habits</h4> + Discover where your users are coming from and how they are accessing your app, + from the moment they download your app from the Google Play Store.</a> + + <a href="https://developers.google.com/analytics/devguides/collection/android/v2/ecommerce"> + <h4>Track monetization performance</h4> + Monitor the success of mobile marketing campaigns by taking advantage of the end-to-end visibility + into the performance of your in-app purchases and transactions. + </a> + + <a href="https://developers.google.com/analytics/devguides/collection/android/v2/screens"> + <h4>Monitor app usage</h4> + Record data about the screens your users are viewing in your app and gain insight + on what features they use most. All of this information can help you pinpoint specific + markets and enhance features to make your app the best it can be. + </a> + + </div> + + <div class="col-6 normal-links"> + <h3 style="clear:left">Getting Started</h3> + <h4>Get the Google Play services SDK</h4> + <p>The Google Analytics Android APIs are part of the Google Play services platform.</p> + <p><a href="{@docRoot}google/play-services/download.html">Download and configure</a> + the SDK to begin integrating Google Analytics into your app. + </p> + + <h4>Visit the Google Analytics developer site</h4> + <p>For instructions on how to fully integrate Google+ into your app, with code snippets, visit the + <a href="https://developers.google.com/analytics/devguides/collection/android/v2/">Google + Analytics developer documentation</a> located at developers.google.com. + </p> + + <h4>See the reference documentation</h4> + <p> + The <a href="{@docRoot}google/play-services/reference/com/google/android/gms/analytics/package-summary.html">Google + Analytics API reference</a> as well as the entire <a href="{@docRoot}google/play-services/reference/packages.html">Google + Play services platform reference</a> is provided for you on this site. + </p> + + </div> +</div>
\ No newline at end of file diff --git a/docs/html/google/play-services/auth.jd b/docs/html/google/play-services/auth.jd new file mode 100644 index 0000000..8787ec9 --- /dev/null +++ b/docs/html/google/play-services/auth.jd @@ -0,0 +1,196 @@ +page.title=Authentication +@jd:body + +<div id="qv-wrapper"> + <div id="qv"> + <h2>In this document</h2> + <ol> + <li><a href="#choose">Choosing an account</a></li> + <li><a href="#obtain">Obtaining an authorization token</a></li> + <li><a href="#handle">Handling exceptions</a></li> + <li><a href="#use">Using the token</a></li> + </ol> + </div> +</div> + +<p> + Google Play services offers a standard authentication flow for all Google APIs and + all components of Google Play services. In addition, you can leverage the authentication + portion of the Google Play services SDK to authenticate to services that are not yet supported + in the Google Play services platform by using the authentication token to manually make API + requests or using a client library provided by the service provider. +</p> + +<p>For implementation details, see the sample in <code><android-sdk>/extras/google-play-services/samples/auth</code>, which shows you how +to carry out these basic steps for obtaining an authentication token.</p> + +<h2 id="choose">Choosing an Account</h2> +<p> + Google Play services leverage existing accounts on an Android-powered device + to authenticate to the services that you want to use. To obtain an authorization token, + a valid Google account is required and it must exist on the device. You can ask your users which + account they want to use by enumerating the Google accounts on the device or using the + built-in +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/AccountPicker.html">AccountPicker</a> + class to display a standard account picker view. You'll need the + {@link android.Manifest.permission#GET_ACCOUNTS} + permission set in your manifest file for both methods. +</p> +<p> + For example, here's how to gather all of the Google accounts on a device and return them + in an array. When obtaining an authorization token, only the email address of the account is + needed, so that is what the array stores: +</p> + +<pre> +private String[] getAccountNames() { + mAccountManager = AccountManager.get(this); + Account[] accounts = mAccountManager.getAccountsByType( + GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE); + String[] names = new String[accounts.length]; + for (int i = 0; i < names.length; i++) { + names[i] = accounts[i].name; + } + return names; +} +</pre> +<h2 id="obtain">Obtaining an Authorization Token</h2> +<p> + With an email address, you can now obtain an authorization token. There are two general + ways to get a token:</p> + + <ul> + <li>Call one of the two overloaded <a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context, java.lang.String, java.lang.String)">GoogleAuthUtil.getToken()</a> methods in a foreground activity where you can + display a dialog to the user to interactively handle authentication errors.</li> + <li>Call one of the three <a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getTokenWithNotification(android.content.Context, java.lang.String, java.lang.String, android.os.Bundle)">getTokenWithNotification()</a> + methods if you are authenticating in a background service or sync adapter so that a notification is displayed if an authentication + error occurs.</a></li> + </ul> + + <h3>Using getToken()</h3> + The following code snippet obtains an authentication token with an email address, the scope that you want to use for the service, and a {@link android.content.Context}: +<pre> +HelloActivity mActivity; +String mEmail; +String mScope; +String token; + +... + +try { + token = GoogleAuthUtil.getToken(mActivity, mEmail, mScope); +} catch { + ... +} +</pre> + +<p>Call this method off of the main UI thread since it executes network transactions. An easy way to do this + is in an <a href="http://developer.android.com/reference/android/os/AsyncTask.html">AsyncTask</a>. + The sample in the Google Play services SDK shows you how to wrap this call in an AsyncTask. + If authentication is successful, the token is returned. If not, the exceptions described in <a href="#handle">Handling Exceptions</a> + are thrown that you can catch and handle appropriately. +</p> + + <h3>Using getTokenWithNotification()</h3> + <p>If you are obtaining authentication tokens in a background service or sync adapter, there are three overloaded <code>getTokenWithNotification()</code> methods + that you can use:</p> + <ul> + <li><a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getTokenWithNotification(android.content.Context, java.lang.String, java.lang.String, android.os.Bundle)">getTokenWithNotification(Context context, String accountName, String scope, Bundle extras)</a>: + For background services. Displays a notification to the user when authentication errors occur.</li> + <li><a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getTokenWithNotification(android.content.Context, java.lang.String, java.lang.String, android.os.Bundle, android.content.Intent)">getTokenWithNotification(Context context, String accountName, String scope, Bundle extras, Intent callback)</a>: + This method is for use in background services. It displays a notification to the user when authentication errors occur. If a user clicks the notification and then authorizes the app to access the account, the intent is broadcasted. When using this method: + <ul> + <li>Create a {@link android.content.BroadcastReceiver} that registers the intent and handles it appropriately</li> + <li>In the app's manifest file, set the <code>android:exported</code> attribute to <code>true</code> for the broadcast receiver</li> + <li>Ensure that the intent is serializable using the {@link android.content.Intent#toUri toUri(Intent.URI_INTENT_SCHEME)} and + {@link android.content.Intent#parseUri parseUri(intentUri, Intent.URI_INTENT_SCHEME)} methods.</li> + </ul> + <li><a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getTokenWithNotification(android.content.Context, java.lang.String, java.lang.String, android.os.Bundle, java.lang.String, android.os.Bundle)">getTokenWithNotification(Context context, String accountName, String scope, Bundle extras, String authority, Bundle syncBundle)</a>: This method is for use in sync adapters. It displays a notification to the user when authentication errors occur. If a user clicks the notification and then authorizes the app to access the account, the sync adapter retries syncing with the information + contained in the <code>syncBundle</code> parameter.</li> + </ul> + + <p>See the sample in <code><android-sdk>/extras/google-play-services/samples/auth</code> for implementation details.</p> + +<h2 id="handle">Handling Exceptions</h2> +<p> + When requesting an authentication token with + <a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context, java.lang.String, java.lang.String)">GoogleAuthUtil.getToken()</a>, + the following exceptions can be thrown: +</p> +<ul> + <li> +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/UserRecoverableAuthException.html">UserRecoverableAuthException</a>: + This exception is thrown when an error occurs that users can resolve, such as not yet granting access to their accounts or if they changed their password. + This exception class contains a {@link android.app.Activity#getIntent getIntent()} + method that you can call to obtain an intent that you can use with +{@link android.app.Activity#startActivityForResult startActivityForResult()} + to obtain the user's resolution. You will need to handle the +{@link android.app.Activity#onActivityResult onActivityResult()} + callback when this activity returns to take action based on the user's actions. + </li> + <li> +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GooglePlayServicesAvailabilityException.html">GooglePlayServicesAvailabilityException</a>: + This exception is a special case of <a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/UserRecoverableAuthException.html">UserRecoverableAuthException</a> + and occurs when the actual Google Play services APK is not installed or unavailable. + This exception provides additional client support to + handle and fix this issue by providing an error code that describes the exact cause of the problem. + This exception also contains an intent that you can obtain and use to start + an activity to resolve the issue. + </li> + <li> +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthException.html">GoogleAuthException</a>: + This exception is thrown when the authorization fails, such as when an invalid scope is + specified or if the email address used to authenticate is actually not on the user's + device. + </li> + <li> +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/UserRecoverableNotifiedException.html">UserRecoverableNotifiedException</a>: + This exception is thrown when the authorization fails using one of the <code>getTokenWithNotification()</code> methods and if the error + is recoverable with a user action. + </li> +</ul> +<p> + For more information on how to handle these exceptions and code snippets, see the reference + documentation for the +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html">GoogleAuthUtil</a> + class. +</p> +<h2 id="use">Using the Token</h2> +<p> + Once you have successfully obtained a token, you can use it to access Google services. + Many Google services provide client libraries, so it is recommended that you use these when + possible, but you can make raw HTTP requests as well with the token. The following example + shows you how to do this and handle HTTP error and success responses accordingly: +</p> + +<pre> +URL url = new URL("https://www.googleapis.com/oauth2/v1/userinfo?access_token=" + + token); +HttpURLConnection con = (HttpURLConnection) url.openConnection(); +int serverCode = con.getResponseCode(); +//successful query +if (serverCode == 200) { + InputStream is = con.getInputStream(); + String name = getFirstName(readResponse(is)); + mActivity.show("Hello " + name + "!"); + is.close(); + return; +//bad token, invalidate and get a new one +} else if (serverCode == 401) { + GoogleAuthUtil.invalidateToken(mActivity, token); + onError("Server auth error, please try again.", null); + Log.e(TAG, "Server auth error: " + readResponse(con.getErrorStream())); + return; +//unknown error, do something else +} else { + Log.e("Server returned the following error code: " + serverCode, null); + return; +} +</pre> + +<p> + Notice that you must manually invalidate the token if the response from the server + signifies an authentication error (401). This could mean the authentication token + being used is invalid for the service's scope or the token may have expired. If this is the + case, obtain a new token using <a href="{@docRoot}google/play-services/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context, java.lang.String, java.lang.String)">GoogleAuthUtil.getToken()</a>. +</p>
\ No newline at end of file diff --git a/docs/html/google/play-services/dist.jd b/docs/html/google/play-services/dist.jd new file mode 100644 index 0000000..85a64f9 --- /dev/null +++ b/docs/html/google/play-services/dist.jd @@ -0,0 +1,56 @@ +page.title=Google Play Distribution and Licensing +@jd:body + + +<h2 id="distribution"> + Manage App Distribution and Licensing +</h2> +<p> + Google Play allows you to manage your app distribution with features that let you control which users + can download your app as well as deliver separate versions of your app based on certain + characteristics like platform version. +</p> +<div class="vspace size-1"> + +</div> +<div class="layout-content-row"> + <div class="layout-content-col span-6"> + <h4> + Device Filtering + </h4> + <p> + Make sure your app gets to the right users by filtering on a wide range of characteristics + such as platform versions and hardware features. + </p><p><a href="{@docRoot}guide/google/play/filters.html">Learn more »</a></p> + </div> + + <div class="layout-content-col span-6"> + <h4> + Multiple APK Support + </h4> + <p> + Distribute different APKs based on a variety of properties such as platform version, screen + size, and GLES texture compression support. + </p><p><a href="{@docRoot}guide/google/play/publishing/multiple-apks.html">Learn more »</a></p> + </div> + +<div class="layout-content-row"> + <div class="layout-content-col span-6"> + <h4> + APK Expansion files + </h4> + <p> + Tap into Google's content delivery services by serving up to 4GB of assets for free. Provide + users with high-fidelity graphics, media files, or other large assets that are required by + your app. + </p><a href="{@docRoot}guide/google/play/expansion-files.html">Learn more »</a> + </div> + + <div class="layout-content-col span-6"> + <h4> + Application Licensing + </h4> + <p>Protect your revenue streams and integrate policies for usage into your app. + </p><a href="{@docRoot}guide/google/play/licensing/index.html">Learn more »</a> + </div> +</div>
\ No newline at end of file diff --git a/docs/html/google/play-services/download.jd b/docs/html/google/play-services/download.jd new file mode 100644 index 0000000..fb03035 --- /dev/null +++ b/docs/html/google/play-services/download.jd @@ -0,0 +1,140 @@ +page.title=Downloading and Configuring the Google Play services SDK +@jd:body + +<div id="qv-wrapper"> + <div id="qv"> + <h2>In this document</h2> + <ol> + <li><a href="#ensure">Ensuring Devices Have the Google Play services APK</a></li> + </ol> + </div> +</div> + + +<p> + The Google Play services SDK is an extension to the Android SDK and is available to you as a + downloadable SDK component. This download includes the client library and code samples. +</p> + +<p> + Before you get started developing, make sure that you have an updated version of the Android SDK + installed on your computer, including the SDK Tools component. If you don't have the SDK, + visit the <a href="{@docRoot}sdk/index.html">SDK Download page</a> + on the Android Developers site. +</p> + +<p> + To download and configure the Google Play services SDK: +</p> + +<ol> + <li> + Launch Eclipse and select <b>Window > Android SDK Manager</b> or run <code>android</code> + at the command line. + </li> + <li> + Scroll to the bottom of the package list and select <b>Extras > Google Play services</b>. + The add-on is downloaded to your computer and installed in your SDK environment at + <code><android-sdk-folder>/extras/google/google_play_services/</code>. + </li> + <li> + Reference the Google Play services client library project located in + <code><android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib</code> as + a library project for your Android project. See the + <a href="{@docRoot}tools/projects/projects-eclipse.html#ReferencingLibraryProject">Referencing a Library Project for Eclipse</a> + or <a href="{@docRoot}tools/projects/projects-cmdline.html#ReferencingLibraryProject">Referencing a Library Project on the Command Line</a> + for more information on how to do this. + </li> + <li>If you are using <a href="{@docRoot}tools/help/proguard.html">ProGuard</a>, add the following + lines in the <code><project_directory>/proguard-project.txt</code> file: + to prevent ProGuard from stripping away required classes: +<pre> +-keep class * extends java.util.ListResourceBundle { + protected Object[][] getContents(); +} +</pre> +</ol> + +<h2 id="ensure">Ensuring Devices Have the Google Play services APK</h2> +<p> + Google Play delivers updates to the majority of the devices that support Google Play services + (Android 2.2 devices with the Google Play Store app installed). However, updates might not reach + supported devices in a timely manner, which are desribed in the following four scenarios: +<p class="note"> +<strong>Important:</strong> +<span> + Because it is hard to anticipate the state devices are in, you must <em>always</em> check for a + compatible Google Play services APK in your app when you are accessing Google Play services + features. For many apps, this is each time in the + {@link android.app.Activity#onResume onResume()} method of the main activity. +</span> +</p> +<ol> + <li> + A recent version of the Google Play Store app is installed, and the most recent Google Play + services APK has been downloaded. + </li> + <li> + A recent version of the Google Play Store app is installed, but the most recent Google Play + services APK has <em>not</em> been downloaded. + </li> + <li> + An old version of the Google Play Store app, which does not proactively download Google Play + services updates, is present. + </li> + <li> + The Google Play services APK is missing or disabled on the device, which might happen if the + user explicitly uninstalls or disables it. + </li> +</ol> +<p> + Case 1 is the success scenario and is the most common. However, because the other scenarios can + still happen, you must handle them every time your app connects to a Google Play service to + ensure that the Google Play services APK is present, up-to-date, and enabled. +</p> +<p> + To help you, the Google Play services client library has utility methods to assist in + determining whether or not the Google Play services APK is recent enough to support the + version of the client library that you are using. If not, the client library sends users to the + Google Play Store to download a recent version of the Google Play services APK. +</p> + +<p class="note"> +<b>Note:</b> +<span> + The Google Play services APK is not visible by searching the Google Play Store. The client + library provides a deep link into the Google Play Store when it detects that the device has a + missing or incompatible Google Play services APK. +</span> +</p> + +<p> + It is up to you choose the appropriate place in your app to do the following steps to check for + a valid Google Play services APK. For example, if Google Play services is required for your app, + you might want to do it when your app first launches. On the other hand, if Google Play services + is an optional part of your app, you can do these checks if the user navigates to that portion + of your app: +</p> + +<ol> + <li> + Query for the status of Google Play services on the device with the +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#isGooglePlayServicesAvailable(android.content.Context)">isGooglePlayServicesAvailable()</a> + method, which returns a result code. + </li> + <li> + If the result code is +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/ConnectionResult.html#SUCCESS">SUCCESS</a>, + then the Google Play services APK is up-to-date, and you can proceed as normal. + </li> + <li> + If the result is +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/ConnectionResult.html#SERVICE_MISSING">SERVICE_MISSING</a>, +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/ConnectionResult.html#SERVICE_VERSION_UPDATE_REQUIRED">SERVICE_VERSION_UPDATE_REQUIRED</a>, + or +<a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/ConnectionResult.html#SERVICE_DISABLED">SERVICE_DISABLED</a>, + call <a href="{@docRoot}google/play-services/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)">getErrorDialog()</a> + to display an error message to the user, which will then allow the user to download the APK + from the Google Play Store or enable it in the device's system settings. + </li> +</ol>
\ No newline at end of file diff --git a/docs/html/google/play-services/index.jd b/docs/html/google/play-services/index.jd new file mode 100644 index 0000000..60a689d --- /dev/null +++ b/docs/html/google/play-services/index.jd @@ -0,0 +1,76 @@ +page.title=Google Maps +page.landing=true +page.landing.intro=Add Google maps to your Android apps and let your users explore the world. Give your users all of the benefits of the Google Maps, but with the customizations that you need for your app and users. +page.landing.link=https://developers.google.com/maps/documentation/android/ +page.landing.link.text=developers.google.com/maps +page.landing.image=images/gps.png + +@jd:body +<img src="{@docRoot}images/gps.png" style="float:right;" /> + +<p> + Google Play services is a platform delivered through the Google Play Store that + lets you integrate Google products into your Android apps. + The Google Play services framework consists of a services component + that runs on the device and a thin client library that you package with your app. +</p> + + +<p> +<a class="next-page-link topic-start-link" +href="{@docRoot}google/play-services/overview.html"> +OVERVIEW</a> +</p> + +<div class="vspace size-1"> </div> + +<div class="layout-content-row"> + <div class="layout-content-col span-4"> + +<h4>Google Technology</h4> +<p>Add exciting and useful Google features such as Maps, Google+, Analytics, and more +to your Android apps. Easy-to-use client libraries are provided for the products in Google +Play services, so you can implement the functionality you want faster. New features +and products are continuously being added, so make sure to check back often.</p> + + </div> + <div class="layout-content-col span-4"> + +<h4>Standard Authentication</h4> +<p>All products in Google Play services share a common authentication API + that leverages the existing Google accounts on the device. You and your + users have a consistent and safe way to grant and receive OAuth2 authentication + to Google services. Even services that are not bundled in Google Play services + can take advantage of the authentication APIs as long as they accept OAuth2 + tokens associated with a Google account.</p> + + </div> + <div class="layout-content-col span-4"> + +<h4>Automatic Updates</h4> +<p>Devices running Android 2.2 and newer and that have the Google Play Store app installed +automatically receive updates to Google Play services. New products, features, and fixes are +automatically pushed to a wide range of devices, old and new. You can now enhance your app with the most +up-to-date version of Google Play services without worrying about your users' Android platform version.</p> + + </div> +</div> + +<h2>Services</h2> + <div class="landing-docs"> + <a href=""> + <h4>Google+</h4> + <p>Add social features to your app to with Google+.</p> + </a> + + <a href=""> + <h4>Google Analytics</h4> + <p>Make sure you're reaching the right users and find ways to reach more with Google Analytics.</p> + </a> + + <a href=""> + <h4>Google Maps</h4> + <p>Add compelling location-based features to your app to direct your users where they + want to go.</p> + </a> +</div>
\ No newline at end of file diff --git a/docs/html/google/play-services/maps.jd b/docs/html/google/play-services/maps.jd new file mode 100644 index 0000000..eea17e9 --- /dev/null +++ b/docs/html/google/play-services/maps.jd @@ -0,0 +1,73 @@ +page.title=Google Maps +page.landing=true +page.landing.intro=Add Google maps to your Android apps and let your users explore the world. Give your users all of the benefits of the Google Maps, but with the customizations that you need for your app and users. +page.landing.link=https://developers.google.com/maps/documentation/android/ +page.landing.link.text=developers.google.com/maps +page.landing.image=images/gps-maps.png + +@jd:body + +<div class="landing-docs"> + <div class="col-6"> + <h3 style="clear:left">Key Developer Features</h3> + <a href="https://developers.google.com/maps/documentation/android/map"> + <h4>Bring Maps to your Mobile Apps</h4> + The Google Maps APIs let you embed Google Maps into an Activity with a simple XML snippet + in the form of a fragment. With MapFragment, you can take advantage of exciting features such as 3D maps; + indoor, satellite, terrain, and hybrid maps; and vector-based tiles for efficient caching and drawing. + </a> + + <a href="https://developers.google.com/maps/documentation/android/marker"> + <h4>Highlight important places and routes</h4> + <p> + Overlay markers onto your maps to highlight places your users are interested + in. You can also define custom colors or icons for your map markers to + coincide with the look and feel of your app.</p> + + <p>In addition, you can draw polylines, a set of connected line segments on a map + and polygons, a set of polylines in a closed loop.</p> + </a> + + <a href="https://developers.google.com/maps/documentation/android/views"> + <h4>Change views and perspectives</h4> + Give your users a different view of the world with the ability to control rotation, tilting, + zooming, and panning properties of the maps you are displaying. Show 3D views of maps, + zoom in on terrain maps, allow users to swipe across areas, and much more. + </a> + + </div> + + <div class="col-6 normal-links"> + <h3 style="clear:left">Getting Started</h3> + <h4>Configure Maps</h4> + <p>The Google Maps Android APIs are part of the Google Play services platform.</p> + <p>To use Google Maps, <a href="{@docRoot}google/play-services/download.html">download and configure</a> + the Google Play services SDK and see the <a href="https://developers.google.com/maps/documentation/android/start#installing_the_google_maps_android_v2_api"> + Getting Started guide</a> on how to configure Google Maps for your app. + </p> + + <h4>Run the sample</h4> + <p> + The Google Maps sample is located in <code><android-sdk>/extras/google-play-services/samples/maps</code> + and shows you how to use the major components of the Google Maps Android APIs. + </p> + + <h4>Visit the Google Maps developer site</h4> + <p> + For instructions on how to fully integrate Google+ into your app, with code snippets, visit the + <a href="https://developers.google.com/maps/documentation/android/intro">Google Maps developer documentation</a> + located at developers.google.com. + </p> + + <h4>See the reference documentation</h4> + <p> + The <a href="{@docRoot}google/play-services/reference/com/google/android/gms/maps/package-summary.html">Google Maps API reference</a> + is provided for you on this site and is also available at <a href="https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/package-summary">developers.google.com</a> if you + prefer to read them there.</p> + <p> + In addition, the entire <a href="{@docRoot}google/play-services/reference/packages.html">Google Play + services platform reference</a> is hosted on this site for your convenience. + </p> + </div> + </div> +</div>
\ No newline at end of file diff --git a/docs/html/google/play-services/overview.jd b/docs/html/google/play-services/overview.jd new file mode 100644 index 0000000..5ea72d9 --- /dev/null +++ b/docs/html/google/play-services/overview.jd @@ -0,0 +1,49 @@ +page.title=Overview +@jd:body + +<p> +Google Play services is a platform delivered by the Google Play Store that offers integration with Google products, +such as Google+, in Android apps. The Google Play services platform consists of a services component that runs on +the device and a thin client library that you package with your app. The following diagram shows the interaction +between the two components: +</p> + +<img src="{@docRoot}images/play-services-diagram.png" /> + +<p> + The Google Play services component is delivered as an APK through the Google Play Store, so + updates to Google Play services are not dependent on carrier or OEM system image updates. Newer + devices will also have Google Play services as part of the device's system image, but updates + are still pushed to these newer devices through the Google Play Store. In general, devices + running Android 2.2 (Froyo) or later that have the Google Play Store receive updates within a + few days. This allows you to leverage the newest APIs for Google products and reach most of the + devices in the Android ecosystem. Devices older than Android 2.2 or devices without the Google + Play Store app are not supported. +</p> + +<p> + The Google Play services component contains much of the logic to communicate with the specific + Google product that you want to interact with. An easy-to-use authentication flow is also + provided to gain access to supported Google products, which provides consistency for both the + developer and user. From the developer's point of view, requesting credentials is mostly taken + care of by the services component through calls to the client library. From the user's point of + view, authorization is granted with a few simple clicks. +</p> + +<p> + The client library contains the interfaces to call into the services component. It also contains + APIs that allow you to resolve any issues at runtime such as a missing, disabled, or out-of-date + Google Play services APK. The client library has a light footprint if you use + ProGuard as part of your build process, so it won't have an adverse impact on your app's file size. See the + <a href="{@docRoot}google/play-services/overview.html">Downloading and Configuring the Google Play services SDK</a> for more + information on how to configure + <a href="{@docRoot}tools/help/proguard.html">ProGuard</a>. +</p> + +<p> + If you want to access added features or products that are periodically added to the client + library, you can upgrade to a new version as they are released. However, upgrading is not + necessary if you don't care about new features or bug fixes in the new versions of the client + library. We anticipate more Google services to be continuously added, so be on the lookout for + these updates. +</p>
\ No newline at end of file diff --git a/docs/html/google/play-services/plus.jd b/docs/html/google/play-services/plus.jd new file mode 100644 index 0000000..7742318 --- /dev/null +++ b/docs/html/google/play-services/plus.jd @@ -0,0 +1,65 @@ +page.title=Google+ +page.landing=true +page.landing.intro=Create an engaging social experience and connect with more users by integrating G+ into your app. +page.landing.link=https://developers.google.com/+/mobile/android/ +page.landing.link.text=developers.google.com/+ +page.landing.image=images/gps-plus.png + +@jd:body + +<div class="landing-docs"> + <div class="col-6"> + <h3 style="clear:left">Key Developer Features</h3> + + <a href="https://developers.google.com/+/mobile/android/share"> + <h4>Share to Google+</h4> + Display a Share dialog that lets your users share rich content from your app, including text, + photos, URL attachments, and location, into the Google+ stream. + </a> + + <a href="https://developers.google.com/+/mobile/android/recommend"> + <h4>Recommend content</h4> + Add a native +1 button so users can recommend content from your app. When users +1, they can + also share content with their circles. These endorsements can give your app more + credibility and help it grow faster. + </a> + + <a href="https://developers.google.com/+/mobile/android/sign-in"> + <h4>Sign in with Google+</h4> + Allow users to easily and securely sign in to your app using their Google+ credentials. + This allows you to know who they are on Google+ and to build a more personalized experience in your app. + </a> + <a href="https://developers.google.com/+/mobile/android/write-moments"> + <h4>Save moments</h4> + Save user actions from your app such as check-ins, reviews, video views, comments, and more, + to your users' private Google+ history. From there, users can share these moments with others. + </a> + </div> + + <div class="col-6 normal-links"> + <h3 style="clear:left">Getting Started</h3> + <h4>Get the Google Play services SDK</h4> + <p>The Google+ Android APIs are part of the Google Play services platform.</p> + <p><a href="{@docRoot}google/play-services/download.html">Download and configure</a> + the SDK to begin integrating Google+ into your app. + </p> + + <h4>Run the sample</h4> + <p> + The Google+ sample is located in <code><android-sdk>/extras/google-play-services/samples/plus</code> and shows you + how to use the major components of the Google+ Android APIs. + </p> + + <h4>Visit the Google+ developer site</h4> + <p>For instructions on how to fully integrate Google+ into your app, with code snippets, visit the + <a href="https://developers.google.com/+/mobile/android/">Google+ developer documentation</a> located at + developers.google.com. + </p> + + <h4>See the reference documentation</h4> + <p>The <a href="{@docRoot}google/play-services/reference/com/google/android/gms/plus/package-summary.html">Google+ API reference</a> + as well as the entire <a href="{@docRoot}google/play-services/reference/packages.html">Google Play services platform reference</a> + is provided for you on this site. + </p> + </div> +</div>
\ No newline at end of file diff --git a/docs/html/google/play-services/reference/packages.jd b/docs/html/google/play-services/reference/packages.jd new file mode 100644 index 0000000..4f1ce79 --- /dev/null +++ b/docs/html/google/play-services/reference/packages.jd @@ -0,0 +1,6 @@ +page.title=Reference +@jd:body + +<p> + See offline docs +</p>
\ No newline at end of file diff --git a/docs/html/guide/google/play/billing/billing_about.html b/docs/html/google/play/billing/billing_about.html index 9f41fa6..9f41fa6 100644 --- a/docs/html/guide/google/play/billing/billing_about.html +++ b/docs/html/google/play/billing/billing_about.html diff --git a/docs/html/guide/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd index cb288a5..cb288a5 100644 --- a/docs/html/guide/google/play/billing/billing_admin.jd +++ b/docs/html/google/play/billing/billing_admin.jd diff --git a/docs/html/guide/google/play/billing/billing_best_practices.jd b/docs/html/google/play/billing/billing_best_practices.jd index 850c661..850c661 100644 --- a/docs/html/guide/google/play/billing/billing_best_practices.jd +++ b/docs/html/google/play/billing/billing_best_practices.jd diff --git a/docs/html/guide/google/play/billing/billing_integrate.jd b/docs/html/google/play/billing/billing_integrate.jd index 2d1582e..2d1582e 100644 --- a/docs/html/guide/google/play/billing/billing_integrate.jd +++ b/docs/html/google/play/billing/billing_integrate.jd diff --git a/docs/html/guide/google/play/billing/billing_overview.jd b/docs/html/google/play/billing/billing_overview.jd index 82f6cf4..82f6cf4 100644 --- a/docs/html/guide/google/play/billing/billing_overview.jd +++ b/docs/html/google/play/billing/billing_overview.jd diff --git a/docs/html/guide/google/play/billing/billing_reference.jd b/docs/html/google/play/billing/billing_reference.jd index c5541fa..c5541fa 100644 --- a/docs/html/guide/google/play/billing/billing_reference.jd +++ b/docs/html/google/play/billing/billing_reference.jd diff --git a/docs/html/guide/google/play/billing/billing_subscriptions.jd b/docs/html/google/play/billing/billing_subscriptions.jd index 68eda19..68eda19 100644 --- a/docs/html/guide/google/play/billing/billing_subscriptions.jd +++ b/docs/html/google/play/billing/billing_subscriptions.jd diff --git a/docs/html/guide/google/play/billing/billing_testing.jd b/docs/html/google/play/billing/billing_testing.jd index e2d4a01..e2d4a01 100644 --- a/docs/html/guide/google/play/billing/billing_testing.jd +++ b/docs/html/google/play/billing/billing_testing.jd diff --git a/docs/html/guide/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd index 134140d..134140d 100644 --- a/docs/html/guide/google/play/billing/index.jd +++ b/docs/html/google/play/billing/index.jd diff --git a/docs/html/google/play/dist.jd b/docs/html/google/play/dist.jd new file mode 100644 index 0000000..7e60315 --- /dev/null +++ b/docs/html/google/play/dist.jd @@ -0,0 +1,52 @@ +page.title=Google Play Distribution and Licensing +@jd:body + +<p> + Google Play allows you to manage your app distribution with features that let you control which users + can download your app as well as deliver separate versions of your app based on certain + characteristics like platform version. +</p> +<div class="vspace size-1"> + +</div> +<div class="layout-content-row"> + <div class="layout-content-col span-6"> + <h4> + Device Filtering + </h4> + <p> + Make sure your app gets to the right users by filtering on a wide range of characteristics + such as platform versions and hardware features. + </p><p><a href="{@docRoot}guide/google/play/filters.html">Learn more »</a></p> + </div> + + <div class="layout-content-col span-6"> + <h4> + Multiple APK Support + </h4> + <p> + Distribute different APKs based on a variety of properties such as platform version, screen + size, and GLES texture compression support. + </p><p><a href="{@docRoot}guide/google/play/publishing/multiple-apks.html">Learn more »</a></p> + </div> + +<div class="layout-content-row"> + <div class="layout-content-col span-6"> + <h4> + APK Expansion files + </h4> + <p> + Tap into Google's content delivery services by serving up to 4GB of assets for free. Provide + users with high-fidelity graphics, media files, or other large assets that are required by + your app. + </p><a href="{@docRoot}guide/google/play/expansion-files.html">Learn more »</a> + </div> + + <div class="layout-content-col span-6"> + <h4> + Application Licensing + </h4> + <p>Protect your revenue streams and integrate policies for usage into your app. + </p><a href="{@docRoot}guide/google/play/licensing/index.html">Learn more »</a> + </div> +</div>
\ No newline at end of file diff --git a/docs/html/guide/google/play/expansion-files.jd b/docs/html/google/play/expansion-files.jd index 9cd1bb1..9cd1bb1 100644 --- a/docs/html/guide/google/play/expansion-files.jd +++ b/docs/html/google/play/expansion-files.jd diff --git a/docs/html/guide/google/play/filters.jd b/docs/html/google/play/filters.jd index 3db9cb6..3db9cb6 100644 --- a/docs/html/guide/google/play/filters.jd +++ b/docs/html/google/play/filters.jd diff --git a/docs/html/guide/google/play/licensing/adding-licensing.jd b/docs/html/google/play/licensing/adding-licensing.jd index 4a45de3..4a45de3 100644 --- a/docs/html/guide/google/play/licensing/adding-licensing.jd +++ b/docs/html/google/play/licensing/adding-licensing.jd diff --git a/docs/html/guide/google/play/licensing/index.jd b/docs/html/google/play/licensing/index.jd index d393738..d393738 100644 --- a/docs/html/guide/google/play/licensing/index.jd +++ b/docs/html/google/play/licensing/index.jd diff --git a/docs/html/guide/google/play/licensing/licensing-reference.jd b/docs/html/google/play/licensing/licensing-reference.jd index d3d5224..d3d5224 100644 --- a/docs/html/guide/google/play/licensing/licensing-reference.jd +++ b/docs/html/google/play/licensing/licensing-reference.jd diff --git a/docs/html/guide/google/play/licensing/overview.jd b/docs/html/google/play/licensing/overview.jd index 467a3a2..467a3a2 100644 --- a/docs/html/guide/google/play/licensing/overview.jd +++ b/docs/html/google/play/licensing/overview.jd diff --git a/docs/html/guide/google/play/licensing/setting-up.jd b/docs/html/google/play/licensing/setting-up.jd index 80a4419..80a4419 100644 --- a/docs/html/guide/google/play/licensing/setting-up.jd +++ b/docs/html/google/play/licensing/setting-up.jd diff --git a/docs/html/guide/google/play/publishing/multiple-apks.jd b/docs/html/google/play/publishing/multiple-apks.jd index 0619dfc..0619dfc 100644 --- a/docs/html/guide/google/play/publishing/multiple-apks.jd +++ b/docs/html/google/play/publishing/multiple-apks.jd diff --git a/docs/html/guide/google/play/services.jd b/docs/html/google/play/services.jd index 092642c..092642c 100644 --- a/docs/html/guide/google/play/services.jd +++ b/docs/html/google/play/services.jd diff --git a/docs/html/guide/google/index.jd b/docs/html/guide/google/index.jd deleted file mode 100644 index e1fc581..0000000 --- a/docs/html/guide/google/index.jd +++ /dev/null @@ -1,134 +0,0 @@ -page.title=Google Services -footer.hide=1 -@jd:body - -<p> - Google offers a variety of services that help you build new revenue streams, enhance your app's - capabilities, manage distribution and payloads, and track usage and installs. - The sections below highlight some of the services offered by Google and link you to more information about - how to use them in your Android app. -</p> -<h2 id="monetization"> - Monetize your app -</h2> -<p> - There are many ways to monetize your Android app, such as with ad impressions or In-App billing. If you - choose to charge a price to download your app, Android also provides the ability to check - for valid application licenses to protect your revenue. Because different apps require - different strategies, you can pick which ones are best for your app. -</p> -<div class="vspace size-1"> - -</div> -<div class="layout-content-row"> - <div class="layout-content-col span-4"> - <h4> - Google AdMob Ads - </h4> - <p> - Generate revenue by displaying ads in your app with multiple ad networks. - </p><a href="http://www.google.com/ads/admob/index.html">Learn more »</a> - </div> - <div class="layout-content-col span-4"> - <h4> - In-App Billing - </h4> - <p> - Engage users by offering features such as new content or virtual goods directly in your app. - </p><a href="{@docRoot}guide/google/play/billing/index.html">Learn more »</a> - </div> - <div class="layout-content-col span-4"> - <h4> - Application Licensing - </h4> - <p>Protect your revenue streams and integrate policies for usage into your a -pp. - </p><a href="{@docRoot}guide/google/play/licensing/index.html">Learn more »</a> - </div> -</div> -<h2 id="integration"> - Enhance Your App's Capabilities -</h2> -<p> - Android and Google technologies work together to provide your users with compelling interactions - with technologies such as Maps and Google+. -</p> -<div class="vspace size-1"> - -</div> -<div class="layout-content-row"> - <div class="layout-content-col span-4"> - <h4> - Google Play Services - </h4><img src="{@docRoot}images/play_dev.png"> - <p> - Leverage Google products in your app with an easy to use authentication flow for your users. - </p><a href="{@docRoot}guide/google/play/services.html">Learn more »</a> - </div> - <div class="layout-content-col span-4"> - <h4> - Google Cloud Messaging - </h4><img src="{@docRoot}images/gcm/gcm-logo.png" width="150px" style="padding:9px;"> - <p> - Notify your apps of important events with messages that are lightweight and battery-saving. - </p><a href="{@docRoot}guide/google/gcm/index.html">Learn more »</a> - </div> - <div class="layout-content-col span-4"> - <h4> - Google Maps - </h4><img src="{@docRoot}images/google-apis.png"> - <p> - The Google Maps library for Android brings powerful mapping capabilities to your app. - </p><a href="https://developers.google.com/android/add-ons/google-apis/index">Learn more - »</a> - </div> -</div> -<h2 id="integration"> - Manage App Distribution -</h2> -<p> - Google Play allows you to manage your app distribution with features that let you control which users - can download your app as well as deliver separate versions of your app based on certain - characteristics like platform version. -</p> -<div class="vspace size-1"> - -</div> -<div class="layout-content-row"> - <div class="layout-content-col span-4"> - <h4> - Filters on Google Play - </h4> - <p> - Make sure your app gets to the right users by filtering on a wide range of characteristics - such as platform versions and hardware features. - </p><a href="{@docRoot}guide/google/play/filters.html">Learn more »</a> - </div> - <div class="layout-content-col span-4"> - <h4> - Multiple APK Support - </h4> - <p> - Distribute different APKs based on a variety of properties such as platform version, screen - size, and GLES texture compression support. - </p><a href="{@docRoot}guide/google/play/publishing/multiple-apks.html">Learn more »</a> - </div> - <div class="layout-content-col span-4"> - <h4> - APK Expansion files - </h4> - <p> - Tap into Google's content delivery services by serving up to 4GB of assets for free. Provide - users with high-fidelity graphics, media files, or other large assets that are required by - your app. - </p><a href="{@docRoot}guide/google/play/expansion-files.html">Learn more »</a> - </div> -</div> -<h2 id="integration"> - Track Performance with Analytics -</h2> -<p> - Google Analytics let you find out how users find your apps and how they use them. Start - integrating analytics to measure your app's success. -</p><a href="https://developers.google.com/analytics/devguides/collection/android/">Learn more -»</a> diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs index d875f47..d7aacbf 100644 --- a/docs/html/guide/guide_toc.cs +++ b/docs/html/guide/guide_toc.cs @@ -533,102 +533,6 @@ </ul> </li> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>guide/google/index.html"> - <span class="en">Google Services</span> - </a></div> - <ul> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot?>guide/google/play/billing/index.html"> - <span class="en">In-app Billing</span></a> - </div> - <ul> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_overview.html"> - <span class="en">In-app Billing Overview</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_integrate.html"> - <span class="en">Implementing In-app Billing</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_subscriptions.html"> - <span class="en">Subscriptions</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_best_practices.html"> - <span class="en">Security and Design</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_testing.html"> - <span class="en">Testing In-app Billing</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_admin.html"> - <span class="en">Administering In-app Billing</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/billing/billing_reference.html"> - <span class="en">In-app Billing Reference</span></a> - </li> - </ul> - </li> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>guide/google/play/licensing/index.html"> - <span class="en">Application Licensing</span></a> - </div> - <ul> - <li><a href="<?cs var:toroot?>guide/google/play/licensing/overview.html"> - <span class="en">Licensing Overview</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/licensing/setting-up.html"> - <span class="en">Setting Up for Licensing</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/licensing/adding-licensing.html"> - <span class="en">Adding Licensing to Your App</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/play/licensing/licensing-reference.html"> - <span class="en">Licensing Reference</span></a> - </li> - </ul> - </li> - <li><a href="<?cs var:toroot ?>guide/google/play/services.html"> - <span class="en">Google Play Services</span></a> - </li> - <li><a href="<?cs var:toroot ?>guide/google/play/filters.html"> - <span class="en">Filters on Google Play</span></a> - </li> - <li><a href="<?cs var:toroot ?>guide/google/play/publishing/multiple-apks.html"> - <span class="en">Multiple APK Support</span></a> - </li> - <li><a href="<?cs var:toroot ?>guide/google/play/expansion-files.html"> - <span class="en">APK Expansion Files</span></a> - </li> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>guide/google/gcm/index.html"> - <span class="en">Google Cloud Messaging</span></a> - </div> - <ul> - <li><a href="<?cs var:toroot?>guide/google/gcm/gs.html"> - <span class="en">Getting Started</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/gcm/gcm.html"> - <span class="en">Architectural Overview</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/gcm/demo.html"> - <span class="en">Demo App Tutorial</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/gcm/adv.html"> - <span class="en">Advanced Topics</span></a> - </li> - <li><a href="<?cs var:toroot?>guide/google/gcm/c2dm.html"> - <span class="en">Migration</span></a> - </li> - </ul> - </li> - - </ul> - </li><!-- end Google Play --> - - - <!-- this needs to move <li class="nav-section"> <div class="nav-section-header"><a href="<?cs var:toroot ?>guide/practices/ui_guidelines/index.html"> diff --git a/docs/html/images/gps-analytics.png b/docs/html/images/gps-analytics.png Binary files differnew file mode 100644 index 0000000..7da0be1 --- /dev/null +++ b/docs/html/images/gps-analytics.png diff --git a/docs/html/images/gps-maps.png b/docs/html/images/gps-maps.png Binary files differnew file mode 100644 index 0000000..2e2a716 --- /dev/null +++ b/docs/html/images/gps-maps.png diff --git a/docs/html/images/gps-plus.png b/docs/html/images/gps-plus.png Binary files differnew file mode 100644 index 0000000..630ba0a --- /dev/null +++ b/docs/html/images/gps-plus.png diff --git a/docs/html/images/gps-small.png b/docs/html/images/gps-small.png Binary files differnew file mode 100644 index 0000000..790e483 --- /dev/null +++ b/docs/html/images/gps-small.png diff --git a/docs/html/images/gps.png b/docs/html/images/gps.png Binary files differnew file mode 100644 index 0000000..84d761d --- /dev/null +++ b/docs/html/images/gps.png diff --git a/docs/html/images/play-services-diagram.graffle/data.plist b/docs/html/images/play-services-diagram.graffle/data.plist new file mode 100644 index 0000000..837341c --- /dev/null +++ b/docs/html/images/play-services-diagram.graffle/data.plist @@ -0,0 +1,1020 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>138.33.0.157554</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {576, 733}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-11-14 22:20:40 +0000</string> + <key>Creator</key> + <string>Robert Ly</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>FileType</key> + <string>auto</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{206.5, 311.05804}, {55, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>199</integer> + <key>Line</key> + <dict> + <key>ID</key> + <integer>198</integer> + <key>Offset</key> + <real>-2</real> + <key>Position</key> + <real>0.59412848949432373</real> + <key>RotationType</key> + <integer>0</integer> + </dict> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKwdVcGRhdGVzhoQCaUkBB5KEhIQMTlNEaWN0 + aW9uYXJ5AJSEAWkDkoSWlgdOU0NvbG9yhpKEhIQHTlND + b2xvcgCUhAFjA4QCZmYAg2ZmJj+GkoSWlgZOU0ZvbnSG + koSEhAZOU0ZvbnQelJkchAVbMjhjXQYAAAAUAAAA//5I + AGUAbAB2AGUAdABpAGMAYQCEAWYMmwCbAZsAmwCGkoSW + lhBOU1BhcmFncmFwaFN0eWxlhpKEhIQQTlNQYXJhZ3Jh + cGhTdHlsZQCUhARDQ0BTAgCEhIQHTlNBcnJheQCUmQyS + hISECU5TVGV4dFRhYgCUhAJDZgAchpKEpaQAOIaShKWk + AFSGkoSlpABwhpKEpaQAgYwAhpKEpaQAgagAhpKEpaQA + gcQAhpKEpaQAgeAAhpKEpaQAgfwAhpKEpaQAgRgBhpKE + paQAgTQBhpKEpaQAgVABhoYAhoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf2 Updates}</string> + <key>alpha</key> + <array> + <array> + <integer>0</integer> + <integer>7</integer> + <real>0.64999997615814209</real> + </array> + </array> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>198</integer> + <key>OrthogonalBarAutomatic</key> + <false/> + <key>OrthogonalBarPoint</key> + <string>{0, 0}</string> + <key>OrthogonalBarPosition</key> + <real>4.1290435791015625</real> + <key>Points</key> + <array> + <string>{165.58636, 347.00049}</string> + <string>{232, 325}</string> + <string>{271, 300}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.7</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>CornerRadius</key> + <real>4</real> + <key>HeadArrow</key> + <string>0</string> + <key>LineType</key> + <integer>2</integer> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>1800</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{282.74756, 257.67365}, {273.33658, 82.000977}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1806</integer> + <key>ImageID</key> + <integer>8</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>11</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>1800</integer> + <key>Info</key> + <integer>4</integer> + </dict> + <key>ID</key> + <integer>196</integer> + <key>OrthogonalBarAutomatic</key> + <false/> + <key>OrthogonalBarPoint</key> + <string>{0, 0}</string> + <key>OrthogonalBarPosition</key> + <real>4.1290435791015625</real> + <key>Points</key> + <array> + <string>{57.379539, 223}</string> + <string>{43.586342, 347.00049}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.7</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>CornerRadius</key> + <real>4</real> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>LineType</key> + <integer>2</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>203</integer> + <key>Info</key> + <integer>4</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{57.379539, 207}, {94.413635, 32}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>203</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.578326</string> + <key>g</key> + <string>0.578615</string> + <key>r</key> + <string>0.578453</string> + </dict> + <key>CornerRadius</key> + <real>15</real> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKw5DbGllbnQgTGlicmFyeYaEAmlJAQ6ShISE + DE5TRGljdGlvbmFyeQCUhAFpBJKElpYOTlNPcmlnaW5h + bEZvbnSGkoSEhAZOU0ZvbnQelJkchAVbMjhjXQYAAAAU + AAAA//5IAGUAbAB2AGUAdABpAGMAYQCEAWYMhAFjAJ0B + nQCdAIaShJaWEE5TUGFyYWdyYXBoU3R5bGWGkoSEhBdO + U011dGFibGVQYXJhZ3JhcGhTdHlsZQCEhBBOU1BhcmFn + cmFwaFN0eWxlAJSEBENDQFMCAIUAhpKElpYGTlNGb250 + hpKakoSWlgdOU0NvbG9yhpKEhIQHTlNDb2xvcgCUnQOE + AmZmAINmZiY/hoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf2 Client Library}</string> + <key>VerticalPad</key> + <integer>10</integer> + <key>alpha</key> + <array> + <array> + <integer>0</integer> + <integer>14</integer> + <real>0.64999997615814209</real> + </array> + </array> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{43.586342, 306}, {122.00003, 82.000977}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans-Bold</string> + <key>NSKern</key> + <real>0.0</real> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>1800</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.938075</string> + <key>g</key> + <string>0.938269</string> + <key>r</key> + <string>0.938154</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.45</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>Draws</key> + <string>NO</string> + <key>Fuzziness</key> + <real>0.0</real> + <key>ShadowVector</key> + <string>{0.5, 2}</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.700224</string> + <key>g</key> + <string>0.700574</string> + <key>r</key> + <string>0.700377</string> + </dict> + <key>CornerRadius</key> + <real>3</real> + <key>Width</key> + <real>3</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKxlHb29nbGUgUGxheQpzZXJ2aWNlcyBBUEsK + hoQCaUkBGZKEhIQMTlNEaWN0aW9uYXJ5AJSEAWkDkoSW + lgdOU0NvbG9yhpKEhIQHTlNDb2xvcgCUhAFjA4QCZmYA + g2ZmJj+GkoSWlgZOU0ZvbnSGkoSEhAZOU0ZvbnQelJkc + hAVbMjhjXQYAAAAUAAAA//5IAGUAbAB2AGUAdABpAGMA + YQCEAWYMmwCbAZsAmwCGkoSWlhBOU1BhcmFncmFwaFN0 + eWxlhpKEhIQQTlNQYXJhZ3JhcGhTdHlsZQCUhARDQ0BT + AgCEhIQHTlNBcnJheQCUmQyShISECU5TVGV4dFRhYgCU + hAJDZgAchpKEpaQAOIaShKWkAFSGkoSlpABwhpKEpaQA + gYwAhpKEpaQAgagAhpKEpaQAgcQAhpKEpaQAgeAAhpKE + paQAgfwAhpKEpaQAgRgBhpKEpaQAgTQBhpKEpaQAgVAB + hoYAhoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf2 Google Play\ +services APK\ +}</string> + <key>VerticalPad</key> + <integer>10</integer> + <key>alpha</key> + <array> + <array> + <integer>0</integer> + <integer>25</integer> + <real>0.64999997615814209</real> + </array> + </array> + </dict> + <key>TextPlacement</key> + <integer>2</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{43.586342, 195}, {122.00003, 82.000977}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans-Bold</string> + <key>NSKern</key> + <real>0.0</real> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>249</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.938075</string> + <key>g</key> + <string>0.938269</string> + <key>r</key> + <string>0.938154</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.45</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>Draws</key> + <string>NO</string> + <key>Fuzziness</key> + <real>0.0</real> + <key>ShadowVector</key> + <string>{0.5, 2}</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.700224</string> + <key>g</key> + <string>0.700574</string> + <key>r</key> + <string>0.700377</string> + </dict> + <key>CornerRadius</key> + <real>3</real> + <key>Width</key> + <real>3</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKwhZb3VyIEFwcIaEAmlJAQiShISEDE5TRGlj + dGlvbmFyeQCUhAFpBJKElpYOTlNPcmlnaW5hbEZvbnSG + koSEhAZOU0ZvbnQelJkchAVbMjhjXQYAAAAUAAAA//5I + AGUAbAB2AGUAdABpAGMAYQCEAWYMhAFjAJ0BnQCdAIaS + hJaWEE5TUGFyYWdyYXBoU3R5bGWGkoSEhBdOU011dGFi + bGVQYXJhZ3JhcGhTdHlsZQCEhBBOU1BhcmFncmFwaFN0 + eWxlAJSEBENDQFMCAIUAhpKElpYGTlNGb250hpKakoSW + lgdOU0NvbG9yhpKEhIQHTlNDb2xvcgCUnQOEAmZmAINm + ZiY/hoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf2 Your App}</string> + <key>VerticalPad</key> + <integer>10</integer> + <key>alpha</key> + <array> + <array> + <integer>0</integer> + <integer>8</integer> + <real>0.64999997615814209</real> + </array> + </array> + </dict> + <key>TextPlacement</key> + <integer>2</integer> + </dict> + <dict> + <key>Class</key> + <string>Group</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{25.847038, 415.18762}, {157.43497, 20.991331}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1795</integer> + <key>ImageID</key> + <integer>4</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{167.76729, 156.73196}, {15.743497, 10.058347}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>9</real> + </dict> + <key>ID</key> + <integer>1796</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>2</integer> + <key>Pad</key> + <integer>2</integer> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISE + hBJOU0F0dHJpYnV0ZWRTdHJpbmcA + hIQITlNPYmplY3QAhZKEhIQITlNT + dHJpbmcBlIQBKwQyOjMwhoQCaUkB + BJKEhIQMTlNEaWN0aW9uYXJ5AJSE + AWkDkoSWlgdOU0NvbG9yhpKEhIQH + TlNDb2xvcgCUhAFjAoQEZmZmZoPO + zEw+g7a1NT+D5+VlPwGGkoSWlhBO + U1BhcmFncmFwaFN0eWxlhpKEhIQQ + TlNQYXJhZ3JhcGhTdHlsZQCUhARD + Q0BTAQCEhIQHTlNBcnJheQCUmQyS + hISECU5TVGV4dFRhYgCUhAJDZgAc + hpKEoqEAOIaShKKhAFSGkoSioQBw + hpKEoqEAgYwAhpKEoqEAgagAhpKE + oqEAgcQAhpKEoqEAgeAAhpKEoqEA + gfwAhpKEoqEAgRgBhpKEoqEAgTQB + hpKEoqEAgVABhoYAhpKElpYGTlNG + b250hpKEhIQGTlNGb250HpSZHIQF + WzI4Y10GAAAAFAAAAP/+SABlAGwA + dgBlAHQAaQBjAGEAhAFmCJsAmwGb + AJsAhoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red45\green166\blue222;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qr + +\f0\fs16 \cf2 2:30}</string> + <key>VerticalPad</key> + <integer>2</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{25.847008, 156.29468}, {157.47868, 10.932985}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1797</integer> + <key>ImageID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{10.999992, 113}, {187.17274, 367.34827}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1798</integer> + <key>ImageID</key> + <integer>5</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{25.847038, 156.29462}, {157.43497, 279.8844}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>1799</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + </array> + <key>ID</key> + <integer>1794</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{269.83173, 246.96591}, {299.16827, 99.416443}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>4</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>9</real> + </dict> + </dict> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>9</integer> + <key>ImageLinkBack</key> + <array> + <dict/> + <dict/> + <dict/> + <dict/> + </array> + <key>ImageList</key> + <array> + <string>image8.tiff</string> + <string>image5.pdf</string> + <string>image4.png</string> + <string>image3.png</string> + </array> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-11-14 23:00:27 +0000</string> + <key>Modifier</key> + <string>Robert Ly</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgWQCgRgDhg==</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array> + <dict> + <key>name</key> + <string>Canvas 1</string> + </dict> + </array> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{-392, -138}, {1359, 1010}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> + <key>saveQuickLookFiles</key> + <string>NO</string> +</dict> +</plist> diff --git a/docs/html/images/play-services-diagram.graffle/image3.png b/docs/html/images/play-services-diagram.graffle/image3.png Binary files differnew file mode 100644 index 0000000..87e38f9 --- /dev/null +++ b/docs/html/images/play-services-diagram.graffle/image3.png diff --git a/docs/html/images/play-services-diagram.graffle/image4.png b/docs/html/images/play-services-diagram.graffle/image4.png Binary files differnew file mode 100644 index 0000000..89a8bb3 --- /dev/null +++ b/docs/html/images/play-services-diagram.graffle/image4.png diff --git a/docs/html/images/play-services-diagram.graffle/image5.pdf b/docs/html/images/play-services-diagram.graffle/image5.pdf Binary files differnew file mode 100644 index 0000000..c2baa60 --- /dev/null +++ b/docs/html/images/play-services-diagram.graffle/image5.pdf diff --git a/docs/html/images/play-services-diagram.graffle/image8.tiff b/docs/html/images/play-services-diagram.graffle/image8.tiff Binary files differnew file mode 100644 index 0000000..c934b78 --- /dev/null +++ b/docs/html/images/play-services-diagram.graffle/image8.tiff diff --git a/docs/html/images/play-services-diagram.png b/docs/html/images/play-services-diagram.png Binary files differnew file mode 100644 index 0000000..09b9a69 --- /dev/null +++ b/docs/html/images/play-services-diagram.png |