уведомление щелкнуло или нет ........ отметка времени клика - PullRequest
0 голосов
/ 25 февраля 2019

Я новичок в реакции на родную систему и отправляю уведомления через облачные сообщения Firebase.Я хочу, чтобы был способ проверить, щелкают ли отправленные уведомления или нет, и когда щелкают уведомления (отметка времени).Есть ли выход с помощью библиотеки, или мы можем это сделать с помощью ReactionDOM?Я пытался использовать реагировать родную библиотеку push-уведомлений.

My App.js -

import React, { Component } from 'react';
import { Platform, StyleSheet, Text, View } from 'react-native';
import AsyncStorage from 'react-native';
import firebase from 'react-native-firebase';

const instructions = Platform.select({
    ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
    android: 'Double tap R on your keyboard to reload,\n' +
        'Shake or press menu button for dev menu',
});

type Props = {};
export default class App extends Component {

    async componentDidMount() {
        this.checkPermission();

    }

    //1
    async checkPermission() {
        const enabled = await firebase.messaging().hasPermission();
        if (enabled) {
            this.getToken();
        } else {
            this.requestPermission();
        }
    }
    async requestPermission() {
        console.log('this is second');
        try {
            await firebase.messaging().requestPermission();
            // User has authorised
            this.getToken();
        } catch (error) {
            // User has rejected permissions
            console.log('permission rejected');
        }
    }

    //3
    async getToken() {
        let fcmToken = await AsyncStorage.getItem('fcmToken', value);
        if (!fcmToken) {
            fcmToken = await firebase.messaging().getToken();
            if (fcmToken) {
                // user has a device token
                await AsyncStorage.setItem('fcmToken', fcmToken);
            }
        }
    }

    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>Welcome to React Native!</Text>
                <Text style={styles.instructions}>To get started, edit App.js</Text>
                <Text style={styles.instructions}>{instructions}</Text>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    },
    instructions: {
        textAlign: 'center',
        color: '#333333',
        marginBottom: 5,
    },
});
...