如果应用是从 Google Play 商店下载的,Android 应用是不是只会收到推送通知? (反应原生博览会)

Posted

技术标签:

【中文标题】如果应用是从 Google Play 商店下载的,Android 应用是不是只会收到推送通知? (反应原生博览会)【英文标题】:Will an Android app only receive push notifications is the app was downloaded from the Google Play Store? (React Native Expo)如果应用是从 Google Play 商店下载的,Android 应用是否只会收到推送通知? (反应原生博览会) 【发布时间】:2021-09-10 12:37:33 【问题描述】:

我正在使用 Expo 推送通知。推送通知在 Expo Go 和发布到 Google Play 商店的应用程序中运行良好。但是当我创建一个 APK 文件并将其直接下载到我的 android 手机上时,而不是通过 Google Play 商店,我发送的推送通知没有收到。

推送通知是否仅适用于发布到 Google Play 商店的应用?或者有没有办法接收直接下载到 Android 手机上的应用程序的推送通知,而无需发布到 Google Play 商店?

【问题讨论】:

不,无需将应用发布到 Play 商店即可接收推送通知 你测试了吗 -> expo.dev/notifications @MichaelBahl 是的,我做到了。它适用于 Expo Go 和发布到 Google Play 商店的应用程序。但它不适用于直接下载到手机的 apk。 你检查应用权限了吗? @MichaelBahl 什么是应用权限?你能以此作为答案吗?如果可以修复它,我会将其标记为答案。谢谢 【参考方案1】:

    根据您的 android 版本和 rom,您必须打开应用设置(对我来说长按应用图标)。

    选择设置

    选择通知

    为此应用启用通知

【讨论】:

这很有帮助。它还没有解决问题,但它证明了APK直接下载的权限请求有问题。由于某种原因,APK 应用程序未请求在 APK 直接下载时发送推送通知的权限。但它确实要求在 Expo Go 和发布到 Google 或 Apple 应用商店的应用中罚款。【参考方案2】:

我忘记从“react-native”导入 Platform 。

另外,我需要上传 Android 服务器 api 密钥凭据,该凭据可以在 Firebase 控制台中的 Cloud Messaging 下的项目设置中找到。以下是如何在终端中上传服务器 api 密钥凭据:

expo push:android:upload --api-key <your-token-here>

可以在“上传服务器凭据”下找到文档:https://docs.expo.dev/push-notifications/using-fcm/

【讨论】:

以上是关于如果应用是从 Google Play 商店下载的,Android 应用是不是只会收到推送通知? (反应原生博览会)的主要内容,如果未能解决你的问题,请参考以下文章

我可以在安装在 Google Play 商店之外的应用上使用 Google Play 服务吗?

google play在哪里下载?

Google play是啥意思

很多人在找的,无需梯子下载Google Play商店应用!

怎么下载谷歌play

如何通过用于下载应用程序的 Google Play 商店帐户获取 Firebase 用户?