NativeScript / NativeScript/firebase
[messaging-core] Problems with requesting permissions on Android 33
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 62
- Forks
- 53
- Merge moyen
- 8 j 4 h
- PR mergées (30 j)
- 2
Description
I'm trying to migrate from the old firebase plugin to this one, and I'm getting some strange problem testing on a simulator with API 33. As soon as I call the request permissions, I do not get any prompts and I get a rejection. Here is a sample code:
export async function onTap() {
try {
const result = await MessagingCore.getInstance().requestPermission();
console.log("RES", result);
}
catch (e) {
console.error("ERROR", e);
}
}
From what I see it is because of this:
https://github.com/NativeScript/firebase/blob/889726640381cb4a0cdbe855f658ff3245a0eb3d/packages/firebase-messaging-core/index.android.ts#L314-L319
Does requesting permissions for notifications work only on physical devices?
Also why does this code reject while the iOS code resolves even if permission is denied but with the correct status code? Shouldn't this be changed to resolve(AuthorizationStatus.DENIED) for better cross platform interoperability? Right now I have to surround the request call with an empty try/catch to simulate similar behavior as on iOS.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par packages/firebase-messaging-core/index.android.ts aux lignes 314-319 et suivez le chemin requestPermission d’Android 33 en utilisant l’appel d’exemple de l’issue. Comparez son comportement en cas de refus avec l’implémentation iOS décrite par le rapporteur. La tâche est terminée lorsque le comportement sur l’émulateur ou l’appareil est compris et que le résultat de permission refusée est cohérent avec l’attente multiplateforme indiquée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- android, firebase, typescript
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100