ионный телефонный звонок не получает токен для ios - PullRequest
0 голосов
/ 21 марта 2019

Я создаю приложение для Android и iOS, используя ionic v3, phonegap-plugin-push и FCM, в настоящее время у меня нет проблем с получением уведомлений для Android, но я ничего не сделал для iOS, даже для токенаdevice.

Мое приложение имеет возможности push-уведомлений в Xcode и в Центре разработчиков. Я создал свой сертификат APN (.p12), зарегистрированный на консоли Firebase, обновил мой файл .plist, изменил ключ доступа APNs.(.p8) вернулся в .p12, но все еще не получил токен.

Что я делаю не так?что мне не хватает?

Мой код для регистрации устройства:

constructor(
    _push: Push,
    private _tp: ToastProvider,
    private http: HttpClient,
    private _events: Events
  ) {
    this.pushObj = _push.init(this.getPushOpts());
    this.pushObj.on('registration').subscribe(data => this.FCMToken = data.registrationId);
    this.enablePushNotifications();
  }

  private getPushOpts (): PushOptions {
    return {
      android: {
        senderID: SENDER_ID,
        sound: true,
        vibrate: true,
        icon: 'icon',
        iconColor: '#f89b3a'
      },
      ios: {
        sound: true,
        alert: true,
        badge: true
      }
    }
  }

Версии моих зависимостей

"phonegap-plugin-push": "^2.2.3"
"@ionic-native/push": "^4.20.0"
"cordova-ios": "4.5.5"

1 Ответ

0 голосов
/ 21 марта 2019

Вы можете использовать OneSignal для обработки вашего уведомления.Установите плагин Native onesignal .После этого импортируйте ваш плагин

import { OneSignal } from '@ionic-native/onesignal';

После этого настройте свой проект на onesignal.Вот код:

triggerNotification() {
    var iosSettings = {};
    iosSettings["kOSSettingsKeyAutoPrompt"] = true;
    iosSettings["kOSSettingsKeyInAppLaunchURL"] = false;
    this.oneSignal.startInit("your_oneSignal_AppId", "your_appId").iOSSettings(iosSettings);
    this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.Notification);
    this.oneSignal.handleNotificationOpened()
      .subscribe((msg) => {
       //do something
      });
    this.oneSignal.endInit();
  }

Этот код будет работать для платформ Android и IOS.После этого вы должны установить плагин OneSignal через Pod.Первый шаг - создайте свой проект для IOS (ionic cordova build ios --prod) и перейдите на платформы> ios.Вы можете увидеть имя файла «Podfile», если этот файл не существует, откройте ваш терминал и перейдите в каталог вашего проекта> платформы> ios и введите «pod init», после этого вы увидите там «Podfile» и введите «pod install».установить вашу зависимость с pod.Теперь откройте файл .xcworkspace с помощью Xcode.Перейти к этапам сборки> Развернуть двоичный файл Link с помощью Library> нажмите + знак> нажмите Добавить другой> Выберите свой плагин onesignal из папки pod из вашего проекта.Ваше уведомление должно работать сейчас. здесь - моя статья в c-sharpcorner, на которую вы можете ссылаться.

...