【问题标题】:What is the Callback Method if You Click "Don't Allow" in Push Notification Popup? [duplicate]如果在推送通知弹出窗口中单击“不允许”,回调方法是什么? [复制]
【发布时间】:2023-03-30 03:06:01
【问题描述】:

在全新安装应用程序时会出现一个推送通知弹出窗口。有两个选择,确定和不允许(如果我没记错的话。)

如果我单击“不允许”,我想知道什么是回调方法。问题是,我实现了 didFailToRegisterForRemoteNotifications,因为我认为如果我单击“不允许”,它将直接转到 AppDelegate 中的该方法。但是,没有调用该方法。

我的问题是我需要知道用户点击“不允许”时的事件。有没有办法做到这一点? 我会很感激任何帮助。谢谢。

【问题讨论】:

  • didFailToRegisterForRemoteNotifications 是当与苹果注册服务通信失败时,无法知道用户刚刚点击了不允许,但是你可以查看 UIApplication,有一个方法可以知道 PushNotification 的状态注册
  • 您找到解决方法了吗?我发布了另一个问题stackoverflow.com/questions/22934729/…

标签: ios notifications push-notification apple-push-notifications


【解决方案1】:

这里没有委托回调:Callback Method if user declines Push Notification Prompt?

您可以在 AppDelegate 中使用 BOOL 变量来检查它,

AppDelegate.m

// declare a BOOL 
BOOL allow = NO;

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
  allow = YES;
  [self doWhatever];
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
  allow = YES;
  [self doWhatever];
}

【讨论】:

  • 我明白了。所以没有办法解决我的问题。非常感谢您的所有回复。
  • 从另一个问题粘贴代码不是答案
  • @JeromeDiaz 不用生气 Jerome,我参考了原文/
【解决方案2】:
didFailToRegisterForRemoteNotifications 

是当与苹果注册服务通信失败时,无法知道用户刚刚点击了不允许,但是你可以查看UIApplication,有一个方法可以知道PushNotification注册的状态

NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
if (rntypes == UIRemoteNotificationTypeNote) {
    // application is not registered for any type of push notification
}

【讨论】:

  • didFailToRegisterForRemoteNotifications 在用户点击 no 时不会被调用。
  • 阅读我的文字,我已经说过它没有被调用,我什至在你提出自己的答案之前就在问题下方的评论中告诉了它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多