[google_sign_in] Migrate to new pubspec plugins schema (#2371)

diff --git a/packages/google_sign_in/google_sign_in/CHANGELOG.md b/packages/google_sign_in/google_sign_in/CHANGELOG.md
index a87a8a2..8e5aa45 100644
--- a/packages/google_sign_in/google_sign_in/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 4.1.0
+
+* Support web by default.
+* Require Flutter SDK `v1.12.13+hotfix.4` or greater.
+
 ## 4.0.17
 
 * Add missing documentation and fix an unawaited future in the example app.
diff --git a/packages/google_sign_in/google_sign_in/example/web/index.html b/packages/google_sign_in/google_sign_in/example/web/index.html
new file mode 100644
index 0000000..bd37345
--- /dev/null
+++ b/packages/google_sign_in/google_sign_in/example/web/index.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="UTF-8">
+  <meta name="google-signin-client_id" content="159623150305-q05bbbtsutr02abhips3suj7hujfk4bg.apps.googleusercontent.com" />
+  <title>Google Sign-in Example</title>
+</head>
+<body>
+  <script src="main.dart.js" type="application/javascript"></script>
+</body>
+</html>
diff --git a/packages/google_sign_in/google_sign_in/pubspec.yaml b/packages/google_sign_in/google_sign_in/pubspec.yaml
index 0176692..45b395f 100644
--- a/packages/google_sign_in/google_sign_in/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Flutter plugin for Google Sign-In, a secure authentication system
   for signing in with a Google account on Android and iOS.
 homepage: https://github.com/flutter/plugins/tree/master/packages/google_sign_in/google_sign_in
-version: 4.0.17
+version: 4.1.0
 
 flutter:
   plugin:
@@ -12,12 +12,20 @@
         pluginClass: GoogleSignInPlugin
       ios:
         pluginClass: FLTGoogleSignInPlugin
+      web:
+        default_package: google_sign_in_web
 
 dependencies:
   google_sign_in_platform_interface: ^1.0.0
   flutter:
     sdk: flutter
   meta: ^1.0.4
+  # The design on https://flutter.dev/go/federated-plugins was to leave
+  # this constraint as "any". We cannot do it right now as it fails pub publish
+  # validation, so we set a ^ constraint.
+  # TODO(amirh): Revisit this (either update this part in the  design or the pub tool).
+  # https://github.com/flutter/flutter/issues/46264
+  google_sign_in_web: ^0.8.2
 
 dev_dependencies:
   http: ^0.12.0
@@ -26,4 +34,4 @@
 
 environment:
   sdk: ">=2.0.0-dev.28.0 <3.0.0"
-  flutter: ">=1.10.0 <2.0.0"
+  flutter: ">=1.12.13+hotfix.4 <2.0.0"