2017-12-19 6 views
0

Ich versuche, Push-Benachrichtigung von POSTMAN an meine RN-App mit EXPO zu senden. Ich endete mit einem Fehler:Der Empfänger ist mit keinem Gerät verbunden. React Native Expo

{ 
    "data": { 
     "status": "error", 
     "message": "The recipient \"ExponentPushToken[OrxoEFOL4iLBfbNDSTUskn]\" isn't associated with any device", 
     "details": { 
      "error": "DeviceNotRegistered" 
     } 
    } 
} 

Kann mir jemand helfen?

Antwort

0

Da das Gerät nicht registriert ist, würde ich ein Berechtigungsproblem vermuten.

Wenn Sie auf Android sind, sollten Push-Benachrichtigungen bei der Installation aktiviert werden. Wurden sie aktiviert?

Wenn Sie IOS verwenden, müssen Sie den Benutzer nach Berechtigungen für die Verwendung von Push-Benachrichtigungen fragen. Hast du die Berechtigungen korrekt eingegeben?

Sie können Berechtigungen mit expo importieren

import { Permissions } from 'expo'; 

Mit den Expo-Berechtigungen können Sie überprüfen, ob die Genehmigung erteilt wurde, und wenn er den Benutzer für die Berechtigung nicht fragen hat.

const { status: existingStatus } = await Permissions.getAsync(
    Permissions.NOTIFICATIONS 
); 
    let finalStatus = existingStatus; 

    // only ask if permissions have not already been determined, because 
    // iOS won't necessarily prompt the user a second time. 
    if (existingStatus !== 'granted') { 
    // Android remote notification permissions are granted during the app 
    // install, so this will only ask on iOS 
    const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS); 
    finalStatus = status; 
    } 

Dies wurde aus der Expo-Dokumentation übernommen. https://docs.expo.io/versions/latest/guides/push-notifications.html

Denken Sie daran, dass Sie keine Push-Benachrichtigungen an die Standardsimulatoren senden können. Wie die Expo unten sagt,

Note: iOS and Android simulators cannot receive push notifications, to test them out you will need to use a real-life device. Additionally, when calling Permissions.askAsync on the simulator, it will resolve immediately with “undetermined” as the status, regardless of whether you choose to allow or not.

Verwandte Themen