Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

V5 Firebase SDK update #191

Merged
merged 2 commits into from
Jun 19, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 16 additions & 15 deletions docs/_config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
android:
build:
tools: 3.3.2
tools: 3.4.1
fabric:
tools: 1.28.1
firebase:
Expand All @@ -14,9 +14,10 @@ android:
database: 17.0.0
firestore: 19.0.0
functions: 17.0.0
links: 17.0.0
invites: 17.0.0
messaging: 18.0.0
perf: 16.2.5
perf: 17.0.2
storage: 17.0.0
plugins: 1.2.1
gms:
Expand All @@ -26,17 +27,17 @@ ios:
fabric:
tools: 1.10.1
firebase:
ads: 5.20.2
auth: 5.20.2
config: 5.20.2
core: 5.20.2
crash: 5.20.2
ads: 6.2.0
auth: 6.2.0
config: 6.2.0
core: 6.2.0
crash: 6.2.0
crashlytics: 3.13.1
database: 5.20.2
firestore: 5.20.2
functions: 5.20.2
invites: 5.20.2
links: 5.20.2
messaging: 5.20.2
perf: 5.20.2
storage: 5.20.2
database: 6.2.0
firestore: 6.2.0
functions: 6.2.0
invites: 6.2.0
links: 6.2.0
messaging: 6.2.0
perf: 6.2.0
storage: 6.2.0
2 changes: 2 additions & 0 deletions docs/invites/android.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Android Installation

!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.

First ensure you have followed the [initial setup guide](version /installation/initial-setup) and the [dynamic links setup guide](version /links/android).

### Find your SHA fingerprint
Expand Down
2 changes: 2 additions & 0 deletions docs/invites/ios.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# iOS Installation

!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.

First ensure you have followed the [initial setup guide](version /installation/initial-setup) and the [dynamic links setup guide](version /links/ios).

> On iOS, users must be signed in with their Google Accounts before they can send invitations.
Expand Down
2 changes: 2 additions & 0 deletions docs/invites/reference/AndroidInvitation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Invitation

!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.

Android specific invitation settings.

## Methods
Expand Down
2 changes: 2 additions & 0 deletions docs/invites/reference/Invitation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Invitation

!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.

```
firebase.invites.Invitation
```
Expand Down
2 changes: 2 additions & 0 deletions docs/invites/reference/InvitationOpen.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# InvitationOpen

!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.

Object giving information about the invitation that was opened.

## Properties
Expand Down
2 changes: 2 additions & 0 deletions docs/invites/reference/Invites.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Dynamic Links

!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.

[Firebase Invites](https://firebase.google.com/docs/invites/) are an out-of-the-box solution for app referrals and sharing via email or SMS.

## Methods
Expand Down
2 changes: 1 addition & 1 deletion docs/links/reference/DynamicLink.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ To create a DynamicLink, first populate it by using the `setX` methods available
| Parameter | |
| --------- | ------- |
| link | **string** <br/> The link the target app will open. You can specify any URL the app can handle, such as a link to the app’s content, or a URL that initiates some app-specific logic such as crediting the user with a coupon, or displaying a specific welcome screen. This link must be a well-formatted URL, be properly URL-encoded, and use the HTTP or HTTPS scheme. |
| dynamicLinkDomain | **string** <br/> The Firebase project’s Dynamic Links domain. You can find this value in the Dynamic Links section of the Firebase console. |
| domainURIPrefix | **string** <br/> The Firebase project’s Dynamic Links domain. You can find this value in the Dynamic Links section of the Firebase console. It must begin with `https://` |

## Properties

Expand Down
17 changes: 9 additions & 8 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
## Latest Version
# Latest Version

The latest version is `v5.4.0`; [➡️ View the Release Notes](/docs/v5.x.x/releases/v5.4.x)
The latest version is `v5.5.0`; [➡️ View the Release Notes](/docs/v5.x.x/releases/v5.5.x)

## Older Versions
## Older Versions

- [v5.3.x](/docs/v5.x.x/releases/v5.3.x)
- [v5.2.x](/docs/v5.x.x/releases/v5.2.x)
- [v5.1.1](/docs/v5.x.x/releases/v5.1.1)
- [v5.1.0](/docs/v5.x.x/releases/v5.1.0)
- [v5.0.0](/docs/v5.x.x/releases/v5.0.0)
- [v5.4.x](/docs/v5.x.x/releases/v5.4.x)
- [v5.3.x](/docs/v5.x.x/releases/v5.3.x)
- [v5.2.x](/docs/v5.x.x/releases/v5.2.x)
- [v5.1.1](/docs/v5.x.x/releases/v5.1.1)
- [v5.1.0](/docs/v5.x.x/releases/v5.1.0)
- [v5.0.0](/docs/v5.x.x/releases/v5.0.0)
154 changes: 154 additions & 0 deletions docs/releases/v5.5.x.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
# v5.5.x Releases

!> **BREAKING CHANGE NOTICE: v5.x.x will allow breaking changes in the _minor_ version number**

> *This semver policy starts with v5.5.0*. The patch version will not allow breaking change. Patch releases will contain bugfixes and necessary features required for Firebase SDK compatibility, but occasionally the underlying Firebase SDKs or React-Native ecosystem require breaking change in order for v5 to stay relevant during the v5 -> v6 transition. Adjust your `package.json` to use the `~` semver range specifier vs `^` to avoid unexpected breaking specify the dependency like this and alter the minor version as it suits your project: `"react-native-firebase": "~5.5.0"`


----

> v6 is around the corner(ish), please check out [this issue](https://github.com/invertase/react-native-firebase/issues/2025) to keep up to date with all the changes coming as part of v6.

----

## Installation

You may install the current version using:

```bash
npm install --save react-native-firebase@~latest
```

Upgrade instructions are below.

----

## Changelog

### 5.5.0

!> **BREAKING CHANGES** This release updates the Firebase SDKs to current versions, including their underlying breaking changes

- [BREAKING CHANGE][DynamicLinks][domainUrlPrefix] use prefixURIDomain instead of domainUrlPrefix (start with `https://`)
- [BREAKING CHANGE][Invites] Invites API removed, use DynamicLinks
- [BREAKING CHANGE][Perf][incrementCount] Android: Trace.incrementCounter() removed use incrementMetric()
- [Chore][Dependencies][Firebase SDK] update Firebase SDKs to current, alter APIs accordingly
- [Fix][Test][GoogleSignin] You have to include ‘GoogleSignIn’, ‘~>4.4’ yourself now
- [Feat][Test][AdMob] Integrate AdMob into test app

----

## Upgrade instructions

```shell
npm install --save react-native-firebase@latest
```

- Alter DynamicLink creation to use 'prefixURIDomain' instead of 'domainUrlPrefix'
- It is very similar to domainUrlPrefix, but you must include the whole prefix, starting with `https://`
- Android SDK example <https://firebase.google.com/docs/dynamic-links/android/create#create-a-dynamic-link-from-parameters>
- iOS SDK example <https://firebase.google.com/docs/dynamic-links/ios/create#create-a-dynamic-link-from-parameters>
- Remove all use of Invites, DynamicLinks replaces it completely

----

### Android - Update Dependencies

1) In `android/app/build.gradle`, update all the firebase and gms dependencies to the following versions:

- **com.google.android.gms:play-services-base**:{{ android.gms.play-services-base }}
- **com.google.firebase:firebase-core**:{{ android.firebase.core }}
- **com.google.firebase:firebase-ads**:{{ android.firebase.ads }}
- **com.google.firebase:firebase-auth**:{{ android.firebase.auth }}
- **com.google.firebase:firebase-config**:{{ android.firebase.config }}
- **com.google.firebase:firebase-database**:{{ android.firebase.database }}
- **com.google.firebase:firebase-functions**:{{ android.firebase.functions }}
- **com.google.firebase:firebase-invites**:{{ android.firebase.invites }}
- **com.google.firebase:firebase-dynamic-links**:{{ android.firebase.links }}
- **com.google.firebase:firebase-firestore**:{{ android.firebase.firestore }}
- **com.google.firebase:firebase-messaging**:{{ android.firebase.messaging }}
- **com.google.firebase:firebase-perf**:{{ android.firebase.perf }}
- **com.google.firebase:firebase-storage**:{{ android.firebase.storage }}
- **com.crashlytics.sdk.android:crashlytics**:{{ android.firebase.crashlytics }}

2) Ensure you're using gradle build tools 3.3.2 or higher (untested above 4.0.0)

`android/build.gradle`:

```groovy
// ...
classpath 'com.android.tools.build:gradle:3.4.1'
// ...
```

3) Ensure you're using google services 4.2.0 or higher when you're using RN 0.59 or higher, and if using Firebase Performance, convert from firebase-plugins to perf-plugin

`android/build.gradle`:

```groovy
// ...
classpath 'com.google.gms:google-services:4.2.0'
// ...
```

4) If you are using Firebase Performance convert from firebase-plugins to perf-plugin:

`android/build.gradle`:

```groovy
// ...
classpath 'com.google.firebase:perf-plugin:1.2.1'
// ...
```

`android/app/build.gradle`:

```groovy
// ...
apply plugin: "com.google.firebase.firebase-perf"
// ...


----

### iOS - Update Firebase SDKs

> These versions are almost all new from 5.4.x

v5.5.x supports iOS SDK version `5.19.0` and above; however it is recommended to update to `v6.2.0` and lock the versions specifically in your `Podfile`:

```ruby
pod 'Firebase/AdMob', '~> 6.2.0'
pod 'Firebase/Auth', '~> 6.2.0'
pod 'Firebase/Core', '~> 6.2.0'
pod 'Firebase/Database', '~> 6.2.0'
pod 'Firebase/Functions', '~> 6.2.0'
pod 'Firebase/DynamicLinks', '~> 6.2.0'
pod 'Firebase/Firestore', '~> 6.2.0'
pod 'Firebase/Messaging', '~> 6.2.0'
pod 'Firebase/RemoteConfig', '~> 6.2.0'
pod 'Firebase/Storage', '~> 6.2.0'
pod 'Firebase/Performance', '~> 6.2.0'

# Crashlytics
pod 'Fabric', '~> 1.10.1'
pod 'Crashlytics', '~> 3.13.1'
```

----

## Feedback

We want your feedback!

If you have any comments and suggestions or want to report an issue, come find us on [Discord](https://discord.gg/C9aK28N), [Twitter](https://twitter.com/rnfirebase) or [GitHub](https://github.com/invertase/react-native-firebase).

## Contributing

Thank to [all the contributors](https://github.com/invertase/react-native-firebase/graphs/contributors?from=2019-01-01&to=2020-01-01&type=c) that made this release happen 💛.

If you'd like to contribute please check out our [testing](https://rnfirebase.io/docs/v5.x.x/testing) and [contributing](https://rnfirebase.io/docs/v5.x.x/contributing) guides.

## Other Releases

[View other releases.](/docs/v5.x.x/release-notes)