推送通知在开发配置文件中效果很好,但是一旦我尝试将该应用程序放在beta测试程序(testflight)上,它们就不会. 我尝试在切换到生产配置文件时遵循所有必需的步骤,但仍然不起作用.这是我的. 在成员中心: 类型IOS分销证书. 应用程序ID.命名(不是通配符).为开发和分销启用了推送通知 - 绿灯 - 所有SSL证书都生成和上传. iOS分发配置配置文件,该配置文件使用上述证书和应用程序ID,并列出了启用服务中的推送通知. 在Xcode中.目标>构建设置>代码签名: 配置资料 - iOS分发,与成员中心相同. 代码签名身份(调试和发行版) - iPhone发行. 我是否缺少一些明显的东西(不是这样)?任何帮助将不胜感激. 解决方案 发生时,我没有在问题中提供完整的上下文.我使用parse.com来处理我的后端以及推送通知.因此,我缺少的是Parse.com上的生产证书,而不仅仅是开发证书.因此,如果其他人正在使用Parse并遇到类似的
以下是关于 push-notification 的编程技术问答
我正在创建一个设置页面,该页面允许用户打开和关闭推送通知.这是我的问题.如果用户允许在初始系统提示下推送通知,则以后更改他们的思想,并将Uiswitch变为否,我的关闭开关操作是: [[uiapplication sharedApplication] unregisterforremotenotification]; 但是,如果您转到手机上的设置应用程序,则允许通知仍设置为ON.我知道不注册它们使令牌无效,因此他们不会再收到任何通知.但是我认为,如果设置应用程序仍然说他们允许通知,他们会感到困惑.我是否仍然需要将用户从应用程序中重定向到设置应用程序以关闭远程通知?还是我可以添加一些代码,可以更改允许在设置应用程序中关闭通知. 解决方案 您无法从应用程序更改设置应用程序.您必须手动将其禁止设置应用程序禁用.如另一个答案中所述,您可以提示消息永久禁用(请通过设置应用程序进行). 第二件事,如果您想让服务器知道不向该设备发送通知,则 您可以做这样的事情, 如果要在应用
我设法恢复了推送通知,但是我不知道如何处理到达应用程序的推送通知,我想在单击"单击转到特定活动"的情况下告诉应用程序. ,不仅打开应用程序(默认行为) 我知道我可以收到 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ NSLog(@"Here I should Recive The notification .... ") ; //call the commented functions ..... } 在此函数中,但是当我实现它时,通知不会出现,只需在此函数中执行操作 解决方案 对于任何人在2022年为此而苦苦挣扎的人,这是一个工作解决方案.您需要在连接推送通知服务并获取通知内容之后,在AppDelegate内部实现DidReceive功能: func userNotificatio
我将推送有效载荷发送给我的用户,其中包含以下内容: {"aps": {"alert": "Go To Google", "sound": "Default","url":"http://www.google.com"}} 当PP运行但在后台时,一切都很好. 如果我收到推送并关闭应用程序,我将打开它,什么也不会发生. 我试图在有效载荷中重定向到此URL. 同样,当应用程序从后台运行时,它会顺利进行. 这是到目前为止的实现AppDelegate.m: -(void)Redirect:(NSString*)url{ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]]; NSLog(@"%@",url); } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(N
我有tabBar.它的每个标签'ViewControllers已嵌入到各自的NavigationControllers中. 层次结构: Tabbarcontroller - > NavigationController - > vc1-> VC2-> ... VCN(for tab1) 当我单击推送通知时,我必须重定向到一个ViewControllers.我使用的代码如下. let navigationController = UINavigationController() let storyboard = UIStoryboard.init(name: "Main", bundle: Bundle.main) if let chatViewController = storyboard.instantiateViewController(withIdentifier: "chatViewController") as? ChatViewController {
我将推送通知发送到设备,但需要在1小时后删除已发送的推送通知.我可以做到这一点吗? 解决方案 哦.好问题.您可以仅取消时间表通知,如果尚未发送.如果它已经发送给用户,则无法取消. 但是,如果您希望推送通知不要被非活动用户看到,则可以在通知中设置自动示例时间,这些通知会在一定的时间后自动删除. 为了实现此目标,在Android上设置了时间为秒的到期时间,而在iOS上则将其设置为到期日期 其他解决方案 当服务器使用APNS端点通过APNS服务器发送通知时,APNS将返回一些数据作为有效负载,您将在响应标头中将通知标识符作为键 中的键. 存储该apns-id在服务器端的数据库表中值. 1小时后,您可以通过在请求标头中传递apns-id值向APN发送另一个请求,从设备的通知中心删除该通知. 您也可以设置'content-available' = 1也可以使您的删除通知保持沉默. 更多信息: 其他解决方案 不幸的是,一旦发送通知,就无法取消推送
我目前正面临iOS推送通知的问题. 我的应用程序收到包含标识符的无声推送通知.然后,该标识符用于从创建本地通知的远程服务器中获取数据. 据我所知,如果用户具有强制性应用程序(即,通过双击主按钮并刷卡关闭应用程序),则无声推动通知不会传递到AppDelegate中的DidreceivereMoteNotification方法类[1] [2],因此阻止了应用程序进行任何类型的处理. 我在处理上述情况方面做了相当多的研究.但是,无法找到确定的答案,希望有人可以帮助我或指向我正确的方向. 解决方案 Apple记录的 - application:didReceiveRemoteNotification:fetchCompletionHandler:,您无能为力: 但是,如果用户具有强制性,系统不会自动启动您的应用程序.在这种情况下,用户必须在系统尝试再次启动应用程序之前重新启动您的应用程序或重新启动设备. 这样做是为了使用户可以停止不必要的通知
我目前正在尝试处理不同的应用程序状态(封闭,背景或应用程序的其他选项卡),但是当我尝试测试应用程序关闭时如何工作并收到推送通知时强制关闭该应用程序然后重新打开它)我不确定代码中我要在哪里出错.由于我正在从手机本身重新打开该应用程序,而不是Xcode,因此由于控制台中没有输出可用,因此无法测试未达到哪种方法.有什么方法可以测试这种情况或模拟Xcode中的力量关闭事件,以便当我在手机上运行该应用程序时,它也会在Xcode中启动? 我感谢任何答复. 欢呼! 解决方案 如果强制关闭应用程序或停止(从Xcode),则使用xcode connection关闭.然后,如果您从电话打开它,则不会与Xcode建立连接.您必须从Xcode运行它.并且从电话或Xcode运行的打开应用程序没有差异.在两种情况下,应用程序的流量都相同.因此,您要测试哪些方法会接到电话以及可以通过重新编写项目检查的顺序. 更新: 在工具栏上选择该方案(刚从设备或模拟器列表留在旁边) 选择编辑方案
我需要通过服务器Auth方法,该方法需要DeviceToken进行注册. 但是我只有模拟器,也不能从中获取令牌,我想发送到服务器false代币(例如000 000 000) 但是我不知道设备令牌中有多少位数字. 谁能帮我使用样品设备令牌? 解决方案 设备令牌为32个字节.提供示例设备令牌可供您参考 raywenderlich 740f4707 bebcf74f 9b7c25d4 8e335894 5f6aa01d a5ddb387 462c7eaf 61bb78ad 其他解决方案 苹果本地和远程通知编程指南 显然指出: "重要:APNS设备令牌具有可变长度.请勿硬码大小." 目前可能有32个字节,但硬编码将使您的应用程序在将来中断! 其他解决方案 它是32个字节.用十六进制撰写,他们将获得64位数字. 您可以检查此页面以获取更多详细信息:
我需要开发一个带有集成的推送通知的渐进式Web应用程序.在网络上搜索,我发现了有关此主题的多样化意见. 如果我已经正确理解了,就目前而言,我们将无法在Safari中进行手机的推动通知(但仅用于桌面).是的吗? 您有什么建议以获得相同的结果(我不是iOS专家)?我想知道,在推动通知目的的情况下,也许只为推送通知目的而开发本机应用程序可能是一个不错的选择,直到推送通知也可以用于Safari Mobile. . P.S.我正在使用Angular 2进行PWA. 谢谢您的支持. 解决方案 不幸的是,基于这篇文章和 this 最新的iOS版本(13.3)仍然不支持Progressive Web应用的某些功能: Web推送通知 背景同步 页面生命周期 WebViews上的服务工作者 通用链接/链接捕获 到目前为止,没有消息说将在下一个版本14上实施.正如我在旧帖子中所说的那样,我认为iOS不想在PWA中支持它们,因为这些功能有更大的机会被利用不必要.
苹果介绍新的扩展名" unnotificationalserviceationserviceationserviceationsExtension"通知? 我读到,服务扩展提供有效载荷的端到端加密. 设置推送通知的有效载荷需要哪个键? 如何识别有效载荷以及如何从推送通知启动服务扩展? 解决方案 让我逐步迈出一步. unnotificationServiceExtension-什么是? unnotificationalserviceExtension是一个应用程序扩展目标,您将与应用程序捆绑在一起,旨在将推送通知在将其传递到设备之前将其归档给用户.您可以通过下载或使用应用程序中的一个. 如何创建 转到文件 - >新 - >目标 - > Notification Service Extension并填写详细信息 设置推送通知的有效载荷需要哪个键? 您需要将mutable-content标志设置为1才能触发服务扩展. 另外,如果将con
当我将类别与操作进行通知时,我能够打开特定的视图(Todoview). 但是我想实现的是,当我单击通知本身时,也可以打开特定的视图. 也许这是非常简单的解决,但我还找不到使用Swiftui. 顺便说一句:此代码仅在应用程序仍在后台运行时起作用,否则我登陆ContentView,这也不是最佳的. appdelegate.swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. FirebaseApp.configure() UNUserNotificationCenter.curren
当我在应用程序未打开阶段时,我点击了特定的视图控制器. 这是我的代码: func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { /* fetch and add push notification data */ goAnotherVC() } func goAnotherVC() { if (application.applicationState == UIApplicationState.active) { /* active stage is working */ }
我正在关注此 firebase cloud Messaging(fcm)服务器端服务器端执行. .但有invalidregistrationid的错误. 谷歌搜索,但什么也没有发现. 我还发现了一些相关的问题,这些问题已经在Stackoverflow上回答.但没有解决方案. 我访问了以下链接以获取解决方案. aink .. b link . . class abc{ function send_android_notification($registration_ids="2fa86bbc8bc4aee204255a0d84461c000a26442312d0a9b1df1664d461fd3b7d") { $message = array('title' => 'CodeCastra', 'body' => "hi huye" ,'sound'=>'Default','image'=>'Notification Image' ); de
我完全迷失了这一点,大概20个标签可以解决这个烦人的难题.我已经走了多个教程,但是没有一个回答在哪里定义频道ID以及如何通过PHP发送通知. override fun onMessageReceived(remoteMessage: RemoteMessage?) { showNotification(remoteMessage!!.data["message"]!!) } private fun showNotification(message: String) { val i = Intent(this, MainActivity::class.java) i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) val pendingIntent = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT) va
我正在成功地使用PHP向我的Android用户发送GCM推送通知,但我想为我的推送通知设置到期日期,因此,如果用户在1周内没有Internet连接的情况下,它将不会收到旧的推送通知. 我如何实现它. 谢谢. 这是PHP代码: private $GOOGLE_API_KEY = "XXXXX"; public function send($registration_id, $data) { // include config // Set POST variables $url = 'https://android.googleapis.com/gcm/send'; $fields = array( 'registration_ids' => $registration_id, 'data' => $data, );
我是Android应用程序的新开发人员.我使用GCM将通知从PHP代码发送到Android设备.我制作了所有设备ID的数组并发送,但是问题是当我发送超过一千个设备时.我发现内部服务器错误.我的代码在下面 function _send_notification($registatoin_ids = '', $message = '') { $url = 'https://android.googleapis.com/gcm/send'; $fields = array( 'registration_ids' => $registatoin_ids, 'data' => $message, ); //pr($fields); $headers = array( 'Authorization: key=' . $this->GOOGLE_API_KEY, 'Content-Type: