html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

PushSharp — простая работа с Push Notifications

К сожалению, топиков-ссылок на Хабре давно нет, так что придётся что-то написать о замечательной библиотеке PushSharp.

Умеет отправлять iOS, Android, Windows Phone и Windows 8 Push Notifications (в описании этого нет, но в исходном коде присутствует папка PushSharp.Blackberry, так что может быть и для этой платформы уже работает). B использовании проще уже совсем некуда:

//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\"}"));


Также авторы не поленились поработать над документацией и примерами. Пошаговая инструкция настройки push notifications для iOS оттуда просто замечательна.

Nuget package у этой библиотеки, конечно, есть.

И добавлю от себя, как получить device token при разработке под iOS. После установки Push provision profile, в ваш AppDelegate нужно будет добавить метод:

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    //тут сохраняем deviceToken, а потом используем при обращении к вашему серверу
}


Для сохранения device token я использую NSUserDefaults (минусов в этом подходе пока не вижу). Единственное, что нужно учесть, — token приходит в вышеуказанный метод в виде NSData (при приведении к строке мы получим что-то вроде "<asdfasdf asdfasdf 12341234 wertwert 1234asdf ewrt3456 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];
}


Также, кроме установки сертификата, нужно зарегистрировать приложение для push notifications в вашем AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
    
    return YES;
}
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

-1

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции