Получить идентификатор регистрации для Android для push-уведомлений с помощью pushsharp

Я использую библиотеку PushSharp. Я могу видеть deviceToken в примере кода https://github.com/Redth/PushSharp

Может ли кто-нибудь помочь мне, как это получить? Пример кода PushSharp не объясняет, что

 apnsBroker.QueueNotification (new ApnsNotification {
DeviceToken = deviceToken,
Payload = JObject.Parse ("{\"aps\":{\"badge\":7}}")

То же самое для Android, как я могу получить идентификатор регистрации

 foreach (var regId in MY_REGISTRATION_IDS) {
 // Queue a notification to send
gcmBroker.QueueNotification (new GcmNotification {
RegistrationIds = new List<string> { 
    regId
},
Data = JObject.Parse ("{ \"somekey\" : \"somevalue\" }")
});
}

Я отправляю push-уведомление через свой сервисный уровень, разработанный с использованием webapi. Пожалуйста, предложите.


person Vicky    schedule 07.02.2017    source источник
comment
Привет Вики. Заметил, что этот пост действительно существовал раньше. Я добавил в ответ. В следующий раз, пожалуйста, избегайте удаления и повторной публикации вопроса. Дайте время другим пользователям увидеть его и дайте возможность увидеть другие новые вопросы. Ваше здоровье! :)   -  person AL.    schedule 07.02.2017
comment
Спасибо АЛ. Да. последует за этим :)   -  person Vicky    schedule 07.02.2017
comment
Токен устройства должен быть получен на стороне клиента, а затем отправлен как POST на ваш webapi, для этого вы должны использовать родной язык устройства или, если вы хотите использовать Javascript, вам придется использовать библиотеку, например Кордова cordova.apache.org/docs/en /6.x/guide/платформы/android/.   -  person Faraji Anderson    schedule 03.04.2017


Ответы (1)


deviceToken (он же регистрационный токен) создается на стороне клиентского приложения.

Для GCM – Android, чтобы получить токен регистрации, вам нужно будет вызвать InstanceID.getToken(). См. официальную документацию: Настройка клиента GCM на Android :

Для GCM - iOS необходимо сделать что-то подобное (с дополнительными настройками, необходимыми для подключения к APN). См. официальную документацию: Настройка клиента GCM на iOS. Руководство можно настроить для Objective-C или Swift.

С учетом сказанного код, на который вы ссылаетесь, находится в разделе с пометкой Пример использования APNS, поэтому я думаю, что также безопасно ссылаться на этот запись. Или напрямую с сайта разработчиков Apple если вы планируете напрямую использовать APN без GCM.


PS: если вы собираетесь использовать GCM, я настоятельно рекомендую вам использовать более новую версию, которая называется firebase-cloud-messaging. Официальные документы здесь.

person AL.    schedule 07.02.2017
comment
Не могли бы вы сказать мне, могу ли я использовать InstanceID.getToken() в javascript. У вас есть примеры. Я использую приложение Hybrid Cordova. - person Vicky; 07.02.2017
comment
@Вики Нет. Это было для Андроида. GCM не поддерживает Javascript, но в более новой версии (FCM) он есть. См. документы здесь. Ваше здоровье! :) - person AL.; 07.02.2017
comment
Спасибо АЛ. Можно ли реализовать FirebaseInstanceIdService в webapi. - person Vicky; 07.02.2017
comment
@Vicky Я не совсем знаком с WebAPI. Я предлагаю просмотреть документы FCM для получения более подробной информации. :) - person AL.; 07.02.2017