2017-06-21 7 views
0

Ich versuche, eine Push-Benachrichtigung von der Firebase-Konsole an mein ios-Gerät per Token-ID zu senden. Ich verwende reactive-native-firebase, damit die App Aktionen basierend auf den Benachrichtigungsereignissen ausführen kann. Ich folgte den Anweisungen, um das SDK zu integrieren und haben die APNS Zert usw. einzurichten:Es ist nicht möglich, Push-Benachrichtigungen von der Firebase-Konsole mit react-native-firebase zu senden.

http://invertase.io/react-native-firebase/#/installation-ios

Meine firebase.js Konfigurationsdatei sieht wie folgt aus:

import RNFirebase from 'react-native-firebase'; 

const configurationOptions = { 
    debug: true 
}; 

const firebase = RNFirebase.initializeApp(configurationOptions); 

export default firebase; 

Meine Haupt React Komponente sieht wie folgt aus:

import React, { Component } from 'react' 
import { 
    Text, 
    View, 
    Alert, 
    Platform 
} from 'react-native' 
import firebase from './firebase' 

export default class extends Component { 

    constructor(props) { 
    super(props) 
    this.state = { 
     token: '' 
    } 
    } 

    componentDidMount() { 
    firebase.messaging().getToken() 
     .then((token) => { 
      this.setState({ token }) 
      console.log('token: ', token) 
     }) 

    firebase.messaging().getInitialNotification() 
     .then((notification) => { 
      console.log('Notification which opened the app: ', notification) 
     }) 

    firebase.messaging().onMessage((message) => { 
     console.log('messaging', message) 
    }) 

    firebase.messaging().onTokenRefresh((token) => { 
     console.log('Refreshed FCM token: ', token) 
    }) 
    } 

    render() { 
    return (
     <View style={{ marginTop: 22 }}> 
      <Text>{this.state.token}</Text> 
     </View> 
    ) 
    } 

}

Ich erhalte das Token erfolgreich, wenn die Komponente geladen wird, und verwende dann das in der Firebase-Konsole, um eine Benachrichtigung zu senden, aber die Benachrichtigung wird nicht empfangen. Ich benutze ein echtes Gerät, nicht und iPhone. Ich verwende ein Entwicklungsbereitstellungsprofil mit aktivierten Push-Benachrichtigungen und der Berechtigung zum Zurücknehmen von Benachrichtigungen für die Entfernung, die erfolgreich aktiviert wurden, zusammen mit dem entsprechenden Entwicklungs-APN-Zertifikat, das in die Firebase-Konsole hochgeladen wurde.

Warum erhalte ich die Benachrichtigung nicht auf dem Gerät?

Antwort

1

Okay, es sieht so aus, als ignorierte es nur die Remote-Benachrichtigungen, weil ich keine Berechtigungen vom Benutzer angefordert hatte. Nur benötigt, um dies über das SDK zu tun:

componentDidMount() { 
    firebase.messaging().requestPermissions() 
    firebase.messageing().getToken().then... 
Verwandte Themen