gpt4 book ai didi

ios - OneSignal iOS SDK 发送通知失败代码 400

转载 作者:搜寻专家 更新时间:2023-11-01 07:16:49 25 4
gpt4 key购买 nike

我做了什么:

我创建了一个简单的 iOS 原生应用程序,它只有 OneSignal 初始化代码。我在我的 2 台设备(设备 A 和设备 B)上安装了我的应用程序。这两个设备都订阅了我的 OneSignal 应用程序控制台。当我从 OneSignal Web 控制台发送通知时,2 台设备都可以收到通知。

我想做什么:

当我点击设备 A 上的按钮时,设备 A 会向设备 B 发送通知。

问题是什么:

我按照 OneSignal iOS SDK 文档创建了以下函数 https://documentation.onesignal.com/docs/ios-native-sdk#section-sending-notifications

func onButtonClick() {
OneSignal.postNotification(
[
"contents": ["en": "Test Message"],
"include_player_ids": ["c00bb8a6-79da-419b-9999-e919831a5223"] // id of device B
],
onSuccess: {(result) in print("success") },
onFailure: {(error) in print("error : \(error)") }
)
}

但是,当我单击该按钮时,xCode 调试控制台中出现错误:

2017-01-20 11:15:52.702852 my.bundle.id[2263:1201122] ERROR: Create notification failed
error : Optional(Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={
errors = (
"Please include a case-sensitive header of Authorization: Basic <YOUR-REST-API-KEY-HERE> with a valid REST API key."
);
reference = (
"https://documentation.onesignal.com/docs/accounts-and-keys#section-keys-ids"
);
}})

我很困惑,因为根据 OneSignal 引用文档,使用“include_player_ids”发送通知不需要 API 授权 key 。

https://documentation.onesignal.com/reference#create-notification

它还说:永远不要在客户端代码中使用您的“REST API key ”,它只能在您的系统或服务器上使用。

那么这个错误是什么意思呢?我该怎么办?

我什至从 this discussion 复制并运行了这个“工作没有任何问题”的代码,但仍然出现相同的授权错误。我做错了什么?

最佳答案

答案

只需升级SDK,问题就会消失。

这是 OneSignal-iOS-SDK 2.3.1 中的错误,此错误已在 2.3.2 中修复。

请查看他们的 Github Release Notes .

如何避免此类问题

总是在 pod install 之前运行 pod repo update 以确保 pod 安装最新版本的框架。

感谢来自 One Signal Conversations 的 Kevin、Jason 和 Josh 帮助我解决了这个问题。

关于ios - OneSignal iOS SDK 发送通知失败代码 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41755921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com