ниже - мой код для уведомления pu sh. Я хочу получить имя и фамилию гонщика и отправить его в виде уведомления pu sh на номер ближайшего родственника. кнопка не работает или не отправляет никаких уведомлений.
импорт React из 'реакции'; import {StyleSheet, Text, View, Button, AsyncStorage, createDrawerNavigator, Image, TouchableHighlight} из'act-native '; import {Content, Container, Header, Left, Icon, Footer, Body, Card, CardItem} из 'native-base'; импорт firebase из 'firebase';
import {Permissions, Notifications} из 'expo-permissions'; импортировать RiderPickUp из './RiderPickUp'; импортировать RiderPickDrop из.
};
asyn c componentDidMount () {
AsyncStorage.getItem('riderId')
.then(result =>
firebase.database().ref('/Riders/' +result+'/Details').once('value').then(function(snapshot) {
firstname = snapshot.child('firstname').val();
lastname = snapshot.child('lastname').val();
nextOfKinNumber = snapshot.child('nextOfKinNumber')
}).then(()=>{
//console.log("fine"+result);
},(error)=>{
console.error("error"+error);
console.log("the user id:"+userId);
})
)
AsyncStorage.getItem('driverId')
.then(result =>
firebase.database().ref('/Drivers/' +result+'/Details').once('value').then(function(snapshot) {
firstname = snapshot.child('firstname').val();
lastname = snapshot.child('lastname').val();
// phone = snapshot.child('phone').val();
}).then(()=>{
//console.log("fine"+result);
},(error)=>{
console.error("error"+error);
console.log("the user id:"+userId);
})
)
this.currentUser = await firebase.auth().currentUser;
await this.registerForPushNotificationsAsync();
}
sendPushNotification = () => {
let response = fetch('https://exp.host/--/api/v2/push/send', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: nextOfKinNumber,
sound: 'default',
title: 'Go App',
body: `Name ${this.firstname + this.lastname},
booked a ride with driver details Name ${this.driverfirstname + this.driverlastname },
from pickuplocation ${RiderPickUp} to Destination ${RiderPickDrop}`
,
priority : 'high',
})
});
};
stati c navigationOptions = {
drawerIcon: ({ tintColor }) => (
<Image
source={require('../Images/notification.png')}
style={{width:25,height:25}}
/>
),
};
render () {return (
<Header style={{backgroundColor:'#42A5F5',height:75}}>
<Left>
<TouchableHighlight
style={{width:50,height:50,borderRadius:50,alignItems:'center',justifyContent:'center',marginTop:20}}
onPress={() => this.props.navigation.navigate('Home')}
>
<Icon
name="arrow-back"
style={{color:'#ffffff',}}
/ >
</TouchableHighlight>
</Left>
<Body>
<Text style={{color:'#ffffff',fontSize:20,fontWeight:'bold',marginTop:20}}>Notifications</Text>
</Body>
</Header>
<Content >
<View style={styles.loginButtonSection}>
<Button
title="Notify Next Of Kin"
onPress={() => this.sendPushNotification()}
/>
</Content>
</Container>
);
}
}
const styles = StyleSheet.create ({containerView: {flex: 1, backgroundColor: '# ffffff'}, map: {height: 600 , marginTop: 0},
loginButtonSection: {высота: 50, ширина: 350, paddingLeft: 80, marginTop: 415, justifyContent: 'center', alignItems: 'center'}
} ); [! [Это мои узлы базы данных firebase] [1]] [1]
[1]: https://i.stack.imgur.com/gHksd.png