Как добавить звук по умолчанию в мое push-уведомление в AppDelegate - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу добавить звук по умолчанию в мое push-уведомление, пока у меня нет звука при получении уведомления (удаленного). это мой код в AppDelegate в Objective-C:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
    NSURL *jsCodeLocation;
   jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
   [FIRApp configure];
   RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                  moduleName:@"X"
                                           initialProperties:nil
                                               launchOptions:launchOptions];
 rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
 UIViewController *rootViewController = [UIViewController new];
 rootViewController.view = rootView;
 self.window.rootViewController = rootViewController;
 [self.window makeKeyAndVisible];

 return YES;

   }


 // Required to register for notifications
 - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
 {


    [RCTPushNotificationManager didRegisterUserNotificationSettings:notificationSettings];

 }
 // Required for the register event.
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
   [RCTPushNotificationManager didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}

  // Required for the notification event. You must call the completion handler after handling the remote notification.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
                                                    fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

{
   [RCTPushNotificationManager didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
     //NSLog(@"push-notification received: %@", notification)   
}
  // Required for the registrationError event.
    - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
   {
     [RCTPushNotificationManager didFailToRegisterForRemoteNotificationsWithError:error];
}
    // Required for the localNotification event.
 - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
 {
   [RCTPushNotificationManager didReceiveLocalNotification:notification];
  }

что мне не хватает? как включить звук? Я работал над этим много часов и никакого решения пока ...

спасибо за помощь

Решение: проблема была не в файле AppDelegate, как я думал. файл на самом деле в порядке. проблема была в коде сервера .. Вот почему рабочий код:

   Message message = Message.builder()
            .setNotification(new com.google.firebase.messaging.Notification( null,"hihihi"))
                            .setToken(registrationToken).setApnsConfig(ApnsConfig.builder().setAps(Aps.builder().setSound("default").build()).build())
            .build();

    String response = FirebaseMessaging.getInstance().send(message);

надеюсь, это кому-нибудь поможет

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Push Notification воспроизводит звук по умолчанию при получении. Однако, если вы хотите изменить звук, вы должны добавить свое имя звука в Payload и звуковой файл в ваш проект.

0 голосов
/ 07 сентября 2018

Насколько я знаю, в вашем теле push-уведомлений должен быть параметр звука.

...