离子phonegap推送未获得iOS令牌

时间:2019-03-20 21:40:55

标签: firebase ionic-framework ionic3 cordova-plugins apn

我正在使用ionic v3,phonegap-plugin-push和FCM为android和iOS构建应用程序,目前我没有收到Android通知的问题,但是我没有为iOS完成任何工作,甚至没有获得令牌设备。

我的应用在Xcode上具有推送通知功能,并且在开发人员中心,我已经在Firebase控制台上创建了我的APNs证书(.p12),更新了我的.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 :(得分:0)

您可以使用OneSignal处理您的通知。安装Native onesignal plugin。之后,导入您的插件

import { OneSignal } from '@ionic-native/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两个平台。之后,您必须通过Pod安装OneSignal插件。第一步,为IOS构建项目(离子Cordova构建ios --prod),然后转至平台> ios。您可以看到文件名“ Podfile”,如果该文件不存在,请打开终端并转到项目目录>“平台”>“ ios”,然后输入“ pod init”,然后在那看到“ Podfile”并输入“ pod install” '以使用pod安装依赖项。现在,使用Xcode打开.xcworkspace文件。转到Build Phases>展开带有liberary的链接二进制文件>单击+号>单击Add Other>从项目的pod文件夹内选择onesignal插件。您的通知现在应该可以使用。 here是我在c-sharpcorner中的文章,您可以从那里参考。