Push-уведомления с бэкэндом NodeJS

ios node.js swift push-notification apple-push-notifications

202 просмотра

1 ответ

В настоящее время я ищу push-уведомления для приложения iOS. Я использую PostgresSQL и NodeJS для бэкэнда, и когда я смотрю онлайн, кажется, нет прямого способа реализовать push-уведомления PEER TO PEER между двумя устройствами. Любая помощь от людей с опытом была бы очень полезна.

Автор: Sampath Duddu Источник Размещён: 08.11.2019 10:55

Ответы (1)


0 плюса

Вы можете сегментировать пользователей, которым вы хотите отправлять отдельные сообщения, используя Parse SDK. В январе их служба уходит в отставку, но вы все равно можете разместить свой собственный экземпляр MongoDB и сохранить полную функциональность их платформы.

Зарегистрируйте авторизованного пользователя для получения push-уведомлений:

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:nil];       
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];

Реализовать didRegisterForRemoteNotificationsWithDeviceTokenметод в AppDelegate

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken {
     NSLog(@"didRegisterForRemoteNotifications");
     // Store the deviceToken in the current installation and save it to Parse.
     PFInstallation *currentInstallation = [PFInstallation currentInstallation];
     [currentInstallation setDeviceTokenFromData:newDeviceToken];

     if ([PFUser currentUser]) {
         [currentInstallation setObject:[PFUser currentUser] forKey:@"user"];
     }

     [currentInstallation saveInBackground];

}

Это создает указатель на учетную запись пользователя, которую мы будем использовать для сегментирования пользователя следующим образом:

NSString *toUserObjectId = someUser.objectId; //someUser is a 'PFUser' object

// segment the user
PFQuery *innerQuery = [PFUser query];
[innerQuery whereKey:@"objectId" equalTo:toUserObjectId];

PFQuery *query = [PFInstallation query];
[query whereKey:@"user" matchesQuery:innerQuery];

NSDictionary *pushData = @{
                           @"alert": @"some message",
                           //   @"p": someStringPayload, 
                           @"badge": @"Increment",
                           @"sound": @"cheering.caf",
                           };

PFPush *push = [[PFPush alloc] init];
[push setData:pushData];
//[push expireAfterTimeInterval:interval];
[push setQuery:query];
[push sendPushInBackground];

Если вы идете по этому пути, я бы запустил новое приложение в их существующей службе, а затем перенесу в другое место. Надеюсь это поможет.

Автор: Wes Hager Размещён: 21.08.2016 08:30
Вопросы из категории :
32x32