标签: onesignal

Swift didReceiveRemoteNotification没有调用

我有一个使用oneSignal作为推送提供商的应用程序.我可以收到推送通知,效果很好.但是,如果我尝试访问推送有效负载,我什么都didReceiveRemoteNotification没有被调用.

我有以下代码

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

 if application.applicationState != UIApplicationState.Background {

        let preBackgroundPush = !application.respondsToSelector("backgroundRefreshStatus")
        let oldPushHandlerOnly = !self.respondsToSelector("application:didReceiveRemoteNotification:fetchCompletionHandler:")
        var pushPayload = false
        if let options = launchOptions {
            pushPayload = options[UIApplicationLaunchOptionsRemoteNotificationKey] != nil
        }

    }
    if application.respondsToSelector("registerUserNotificationSettings:") {
        let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
        application.registerUserNotificationSettings(settings)
        application.registerForRemoteNotifications()
    } else {
        let types : UIRemoteNotificationType =  [.Badge, .Alert, .Sound]
        application.registerForRemoteNotificationTypes(types)
    }

}

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) …
Run Code Online (Sandbox Code Playgroud)

ios swift onesignal

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

OneSignal 推送通知细分用户

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

那么如何在 Android OneSignal 中细分用户,以便向该细分中的特定用户发送推送通知。

android onesignal

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

有关safari配置的OneSignal Web推送通知不起作用

我正在通过阅读他们的文档来设置OneSignal的Web推送通知.下面的代码块是我的配置示例

<script>
    var OneSignal = window.OneSignal || [];
    OneSignal.push(["init", {
        appId: "my-app-id",
        safari_web_id: 'my-safari-web-id',
        autoRegister: false,
        notifyButton: {
            enable: true /* Set to false to hide */
        },
    }]);
</script>
Run Code Online (Sandbox Code Playgroud)

它适用于Google Chrome和Firefox.但是在safari上不起作用,当我点击订阅通知按钮时,我得到了如下错误

Safari错误日志

我的配置出了什么问题?

我使用safari版本10.0.1(12602.2.14.0.7)

safari macos web-push onesignal

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

Android:OneSignal如何使用自定义图标或应用图标更改通知帐单图标?

收到通知后,会显示帐单图标而不是应用图标或自定义图标,我会覆盖它以显示代码.我可以从仪表板更改图标,但我想从代码中处理它

Intilaization

    OneSignal.startInit(this)
            .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)// to hide dialog
            .setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
            .init();
Run Code Online (Sandbox Code Playgroud)

接收器类

  class ExampleNotificationOpenedHandler implements OneSignal.NotificationOpenedHandler
{
    // This fires when a notification is opened by tapping on it.
    @Override
    public void notificationOpened(OSNotificationOpenResult result)
    {
        OSNotificationAction.ActionType actionType = result.action.type;
        JSONObject data = result.notification.payload.additionalData;
        String customKey;

        Intent intent = new Intent(Roshetta.app, SplashActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);


        int requestCode = 0;

            PendingIntent pendingIntent = PendingIntent.getActivity(Roshetta.app, requestCode, intent, PendingIntent.FLAG_ONE_SHOT);
            Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);

            android.support.v4.app.NotificationCompat.Builder noBuilder = new android.support.v4.app.NotificationCompat.Builder(Roshetta.app)
                    .setSmallIcon(R.mipmap.ic_launcher).setLargeIcon(largeIcon).setContentTitle(result.notification.payload.title)
                    .setContentText(result.notification.payload.body …
Run Code Online (Sandbox Code Playgroud)

android push-notification onesignal

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

在同一设备上处理多个用户

我正在使用 OneSignal 来管理推送通知。一切都很好,但是您如何处理同一设备上的多个用户?

例如,玩家 A 登录到我的应用程序。OneSignal 只能通过与设备关联的玩家 ID 来查看它们。

现在玩家 A 退出,并以玩家 B 的身份重新登录我的应用。因为玩家 A 和玩家 B 使用相同的设备,OneSignal 将向他们发送相同的通知(因为玩家 ID 是特定于设备的)。

那么如何使用 OneSignal 区分同一设备上的许多不同用户?

push-notification ios onesignal

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

OneSignal - 发送预定通知

我想为OneSignal发送预定的消息,但我没有使用他们的仪表板,我想使用API​​来执行此操作,我确实阅读了他们的文档,但我找不到任何东西来修改他们当前的API,以便我可以发送预定的通知

function sendMessage(){
        $content = array(
            "en" => $message,

            );

    $fields = array(
        'app_id' => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        'included_segments' => array('All'),
  'data' => array("foo" => "bar"),
        '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 NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj'));
    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;
}

$response = sendMessage();
$return["allresponses"] = $response;
$return = json_encode( $return); …
Run Code Online (Sandbox Code Playgroud)

api push-notification onesignal

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

用户环境不匹配(Sandbox)OneSignal Cordova

我想通过OneSignal发送通知,我按照文档中的所有步骤进行操作但总是显示此消息'Apple返回BadDeviceToken错误.有些用户与发送环境绑定在不同的环境中.任何的想法!!

(生产证书)捆绑ID:*****,到期日:2018年9月15日

(沙盒证书)捆绑ID:*****,到期日:2018年9月15日

用户环境不匹配(Sandbox)Apple返回BadDeviceToken错误.某些用户与发送环境绑定在不同的环境中.

此警告发生一次,最后一次发生不到10秒.

受影响的用户:6414cbae-876a-4360-9783-eb51c0cc0e29

帮我解决这个问题.

cordova onesignal xcode8

5
推荐指数
2
解决办法
1711
查看次数

OneSignal - 创建细分

我想创建oneSignal段具有他们是否有该原料药或其他任何方式把它与我做访问仪表盘,所以我在想,出来

api push-notification onesignal ionic2

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

如何在localhost上测试Onesignal推送通知?

在将应用程序部署到远程服务器之前,我想在localhost上测试OneSignal推送通知.

我按照文档提供的说明进行操作.当我输入http://localhost网站网址时,我收到一条错误消息:

localhost已被占用.请输入其他名称.

有没有办法在localhost 上使用OneSignal

localhost push-notification onesignal

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

“ Onesignal for Voip push”和“ Firebase Cloud Messaging”不能同时使用

我正在集成由“实时数据库”中的更新触发的“ Firebase云消息传递”,在与One Signal集成(用于向IOS设备发送Voip推送通知)之前,它一直运行良好。发送Voip推送通知的一种信号运行良好。

有谁知道我的代码会发生什么,如果您可以在下面更正我的代码,这对我非常有帮助(即使只是建议,教如何解决的问题也有很大帮助)。

已经尝试使用不带Firebase的One Signal发送常规推送通知和Voip推送通知,但是One Signal技术支持提到“我们不建议将同一应用程序用于voip和常规推送。”

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    // PushKit
    let registry = PKPushRegistry(queue: nil)
    registry.delegate = self
    registry.desiredPushTypes = [PKPushType.voIP]

    //  Converted to Swift 4 by Swiftify v4.1.6781 - https://objectivec2swift.com/
    FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)


    SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)

    if #available(iOS 10.0, *) {
        // For iOS 10 display notification (sent via APNS)
        UNUserNotificationCenter.current().delegate = self

        let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
        UNUserNotificationCenter.current().requestAuthorization( …
Run Code Online (Sandbox Code Playgroud)

ios firebase google-cloud-messaging swift onesignal

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