onesignal 相关问题

OneSignal是移动和Web推送通知以及推送消息服务和API。开发人员和营销人员使用OneSignal向其客户提供和跟踪有针对性的交易和促销信息。

React 本机应用程序可与 expo go 配合使用,但在转换为 APK 时则无法使用

我正在尝试使用 expo 创建一个简单的项目。 这是我的 App.js 的代码: 从“反应”导入反应; 从'react-native'导入{文本,视图}; const YourApp = () => { 返回 ( 我正在尝试使用 expo 创建一个简单的项目。 这是我的代码App.js: import React from 'react'; import {Text, View} from 'react-native'; const YourApp = () => { return ( <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', }}> <Text>Try editing me! 🎉</Text> </View> ); }; export default YourApp; 当我运行npx expo start并通过扫描二维码在手机中运行程序时。但是当我使用 eas build -p android --profile preview 转译程序并安装该程序时,应用程序崩溃了(在我的 Android 手机和 Android 平板电脑中都是如此。 这是我的app.json: { { "expo": { "name": "v5", "extra": { "eas": { "projectId": "4fc3529c-f92f-43aa-bc19-8f72f43e14a5" } } } } 还有我的package.json: { "name": "push-notification", "version": "1.0.0", "main": "node_modules/expo/AppEntry.js", "scripts": { "start": "expo start", "android": "expo start --android", "ios": "expo start --ios", "web": "expo start --web" }, "dependencies": { "expo": "~49.0.13", "expo-status-bar": "~1.6.0", "firebase": "^10.4.0", "metro-core": "^0.79.1", "react": "18.2.0", "react-native": "0.72.5", "react-native-onesignal": "^5.0.1", "react-native-screens": "~3.22.0", "react-native-safe-area-context": "4.6.3" }, "devDependencies": { "@babel/core": "^7.20.0" }, "private": true } 这是错误: Invariant Violation: "main" has not been registered. This can happen if: * Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project. 我搜索了有关该主题的先前主题,但没有找到有用的答案。从头开始该项目并没有帮助。 提前致谢! 我从头开始了一个项目,并尝试在 main 中调用应用程序注册表。 我发现您的 main 中的 package.json 键设置为 node_modules/expo/AppEntry.js。你的registerRootComponent住在哪里? 也许您可以尝试创建一个 index.js 文件,并将应用程序注册表行放入其中。它看起来像: import { registerRootComponent } from 'expo'; import YourApp from './src/YourApp'; registerRootComponent(YourApp); 然后,尝试将 main 正在查看的路径更改为 index.js 所在的路径。

回答 1 投票 0

无法从 One Signal 网络推送通知 (Safari iOS) 中删除“来自 {{APP_NAME}}”

我在我的 PWA 上使用 One Signal 进行网络推送通知。但在 iOS 设备上测试时,我收到的推送通知上有“来自 {{MY_APP_NAME}}”。我正在努力获得...

回答 1 投票 0

订阅后获取OneSignal UserID

我正在使用 OneSignal 来获取通知,因此根据文档,我制作了如下 SDK 代码: ...</desc> <question vote="2"> <p>我使用 OneSignal 来获取通知,因此根据文档,我制作了如下 SDK 代码:</p> <pre><code>&lt;script src=&#34;https://cdn.onesignal.com/sdks/OneSignalSDK.js&#34; async&gt;&lt;/script&gt; &lt;script&gt; var OneSignal = window.OneSignal || []; OneSignal.push([&#34;init&#34;, { appId: &#34;myappID&#34;, safari_web_id: &#34;myID&#34;, autoRegister: false, promptOptions: { /* My prompt options */ }, welcomeNotification: { //my options }, notifyButton: { enable: true, showCredit: false, prenotify: true, position: &#39;bottom-left&#39;, text: { /*My text options */ }, colors: { // My custom colors } } }]); OneSignal.push(function(){ OneSignal.showHttpPrompt(); OneSignal.getUserId().then(function(userId){ console.log(&#34;OneSignal User ID:&#34;, userId); }); }); &lt;/script&gt; </code></pre> <p>显示幻灯片提示消息效果很好,但订阅后我需要刷新网站才能在控制台中获取 UserID。如何修改此代码功能以在订阅后立即在控制台中获取用户ID?</p> </question> <answer tick="true" vote="3"> <p>您需要添加订阅更改事件的监听器。否则, getUserId 调用将在用户接受订阅之前触发。这对我有用:</p> <pre><code>var OneSignal = window.OneSignal || []; OneSignal.push(function() { OneSignal.on(&#39;subscriptionChange&#39;, function (isSubscribed) { console.log(&#34;The user&#39;s subscription state is now:&#34;,isSubscribed); OneSignal.push(function() { OneSignal.getUserId(function(userId) { console.log(&#34;OneSignal User ID:&#34;, userId); }); }); }); }); OneSignal.push([&#34;init&#34;, { appId: &#34;myappID&#34;, safari_web_id: &#34;myID&#34;, autoRegister: false, promptOptions: { /* My prompt options */ }, welcomeNotification: { //my options }, notifyButton: { enable: true, showCredit: false, prenotify: true, position: &#39;bottom-left&#39;, text: { /*My text options */ }, colors: { // My custom colors } } }]); </code></pre> </answer> <answer tick="false" vote="0"> <blockquote> <p>从新版本V.16开始</p> </blockquote> <pre><code> window.OneSignalDeferred = window.OneSignalDeferred || []; OneSignalDeferred.push(function (OneSignal) { OneSignal.init({ appId:app_id, }); OneSignal.User.PushSubscription.addEventListener(&#34;change&#34;, function (event) { console.log(&#34;event&#34;); console.log(event); if (event.current.id) { //send data to server let data = { player_id: event.current.id, user_id: &#34;{{user.id}}&#34;, } axios.post( &#34;{% url &#39;notifications:save_player_id&#39; %}&#34;, data, { headers: { &#34;X-CSRFToken&#34;: &#34;{{ csrf_token }}&#34; } }) .then(function (response) {}, 5000); } }); });``` </code></pre> </answer> </body></html>

回答 0 投票 0

属性“setAppId”不存在 - Expo Onesignal

我按照本文档添加 Onesignal 以向我的博览会应用程序发送通知,在 app.tsx 文件中我添加了以下代码 从 'react-native-onesignal' 导入 OneSignal; useEffect(() => ...

回答 1 投票 0

当应用程序位于前台时禁用一个信号推送通知 ios 10 swift

我在onesignal启动选项中禁用了infocus、自动提示、启动url和应用程序警报,但当应用程序位于前台时仍然显示横幅,是我丢失了一些东西还是我写了一些东西

回答 3 投票 0

应用程序未运行时如何处理 One Signal 操作按钮上的点击事件 (Android Java)

我正在尝试在一个信号操作按钮上添加单击侦听器,但是当应用程序未运行时,我如何侦听该按钮上的单击事件,而我只想记录一个简单的混乱...

回答 1 投票 0

如何使用 One Signal 5.0.2 在 android Java 中获取玩家 ID?

在以前的版本中,如果有一个信号,我们可以使用以下行在android Java中获取玩家ID。 OneSignal.getPermissionSubscriptionState().getSubscriptionStatus().getUserId() 但这个方法...

回答 1 投票 0

如何在Nodejs中实现OneSignal推送通知?

我想使用 OneSignal 包在 Node js 中实现推送通知。

回答 1 投票 0

在应用程序中实现小图标

通过一个信号跟踪整个文档,并通过以下链接使用通知图标生成器创建资产: 文本 我已将资产文件放入可绘制文件中,但是当收到通知时,我...

回答 1 投票 0

OneSignal 推送通知细分用户

我在 OneSignal.com 创建了一个应用程序。现在我需要对用户进行细分,但我不知道如何使用 android 使用 onesignal 来做到这一点,因为我是 android 新手。 那么如何在 Android OneSi 中细分用户...

回答 3 投票 0

flutterflow 中的一个信号

我目前正在 FlutterFlow 的帮助下开发电子商务应用程序。我正在使用 WebView 小部件来显示 Web 内容并为每个页面实现导航栏 (NavBar)...

回答 2 投票 0

如果 (r.getData()) 需要数据类型 boolean,则在 OneSignal 中显示错误

OneSignal.getNotifications().requestPermission(Continue.with(r -> { if (r.isSuccess()) { if (r.getData()) { // `requestPermission` 成功完成并且...

回答 1 投票 0

无法在ios模拟器中构建onesignal flutter

嗨,实际上我在https://github.com/OneSignal/OneSignal-Flutter-SDK/issues/731中打开了问题,所以我尝试在我的flutter项目中安装onesignal,实际上我并没有使用它ios,我只有你...

回答 1 投票 0

当应用程序位于前台时,OneSignal 不显示通知

我将我的 flutter 应用程序与 onesignal 集成,当应用程序在后台时它工作得很好,但在前台它收到通知但不显示任何原因? 日志 颤动:

回答 1 投票 0

使用 OneSignal 在 iOS 上单击网络推送通知时,重定向在 PWA 网站上不起作用

我正在使用 OneSignal 发送网络推送通知。 在 iOS 中向 PWA 发送通知时,有时单击通知重定向不起作用 预期结果 : 点击通知后

回答 1 投票 0

flutter onesignal 添加问题“期望在当前工作目录中找到项目根目录。”

当我想向 flutter 添加一个信号时,出现以下错误。我该如何解决? 问题照片

回答 5 投票 0

Service Worker 安装] 安装 Service Worker 失败 TypeError:无法为范围一信号注册 ServiceWorker?

在检查控制台后,我正在尝试使用简单的方法在网站上实现一个信号通知,它向我显示此错误。如何在我的网站中实现单一信号通知? 在检查控制台后,我尝试使用简单的方法在网站上实现一个信号通知,它向我显示此错误。如何在我的网站中实现单一信号通知? <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""></script> <script> window.OneSignal = window.OneSignal || []; OneSignal.push(function() { OneSignal.init({ appId: "c208302-0-284011-12E8D", }); }); </script> ServiceWorkerManager.js:399 [Service Worker Installation] Installing service worker failed TypeError: Failed to register a ServiceWorker for scope ('https://www.simplenikah.pk/') with script ('https://www.simplenikah.pk/OneSignalSDKWorker.js?appId=c3aca046-2d30-4703-9454-c9f2666e3ac1'): A bad HTTP response code (404) was received when fetching the script. (anonymous) @ ServiceWorkerManager.js:399 a @ tslib.es6.js:63 /OneSignalSDKWorker.js?appId=c3aca046-2d30-4703-9454-c9f2666e3ac1:1 Failed to load resource: the server responded with a status of 404 () OneSignalError.js:18 Uncaught (in promise) Pe: Registration of a Service Worker failed. at xe.<anonymous> (https://cdn.onesignal.com/sdks/OneSignalPageSDKES6.js?v=151105:1:144815) at Generator.next (<anonymous>) at r (https://cdn.onesignal.com/sdks/OneSignalPageSDKES6.js?v=151105:1:716) 可能出现的问题 这看起来是与设置相关的常见问题。 Service Worker 文件默认位于 root 。 文件: https://example.site/**OneSignalSDKWorker.js** https://example.site/OneSignalSDKUpdaterWorker.js -(截至 2021 年 11 月 22 日,“updater”服务工作线程文件不再需要。)参考。 OneSignal 服务工人 问题可能是输入错误,或者如果您使用 OneSignal Push 插件,Worpress 会将文件放入路径为 wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js 的文件夹中。 如果您尝试通过添加自定义 OneSignal 对象初始化,这将引发错误。您在问题中添加的类似代码。 <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async=""> </script> <script> window.OneSignal = window.OneSignal || []; OneSignal.push(function() { OneSignal.init({ appId: "YOUR_APP_ID", }); }); </script> 解决问题的选项 因此,要正确设置对象,缺少以下内容:validscope和path到工作人员。 例如 OneSignal.SERVICE_WORKER_PARAM = { scope: '/push/onesignal/' }; OneSignal.SERVICE_WORKER_PATH = 'push/onesignal/OneSignalSDKWorker.js' 修复此问题或通过将工作文件移动到网站的根目录,或者如果这不是一个选项,则无论选择什么位置,请在 init 配置中指定它。这样OneSignal就会在正确的位置寻找它。 大家在一起会是这样的: <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async="" ></script> <script> const OneSignal = window.OneSignal || []; const initConfig = { appId: "YOUR_APP_ID" }; OneSignal.push(function () { OneSignal.SERVICE_WORKER_PARAM = { scope: '/push/onesignal/' }; OneSignal.SERVICE_WORKER_PATH = 'push/onesignal/OneSignalSDKWorker.js' OneSignal.init(initConfig); }); </script> 参考。 问题 403/404,子目录中的 Service Worker 文件 WordPress - OneSignal 插件 如上所述,如果推送插件正在使用并处于活动状态,任何自定义设置都必须否定默认行为,或停用插件,或者还有一个选项可以关闭插件对象初始化,请参见下文。 插件设置页面 -> 高级设置 -> [ --[+]] 禁用 OneSignal 初始化 对于仍然有效的插件,这里是代码: window.addEventListener('load', function() { window.OneSignal = window.OneSignal || []; window.OneSignal.push(function() { OneSignal.SERVICE_WORKER_PATH = "wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js"; OneSignal.SERVICE_WORKER_PARAM = { scope: "/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/" }; delete window._oneSignalInitOptions.path window.OneSignal.init(window._oneSignalInitOptions); }); }); 重要部分: 删除默认路径 - delete window._oneSignalInitOptions.path 初始化。在插件的仪表板 UI 中设置值 - window.OneSignal.init(window._oneSignalInitOptions); 参考。 Wordpress 自定义 展开配置 进一步扩展功能,在配置中添加设置,例如 const initConfig = { appId: "YOUR_APP_ID", notifyButton: { enable: true }, promptOptions: { ...promtOptions } } 参考。 电子邮件电话号码网络提示 对于像我这样遇到这个问题并在发现 OP 没有回来告诉我们如何解决它时给自己拍脸的人... 对我来说,问题是我从未真正下载并包含 OneSignal Service Worker 文件。 当我们通常将 SDK 与其他东西关联时,一个信号将 Service Worker 文件称为“SDK”...该文件更像是一个下载 Service Worker 代码的“助手”,而不是我们意义上的真正的“SDK”已经习惯了。 所以我必须返回到应用程序配置并下载文件并将其添加到网站的根目录中,我最初从未费心阅读注释,因为我一看到 SDK 就跳过了该部分,因为我知道我不是还没准备好呢。

回答 2 投票 0

在 Xamarin Forms 中未收到 Android 12 上的推送通知

我使用 Xamarin.Forms 开发了 iOS 和 Android 应用程序。 我已经使用 FCM 和 OneSignal 为我的应用程序实现了推送通知。 对于在 Android 12 以下运行的应用程序,推送通知正在工作...

回答 1 投票 0

没有这样的模块“OneSignal”

我正在尝试将 Xcode 7.2.1 中的 OneSignal SDK 与 CocoaPods 1.0.0.beta.2 和 use_frameworks 集成!指示。 当我尝试在 AppDelegate.swift 中导入框架时,我得到 没有这样的模块'

回答 8 投票 0

如何通过点击OneSignal推送通知打开Android应用程序

我在我的 flutter android 应用程序中集成了 OneSignal 推送通知,我收到了通知。但问题是当我点击它意味着应用程序没有打开。请任何人建议我解决这个问题。 我...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.