iOS-iOS10极光推送的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-iOS10极光推送的使用相关的知识,希望对你有一定的参考价值。

参考技术A 1、首先先配置好推送证书,传到极光。
极光推送->ios证书设置指南
极光推送->iOS SDK集成指南(XCode8)

5、注册APNs成功并上报DeviceToken,以及实现注册APNs失败接口

6、初始化极光推送时,需要增加iOS10系统以后的方法

7、添加<JPUSHRegisterDelegate>协议的两个方法

8、加上原有的支持iOS9及之前系统的方法

Flutter 使用极光推送进行api和本地定时推送

极光推送在国内的App的覆盖率比较高,在第一时间就更新了对flutter的支持,使用极光简单配置后就可以进行远端推送和本地定时推送,非常方便。

推荐使用android进行测试,配置简单,ios需要证书,相对比较复杂。我也是用的安卓端进行演示。

注册极光

先到极光官网,注册账号,配置一下flutter项目的包名,如果不记得了,可以到flutter项目下的 android/app/build.gradle 中找一下,defaultConfig 下的 applicationId 就是包名,这个配置文件不要关,后续我们还会再回来。

在极光配置好安卓的包名后,我们会得到 AppKey,到这就算注册完成。Flutter 使用极光推送进行api和本地定时推送

Flutter 使用极光推送进行api和本地定时推送

项目配置

继续打开,android/app/build.gradle 文件。

  1. defaultConfigminSdkVersion 修改为 17, flutter创建后默认是 16,无法使用极光推送。
  2. defaultConfig 中添加 manifestPlaceholders
Flutter 使用极光推送进行api和本地定时推送

下面是我的配置,大家根据自己的情况修改即可:

defaultConfig {
    applicationId "cn.idiocy66.fe_mp" // 包名
    minSdkVersion 17 // 修改为17
    targetSdkVersion 28
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    
    // 极光配置
    manifestPlaceholders = [
        JPUSH_PKGNAME : applicationId,
        JPUSH_APPKEY : "9bf4f58ea9471001e0a4d66d", // 极光中的appkey
        JPUSH_CHANNEL : "developer-default", // 默认即可.
    ]
}

初始化

配置完成,可以运行推送功能了。使用极光推送功能前,必须先执行初始化函数:

final JPush jpush = new JPush();
jpush.setup(
  appKey: "9bf4f58ea9471001e0a4d66d"// 极光中的appkey
  channel: "theChannel",
  production: false,
  debug: true,
);

如果不进行初始化操作,在极光后台无法查询到对应的机器信息,也就无法使用推送功能。

获得唯一 rid

在同一个极光应用中,每个设备都拥有唯一的一个id,用于身份验证,后台也可以单独向这个rid进行消息推送。

使用getRegistrationID函数获取当前设备的rid

jpush.getRegistrationID().then((rid) {
  print("当前设备的rid: ${rid}");
});

本地推送

本地推送并不会收到极光的条数限制:

var localNotification = LocalNotification(
    id: 234,
    title: "本地推送",
    buildId: 1,
    content: "

以上是关于iOS-iOS10极光推送的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用极光/友盟推送,APP进程杀死后为啥收不到推送

iOS10.0下的极光推送

极光推送——别名设置

极光推送的自定义消息推送之后ios怎么使用

推送原理解析 极光推送使用详解

极光推送,在推送之前,是不是能够查询,极光推送服务器是不是存在该别名