iOS需要设置推送震动的开关,有什么方案可以解决吗?还有php发送推送的声音怎么发送?

php
ios
jpush
标签: #<Tag:0x00007fb8460e7f08> #<Tag:0x00007fb8460e7d28> #<Tag:0x00007fb8460e7a80>

(baicai_app) #1

iOS需要设置推送震动的开关,有什么方案可以解决吗?还有php发送推送的声音怎么发送?


#2

震动这个应是没有这么个声音文件可以控制的,你可以看一下在应用内控制震动的帖子

http://www.cnblogs.com/liufeng24/p/3505811.html
http://blog.csdn.net/ios_dashen/article/details/48999093


极光推送PHP 收到消息时手机震动
(baicai_app) #3

我设置过这个completionHandler(UNAuthorizationOptionBadge); // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置,但是不管怎么设置它都是有声音和震动


(baicai_app) #4
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler {
    // Required
    NSDictionary * userInfo = notification.request.content.userInfo;
    if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
        [JPUSHService handleRemoteNotification:userInfo];
    }
    NSLog(@"xxxxx%@",userInfo);
    completionHandler(UNAuthorizationOptionBadge); // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置
}

// iOS 10 Support
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {
    // Required
    NSDictionary * userInfo = response.notification.request.content.userInfo;
    NSLog(@"-----%@",userInfo);
    if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
        [JPUSHService handleRemoteNotification:userInfo];
    }
    completionHandler();  // 系统要求执行这个方法
}

而且在这两个代理方法都不会进来,我已经添加了代理center.delegate = self;
AppDelegate ()<JPUSHRegisterDelegate,UNUserNotificationCenterDelegate>


#5

这个什么代码只是说如果有声音,那么就做声音的展示

麻烦阅读上面的自定义声音的总结说明

上述两个方法是 iOS10的方法,第一个是前台才走,且你只写了badge这个前台收到消息时的提醒方式,第二个是需要点击消息才走,