Match via Firebase
Match via Firebase
Match information available through the Match API endpoint, automatically updated and delivered to your Firebase backend in real-time.
Configuring your Console
Follow the instructions below to receive automated cricket match updates in your Firebase Realtime Database.
- To receive automatic match updates from Roanuz Cricket API, you are required to share a service account with us.
- From your Firebase Console, go to Project Settings and open the Service Accounts tab. In the Service accounts settings, click on the "Manage service account permissions" option.
- Now, click on the "Create Service Account" button. Enter a suitable Service account name & Service Account ID and click Create. Provide an optional description in the Description field if needed.
- In the second step, under the "Select a Role" dropdown, type and select "Firebase Admin". Once done, skip the third step and click on Done.
- Now, in the Filter table, in the Service account you have just created, click on the options button under the Actions column and click on Create Key. Select JSON as the Key type and click on Create. A JSON file will now be downloaded in your system.
- Now, head back to your Firebase Console and create a new Realtime Database under test mode. After creating the database, create a node called "rs-cricket" with a value 1 for us to push data.
- Now, open a new Tab in your browser and head to your Roanuz Console. Click on Push Configuration and select the Firebase option.
- Click on the Generate option near the Push Auth Code field. In the DB URL text box, paste your Firebase Realtime Database URL, and in the Service Data text box, paste the contents of the JSON file which was previously downloaded.
- Copy the value of the generated Push Auth Code and head back to your Firebase Console.
- Replace the snippet in the Rules tab of your Realtime Database with the following snippet:
DB rules
{
"rules": {
".read": "auth.uid === 'rs-cricket-user-<your generated push auth code'",
".write": "auth.uid === 'rs-cricket-user-<your generated push auth code'",
}
}
{
"rules": {
".read": "auth.uid === 'rs-cricket-user-<your generated push auth code'",
".write": "auth.uid === 'rs-cricket-user-<your generated push auth code'",
}
}
- Now, click on Publish. You are now all set to subscribe and receive automatic match updates.
Sending a Subscription Request
You have to subscribe to the matches individually for receiving automatic updates. The Sample snippet below demonstrates how to send a subscription request. Please note that subscribing twice to the same match does not mean that you will be charged twice, or you will receive the same update twice.
Match Subscribe - Firebase
TERMINAL
pip install requests
pip install requests
match_subscribe_firebase.py
import requests
project_key = 'YOUR_PROJ_KEY'
token = 'YOUR_ACCESS_TOKEN'
match_key = 'ausind_2020_odi01'
url = "https://api.sports.roanuz.com/v5/cricket/{}/match/{}/subscribe/".format(project_key,match_key)
headers = {
'rs-token': token
}
payload = {
'method': "google:firebase"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
import requests
project_key = 'YOUR_PROJ_KEY'
token = 'YOUR_ACCESS_TOKEN'
match_key = 'ausind_2020_odi01'
url = "https://api.sports.roanuz.com/v5/cricket/{}/match/{}/subscribe/".format(project_key,match_key)
headers = {
'rs-token': token
}
payload = {
'method': "google:firebase"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Handling the data received
Once successfully set up, Roanuz Cricket API servers will automatically start pushing data to your Firebase Realtime Database as the match progresses. You can easily include the data in your application by using the Firebase APIs.
Unsubscribing from a Match
For any reasons, if you wish to opt-out of receiving automatic updates for a match, you can do so by placing an unsubscribe request from the Match Unsubscribe API.
Match Unsubscribe - Firebase
TERMINAL
pip install requests
pip install requests
match_unsubscribe_firebase.py
import requests
project_key = 'YOUR_PROJ_KEY'
token = 'YOUR_ACCESS_TOKEN'
match_key = 'ausind_2020_odi01'
url = "https://api.sports.roanuz.com/v5/cricket/{}/match/{}/unsubscribe/".format(project_key,match_key)
headers = {
'rs-token': token
}
payload = {
'method': "google:firebase"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
import requests
project_key = 'YOUR_PROJ_KEY'
token = 'YOUR_ACCESS_TOKEN'
match_key = 'ausind_2020_odi01'
url = "https://api.sports.roanuz.com/v5/cricket/{}/match/{}/unsubscribe/".format(project_key,match_key)
headers = {
'rs-token': token
}
payload = {
'method': "google:firebase"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())