uni-app APP推送 iOS配置问题

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app APP推送 iOS配置问题

配置说明

  1. 在工程中搜索 feature.plist 文件(位于 PandoraApi.bundle 中),在 Push 节点下, 确保和下图所示一样

    参考文档

    可直接复制下面对应的值替换,避免手动输入错误

    <key>Push</key>  
    <dict>  
        <key>autostart</key>  
        <true/>  
        <key>baseclass</key>  
        <string>PGPush</string>  
        <key>class</key>  
        <string>PGPushActualize</string>  
        <key>global</key>  
        <true/>  
        <key>server</key>  
        <dict>  
            <key>class</key>  
            <string>PGPushServerAct</string>  
            <key>identifier</key>  
            <string>com.pushserver</string>  
        </dict>  
    </dict>  
    

下载的 SDK 里面的配置文件是

<dict>  
    <key>autostart</key>  
    <true/>  
    <key>baseclass</key>  
    <string>PGPush</string>  
    <key>global</key>  
    <true/>  
    <key>server</key>  
    <dict>  
        <key>class</key>  
        <string>PGPushServer</string>  
        <key>identifier</key>  
        <string>com.pushserver</string>  
    </dict>  
</dict>

已哪个为准呢


9 回复

同问,文档真是稀烂


@DCloud_iOS_ZFL 同时 集成unipush 使用 liblibPush.a、libUniPush.a、GTSDK.xcframework 集成个推推送 使用liblibPush.a、libGeTuiPush.a、GTSDK.xcframework
libUniPush.a和libGeTuiPush.a 中的类 PGPushServerAct 冲突 是不是怎么解决

请问圈起来的地方要写自己APP的包名还是就写com.pushserver?

iOS按照这样配置就可以

这样获取不到cid

回复 a***@dasiku.com.cn: 我这边是这样配置的,已经上线用了,你看看还有其他地方对照下是不是漏了

针对uni-app在iOS平台上进行APP推送配置的问题,以下是一个详细的代码案例和配置步骤,帮助你顺利集成推送功能。

一、准备工作

  1. 注册开发者账号:确保你已经在Apple Developer网站上注册了开发者账号,并创建了一个App ID。

  2. 创建推送证书

    • 登录Apple Developer网站,进入Certificates, Identifiers & Profiles页面。
    • 选择你的App ID,启用Push Notifications功能。
    • 创建并下载APS Development iOS证书和APS Production iOS证书(分别用于开发和生产环境)。
  3. 配置uni-app项目

    • 在uni-app项目的manifest.json文件中,找到mp-weixinapp-plus下的distribute节点,配置iOS的推送证书信息。

二、代码实现

1. 安装推送插件

首先,确保你已经在项目中安装了推送相关的插件。uni-app官方推荐使用uniPush或者第三方推送服务插件。

// 在manifest.json中配置插件
{
  "plugins": {
    "uniPush": {
      "version": "latest",
      "provider": "uni-push"
    }
  }
}

2. 初始化推送服务

在App启动时,初始化推送服务并注册设备。

// main.js或App.vue的onLaunch方法中
#ifdef APP-PLUS
plus.push.addEventListener('receive', function(msg) {
  console.log('收到推送消息:', msg);
  // 处理推送消息
});

plus.push.createMessage({
  title: '推送标题',
  content: '推送内容',
  payload: {
    // 自定义数据
  }
}, function(msg) {
  console.log('推送注册结果:', msg);
});
#endif

3. 配置iOS推送权限请求

在iOS平台上,需要在用户授权后才能接收推送消息。

#ifdef APP-PLUS
if (plus.os.name === 'iOS') {
  plus.ios.requestNotificationPermissions({
    types: ['badge', 'sound', 'alert']
  }, function(e) {
    console.log('推送权限请求结果:', e);
    if (e.alert) {
      // 用户授权了alert权限
    }
  });
}
#endif

三、注意事项

  • 确保你的推送证书与App ID匹配,并且证书未过期。
  • 在真机上进行测试时,确保设备已经登录了开发者账号,并且设备的UDID已经在开发者账号中注册。
  • 检查推送服务的后台配置,确保已经正确配置了App ID和推送证书。

通过以上步骤和代码,你应该能够在uni-app项目中成功配置iOS推送服务。如果遇到问题,可以参考uni-app官方文档或相关插件的文档进行排查。

回到顶部