> For the complete documentation index, see [llms.txt](https://clone-app-solutions.gitbook.io/cabme/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://clone-app-solutions.gitbook.io/cabme/ios/updating-fcm-key-firebase-cloud-messaging.md).

# Updating FCM Key (Firebase Cloud Messaging)

● Get FCM Key used to push notification into different types of Web Application, Mobile Application.&#x20;

● Follow the link to create FCM [https://console.firebase.google.com ](<https://console.firebase.google.com >)

● Create the project and create both driver and rider app&#x20;

● Update the Firebase RealTime Database Rules.

● Click setting in selected app&#x20;

● Download the GoogleService-Info.plist from firebase console&#x20;

**Note: Use same FCM key in web, android and iOS also.**

Update Rules like below :

```
{
  "rules": {
    ".read": "true",
    ".write": "true"
  }
}
```

`Or`

```
{
"rules": {
"live": {
"live_tracking": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
// UID must match logged in user and is fixed once set
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"Notification": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$user_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"driver_rider_trip_chats": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"trip": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"trip_request": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"GeoFire": {
".read": "auth.uid != null",
".write": "auth.uid != null",
".indexOn": "g",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
}
},
"demo": {
"live_tracking": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"Notification": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$user_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"driver_rider_trip_chats": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"trip": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"trip_request": {
".read": "auth.uid != null",
".write": "auth.uid != null",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
},
"GeoFire": {
".read": "auth.uid != null",
".write": "auth.uid != null",
".indexOn": "g",
"$trip_id": {
"uid": {
".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
},
}
}
}
}
}
```

**Steps To update FCM Key**

1. Open the Source folder
2. And then open project folder (`Cabme`)
3. Now to place / replace the GoogleService-Info.plist file Paste API key in Xcode Project
