标签: onesignal

如何使用React Native显示Android全屏意图通知?

使用 React Native 和 OneSignal 时如何在 Android 上全屏显示时间敏感的通知?

这些通知是在接到电话或闹钟响起时发出的,并且应用程序显示居中的全屏通知而不是托盘通知。是否可以使用 React Native 来实现这样的通知?

Android 文档中的参考资料:

  1. https://developer.android.com/reference/android/app/Notification.Builder#setFullScreenIntent(android.app.PendingIntent,%20boolean)

  2. https://developer.android.com/training/notify-user/time-sensitive#java

push-notification android-notifications react-native onesignal

5
推荐指数
0
解决办法
1912
查看次数

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 …
Run Code Online (Sandbox Code Playgroud)

javascript onesignal

5
推荐指数
1
解决办法
4162
查看次数

如何使用 next-pwa 添加推送通知

我有一个 Next.js 应用程序,我使用next-pwa离线模式。现在我想添加推送通知(OneSignal解决方案),我看过很多文章/教程,它们都需要创建/更新服务工作者。

所以我的问题是:我该如何做到这一点,因为服务工作人员是由 生成的next-pwa,并且由于它已缩小而似乎不可编辑。

reactjs onesignal progressive-web-apps next.js next-pwa

5
推荐指数
1
解决办法
1万
查看次数

5
推荐指数
1
解决办法
4万
查看次数

iOS 中的 React Native OneSign 后台通知问题

我按照本指南在我的反应本机应用程序中设置 OneSignal 后台通知:https ://documentation.onesignal.com/docs/rn-android-native-module-setup-for-notification-service-extension#ios-notification-服务扩展模块

当我通过 Xcode 将应用程序直接安装到我的设备时,后台通知按预期工作。但是当我存档构建并从 TestFlight 安装它时,后台通知不起作用。除非emitNotificationEvent我添加的事件没有被触发,即使收到了推送通知。

当我在 Xcode 中跟踪存档构建的问题(使用设备控制台)时,_instance注意到NotificationExtensionModule.m. 有人遇到过类似的问题或知道可能是什么原因吗?

笔记

  • Xcode 版本:13.4
  • 在两种情况下接收推送通知(来自试飞或直接安装)
  • 要将新版本放入 TestFlight,用于增加具有相同版本号的内部版本号。
  • 尝试清理构建文件夹,重新安装 Pod,仍然没有任何效果

添加代码片段以进一步了解我的问题:

AppDelegate.h

#import <Foundation/Foundation.h>
#import <React/RCTBridgeDelegate.h>
#import <UIKit/UIKit.h>
#import <UserNotifications/UserNotifications.h>


@interface AppDelegate : UIResponder <UIApplicationDelegate,RCTBridgeDelegate,UNUserNotificationCenterDelegate>

@property (nonatomic, strong) UIWindow *window;

@end
Run Code Online (Sandbox Code Playgroud)

AppDelegate.m

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
  //access NotificationServiceExtensionModule emitNotificationEvent method
  [NotificationServiceExtensionModule.sharedInstance emitNotificationEvent:userInfo ];
  completionHandler(UIBackgroundFetchResultNoData);
}
Run Code Online (Sandbox Code Playgroud)

通知服务扩展模块.h

#import <foundation/Foundation.h>

// NotificationServiceExtensionModule.h
#import <React/RCTBridgeModule.h>
#import <React/RCTEventEmitter.h>

@interface NotificationServiceExtensionModule : …
Run Code Online (Sandbox Code Playgroud)

ios testflight react-native onesignal react-native-onesignal

5
推荐指数
1
解决办法
791
查看次数

如何使用One Signal + PHP + Server API发送推送通知?

我正在使用一个信号来发送Android应用程序的推送通知.我的问题是

如何使用服务器rest api设置发送推送通知?

php api android server onesignal

4
推荐指数
1
解决办法
3万
查看次数

OneSignal不调用didReceiveRemoteNotification

我们从UA迁移到One Signal。我们正在从云代码发送推送,例如

var pushInfo = {
      "app_id" : "xxxxxx",          
      "data": {
          "objectId": objectId,
          "placeId": placeId,
      },
      "included_segments": ["All Users"],
      "contents": {"en": message}
};
var headers = {
    "Content-Type": "application/json; charset=utf-8",
    "Authorization": "Basic XXXXX"
};

var options = {
 host: "onesignal.com",
 port: 443,
 path: "/api/v1/notifications",
 method: "POST",
 headers: headers,
};

var https = require('https');
var req = https.request(options, function(res) {  
res.on('data', function(data) {
  console.log("Response:");
  console.log(JSON.parse(data));
});
});

req.on('error', function(e) {
console.log("ERROR:");
console.log(e);
 });  
req.write(JSON.stringify(pushInfo));
req.end();
Run Code Online (Sandbox Code Playgroud)

在我的AppDelegate.m中

[OneSignal initWithLaunchOptions:launchOptions appId:@"XXXXX"];
Run Code Online (Sandbox Code Playgroud)

现在,在更早的时候,收到通知并用户点击它时,它曾经用于呼叫

-(void) …
Run Code Online (Sandbox Code Playgroud)

push-notification apple-push-notifications ios onesignal

4
推荐指数
1
解决办法
1834
查看次数

如何在Ionic 2中获得OneSignal播放器ID

我正在使用一个用于我在Ionic 2中开发的应用程序的信号插件,该插件正在运行.从OneSignal发送的消息显示在应用程序中,但是当我尝试获取播放器唯一ID时出现问题:

这是我用于显示消息的代码,此代码有效:

 let notificationOpenedCallback = function(jsonData) {
        let alert =alertCtrl.create({
          title: jsonData.notification.payload.title,
          subTitle: jsonData.notification.payload.body,
          buttons: ['OK']
        });
        alert.present();
        console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData));
      };

      window["plugins"].OneSignal
        .startInit("05d411f4-45da-4101-92a5-4a60e5c9fd03", "49543248748")
        .handleNotificationOpened(notificationOpenedCallback)
        .endInit();
Run Code Online (Sandbox Code Playgroud)

这段代码用于获取ID:

window["plugins"].OneSignal
             .startInit("05d411f4-45da-4101-92a5-4a60e5c9fd03", "49543248748")
             .endInit();
            window["plugins"].OneSignal.getIds(function(ids){
              firebase.database().ref('usuarios/'+ this.usuarioId).update({
                idOnesignal: ids.userId
              })
Run Code Online (Sandbox Code Playgroud)

这段代码不会运行

onesignal ionic2

4
推荐指数
1
解决办法
2802
查看次数

OneSignal在Web推送通知中设置自定义标题消息

我已经在我的网络应用程序中集成了单信号,通知工作正常,但如果考虑推送通知标题中的网页标题.

我需要在推送通知中设置自定义标题.

在此输入图像描述

我需要设置自定义消息来代替"仪表板"

这是我的代码:

$content = array(
    "en" => 'Hello Hii..!!'
);

$fields = array(
    'app_id' => 'APP_ID',
    'include_player_ids' => ['ids'],
    'data' => array("foo" => "bar"),
    'url' => 'URL',
    'contents' => $content
);

$fields = json_encode($fields);
//print("\nJSON sent:\n");
//print($fields);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8',
    'Authorization: Basic AuthorizationKey';
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$response = curl_exec($ch);
curl_close($ch);
return $response;
Run Code Online (Sandbox Code Playgroud)

php web onesignal

4
推荐指数
1
解决办法
4838
查看次数

如何在ionic 3中的Onesignal中将默认推送通知图标更改为小图标?

我必须要改变小图标推送通知Onesignal离子3个问题,我已经尝试了本教程https://documentation.onesignal.com/docs/customize-notification-iconshttps://ionicframework.com/docs/native/ onesignal /https://github.com/OneSignal/OneSignal-Cordova-SDK/issues/341#issuecomment-382648188,但是全部失败,我的推送通知中的小图标仍然默认为onesignal。

这是我的文件夹结构和脚本:

我的文件夹结构

在此处输入图片说明

copy_android_notification_icons.js

#!/usr/bin/env node

var fs = require('fs');
var path = require('path');

var rootDest = 'platforms/android/app/src/main/res';
var files = [{
    'icon_onesignal/res/drawable-hdpi/ic_stat_onesignal_default.png':
        path.join(rootDest, 'drawable-hdpi/ic_stat_onesignal_default.png')
}, {
    'icon_onesignal/res/drawable-mdpi/ic_stat_onesignal_default.png':
        path.join(rootDest, 'drawable-mdpi/ic_stat_onesignal_default.png')
}, {
    'icon_onesignal/res/drawable-xhdpi/ic_stat_onesignal_default.png':
        path.join(rootDest, 'drawable-xhdpi/ic_stat_onesignal_default.png')
}, {
    'icon_onesignal/res/drawable-xxhdpi/ic_stat_onesignal_default.png':
        path.join(rootDest, 'drawable-xxhdpi/ic_stat_onesignal_default.png')
}, {
    'icon_onesignal/res/drawable-xxxhdpi/ic_stat_onesignal_default.png':
        path.join(rootDest, 'drawable-xxxhdpi/ic_stat_onesignal_default.png')
}];

function createFolder(pathAbsolute) {
  if (!fs.existsSync(pathAbsolute)) {
    fs.mkdirSync(pathAbsolute);
  }

  console.log('Folder ready ', pathAbsolute);
}

module.exports = function(context) {
  var root = context.opts.projectRoot;

  createFolder(path.join(root, rootDest, 'drawable-hdpi')); …
Run Code Online (Sandbox Code Playgroud)

ionic-framework onesignal ionic3

4
推荐指数
2
解决办法
3478
查看次数