gpt4 book ai didi

ios - 登录后发送标签到 OneSignal

转载 作者:技术小花猫 更新时间:2023-10-29 10:36:51 28 4
gpt4 key购买 nike

我想在他/她登录后向特定用户发送标签,以便他/她可以接收通知。只有登录的用户才会收到通知。当他/她注销时,我将删除他/她的标签。我该怎么做?

我在 AppDelegate 中的代码:

let oneSignal: OneSignal = OneSignal(launchOptions: launchOptions, appId: "<my-app-id>") {
(message, additionalData, isActive) in

if (additionalData != nil) {
NSLog("APP LOG ADDITIONALDATA: %@", additionalData);
let displayMessage: NSString = NSString(format:"NotificationMessage:%@", message);

var messageTitle: NSString = "";
if (additionalData["discount"] != nil) {
messageTitle = additionalData["discount"] as String
}
else if (additionalData["bonusCredits"] != nil) {
messageTitle = additionalData["bonusCredits"] as String;
}
else if (additionalData["actionSelected"] != nil) {
messageTitle = NSString(format:"Pressed ButtonId:%@", additionalData["actionSelected"] as String);
}

var alertView: UIAlertView = UIAlertView(title: messageTitle,
message:displayMessage,
delegate:self,
cancelButtonTitle:"Close");

alertView.show();
}

else if (isActive) {
var alertView: UIAlertView = UIAlertView(title:"OneSignal Message",
message:message,
delegate:self,
cancelButtonTitle:"Close");
alertView.show();
}
}

我在 LogInViewController 中的代码:

let oneSignal = OneSignal()
oneSignal.sendTag("username", value: self.usernameTextField.text)

我的 appDelegate 中的代码运行良好,我的用户已经收到通知。但是他们即使没有登录也可以收到通知。

最佳答案

您需要在 LogInViewController 中使用来自 AppDelegate 的相同 oneSignal 实例。您可以在类级别将 oneSignal 设置为静态,以便它可以在两个类之间共享。

要删除标签,您可以调用 oneSignal.deleteTag("username")

更新:从 iOS 2.0 SDK 开始,OneSignal 类中的所有方法现在都是静态的。

关于ios - 登录后发送标签到 OneSignal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250706/

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