iOS推送通知 – 如何用无声音指定警报和徽章?

我想知道如何发送没有声音的推送通知。

从苹果网站 :

该文件中的声音作为警报播放。 如果声音文件不存在或者默认值被指定为值,则播放默认警报声。

这说,如果我使用声音文件的“默认”,或者如果我指定一个不存在的声音文件,它将播放默认的警报声音。

但它明确说明如何没有声音…如果我只是没有在有效载荷中包括一个声音(离开它),这是否意味着将没有声音播放?

谢谢

如果我只是没有在有效载荷中包括一个声音(离开它),这是否意味着将没有声音播放?

那就对了。 只是不要在有效载荷中包含sound 。 或者,如果你不想播放声音,甚至不要注册声音通知types。

您应该configuration您的应用程序接收您想要接受的PNtypes,有三个选项:

  1. 显示一条简短的文字信息
  2. 播放简短的声音
  3. 在应用程序图标上的徽章中设置一个数字

你可以用你认为合适的任何组合来使用这三个,现在你在你的应用程序中需要做的就是registerForRemoteNotificationTypes,如下所示:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; // Let the device know we want to receive push notifications [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; return YES; } 

在您的案例中select适当的选项,一旦应用程序启动并注册推送通知,将popup一条消息询问用户是否接受推送通知。

当注册通知你做这样的事情我猜?

 [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound]; 

只是不包括UIRemoteNotificationTypeSound。