рдкреБрд╢рд╢рд░рдк - рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рди рдХрд╛рдо

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣реИрдмреЗ рдкрд░ рдХреЛрдИ рд╡рд┐рд╖рдп-рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрджреНрднреБрдд рдкреБрд╢рд╢реНрд░рдк рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

IOS, рдПрдВрдбреНрд░реЙрдЗрдб, рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдФрд░ рд╡рд┐рдВрдбреЛрдЬ 8 рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рдпрд╣ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди PushSharp.Blackberry рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдирд╣реАрдВ рд╣реИ:

//Create our push services broker var push = new PushBroker(); //Registering the Apple Service and sending an iOS Notification var appleCert = File.ReadAllBytes("ApnsSandboxCert.p12")); //isProduction -    development  ad-hoc/release  push.RegisterAppleService(new ApplePushChannelSettings(isProduction, appleCert, "pwd")); push.QueueNotification(new AppleNotification() .ForDeviceToken("DEVICE TOKEN HERE") .WithAlert("Hello World!") .WithBadge(7) .WithSound("sound.caf")); //Registering the GCM Service and sending an Android Notification push.RegisterGcmService(new GcmPushChannelSettings("theauthorizationtokenhere")); //Fluent construction of an Android GCM Notification //IMPORTANT: For Android you MUST use your own RegistrationId here that gets generated within your Android app itself! push.QueueNotification(new GcmNotification().ForDeviceRegistrationId("DEVICE REGISTRATION ID HERE") .WithJson("{\"alert\":\"Hello World!\",\"badge\":7,\"sound\":\"sound.caf\"}")); 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЗрдЦрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдирд╣реАрдВ рдереЗред рд╡рд╣рд╛рдБ рд╕реЗ iOS рдХреЗ рд▓рд┐рдП рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдЕрднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВред

рдмреЗрд╢рдХ, рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рд╣реИред

рдФрд░ рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдХрд┐ iOS рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдЯреЛрдХрди рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдкреБрд╢ рдкреНрд░рд╛рд╡рдзрд╛рди рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрдкрдиреЗ AppDelegate рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

 - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { //  deviceToken,         } 


рдбрд┐рд╡рд╛рдЗрд╕ рдЯреЛрдХрди рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ NSUserDefaults рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ (рдореБрдЭреЗ рдЕрднреА рддрдХ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХреЛрдИ рднреА рдорд┐рдирд╕ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ)ред рдХреЗрд╡рд▓ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ NSData рдХреЗ рд░реВрдк рдореЗрдВ рдЯреЛрдХрди рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдЬрдм рд▓рд╛рдЗрди рдореЗрдВ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреИрд╕реЗ "<asdfasdf asdfasdf 12341234 wertwert 1234asdf ewras3456 asdfasfd asdfasdf>", рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд╛рд╣рд┐рдПред " asdfasdfasdfasdf12341234wertwert1234asdfewrt3456asdfasfdasdfasdf ")ред

рдЕрд░реНрдерд╛рддреН, рдЯреЛрдХрди рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдВрдЧреЗ:

 +(NSString*)getUserDeviceToken{ return [[NSUserDefaults standardUserDefaults] stringForKey:_deviceTokenKey]; } +(void)setUserDeviceToken:(NSData*)tokenData{ NSCharacterSet *charactersToRemove = [NSCharacterSet characterSetWithCharactersInString:@"<> "]; NSString *result = [[[NSString stringWithFormat:@"%@",tokenData] componentsSeparatedByCharactersInSet:charactersToRemove] componentsJoinedByString: @""]; [[NSUserDefaults standardUserDefaults] setValue:result forKey:_deviceTokenKey]; } 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдЕрдкрдиреЗ AppDelegate рдореЗрдВ рдкреБрд╢ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; return YES; } 

Source: https://habr.com/ru/post/In178775/


All Articles