ios_app.md 8.5 KB

iOS APP渠道配置

概述

iOS APP是苹果生态系统中的重要应用形态,具有高用户粘性和付费意愿。本文档描述了iOS APP渠道的完整配置流程。

基本信息

  • 渠道标识: ios_app
  • 渠道名称: iOS APP
  • 渠道类型: 移动应用
  • 所属分组: 移动应用 (mobile_app)

配置要素

1. 基本配置

// 渠道基本信息
'channel' => 'ios_app',
'name' => 'iOS APP',
'status' => true, // 开启/关闭
'description' => 'iOS移动应用平台接入'

2. 应用平台配置

必填参数

  • Bundle ID: 应用包标识符
  • App Store ID: 应用商店ID
  • 推送证书: APNs推送证书(可选)

配置示例

'ios_config' => [
    'bundle_id' => 'com.yourcompany.yourapp',
    'app_store_id' => '1234567890',
    'team_id' => 'ABCDEFGHIJ',
    'push_cert_path' => '/path/to/push_cert.pem',
    'push_cert_password' => 'cert_password',
    'environment' => 'production', // production/development
]

获取方式

  1. 登录Apple Developer Console
  2. 创建App ID和证书
  3. 在App Store Connect中创建应用
  4. 配置推送证书(如需推送功能)

3. 支付配置

iOS APP支持以下支付方式:

3.1 微信支付 ✅ (推荐)

  • 状态: 开启
  • 优先级: 1
  • 配置要求:
    • 需要开通微信支付商户号
    • 配置移动应用支付
    • 设置回调地址
'payment_config' => [
    'wechat' => [
        'enabled' => true,
        'app_id' => '微信开放平台AppID',
        'mch_id' => '商户号',
        'key' => '商户密钥',
        'cert_path' => '证书路径',
        'notify_url' => '支付回调地址'
    ]
]

3.2 支付宝支付 ✅

  • 状态: 开启
  • 优先级: 2
  • 配置要求:
    • 需要开通支付宝商户号
    • 配置移动应用支付
    • 设置支付证书
'payment_config' => [
    'alipay' => [
        'enabled' => true,
        'app_id' => '支付宝应用ID',
        'private_key' => '应用私钥',
        'public_key' => '支付宝公钥',
        'notify_url' => '支付回调地址'
    ]
]

3.3 余额支付 ✅

  • 状态: 开启
  • 优先级: 3
  • 说明: 用户使用账户余额进行支付
'payment_config' => [
    'balance' => [
        'enabled' => true,
        'min_amount' => 0.01, // 最小支付金额
        'max_amount' => 50000, // 最大支付金额
    ]
]

3.4 不支持的支付方式 ❌

  • 线下支付
  • 货到付款

4. 登录配置

4.1 自动登录

  • 状态: 开启/关闭
  • 说明: 进入应用后,用户将会自动授权登录,未注册用户将会自动注册
'login_config' => [
    'auto_login' => false, // iOS通常不建议自动登录
    'auto_register' => true,
]

4.2 绑定手机号

  • 状态: 开启/关闭
  • 说明: 授权登录后,未绑定手机号的用户,将会立即提醒绑定手机号
'login_config' => [
    'force_mobile' => true,
    'mobile_verify' => true, // 手机号验证
]

4.3 第三方登录

  • 苹果登录: 推荐使用
  • 微信登录: 需要配置微信开放平台
  • 其他第三方登录: 根据需要配置
'login_config' => [
    'apple_login' => [
        'enabled' => true,
        'client_id' => 'com.yourcompany.yourapp',
        'team_id' => 'ABCDEFGHIJ',
        'key_id' => 'KLMNOPQRST',
        'private_key_path' => '/path/to/private_key.p8'
    ],
    'wechat_login' => [
        'enabled' => true,
        'app_id' => '微信开放平台AppID',
        'app_secret' => '微信开放平台AppSecret'
    ]
]

5. 功能特性

功能 支持状态 说明
支付功能 支持微信支付、支付宝支付、余额支付
分享功能 支持分享到各种平台
定位功能 支持获取用户地理位置
拍照功能 支持调用摄像头拍照
推送功能 支持APNs推送

配置流程

1. Apple Developer配置

  1. 注册开发者账号

  2. 创建App ID

    • 在Certificates, Identifiers & Profiles中创建
    • 设置Bundle ID
    • 配置所需的Capabilities
  3. 创建证书

    • 开发证书(Development)
    • 生产证书(Production)
    • 推送证书(Push Notifications)
  4. 创建Provisioning Profile

    • 开发环境Profile
    • 生产环境Profile

2. App Store Connect配置

  1. 创建应用

    • 在App Store Connect中创建新应用
    • 填写应用基本信息
    • 设置应用图标和截图
  2. 配置应用信息

    • 应用描述
    • 关键词
    • 分类设置
  3. 版本管理

    • 创建版本
    • 上传构建版本
    • 提交审核

3. 系统后台配置

  1. 基本信息配置

    渠道状态: 开启
    渠道名称: iOS APP
    渠道描述: iOS移动应用平台
    
  2. 平台参数配置

    Bundle ID: com.yourcompany.yourapp
    App Store ID: 1234567890
    Team ID: ABCDEFGHIJ
    
  3. 支付方式配置

    微信支付: 开启
    支付宝支付: 开启
    余额支付: 开启
    货到付款: 关闭
    
  4. 登录方式配置

    自动登录: 关闭
    绑定手机号: 开启
    苹果登录: 开启
    微信登录: 开启
    

4. 开发配置

  1. 应用代码配置

    // AppDelegate.swift
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
       // 配置API基础URL
       APIManager.shared.baseURL = "https://your-domain.com/api"
           
       // 配置第三方SDK
       configureThirdPartySDKs()
           
       return true
    }
    
    1. 登录授权 ```swift // 苹果登录 @available(iOS 13.0, *) func handleAppleLogin() { let request = ASAuthorizationAppleIDProvider().createRequest() request.requestedScopes = [.fullName, .email]

    let controller = ASAuthorizationController(authorizationRequests: [request]) controller.delegate = self controller.presentationContextProvider = self controller.performRequests() } ```

  2. 支付调用

    // 微信支付
    func payWithWechat(orderInfo: WechatPayOrder) {
       let request = PayReq()
       request.partnerId = orderInfo.partnerId
       request.prepayId = orderInfo.prepayId
       request.package = orderInfo.package
       request.nonceStr = orderInfo.nonceStr
       request.timeStamp = orderInfo.timeStamp
       request.sign = orderInfo.sign
           
       WXApi.send(request, completion: nil)
    }
    

    测试验证

    1. 开发环境测试

    • 使用Xcode进行开发调试
    • 测试登录授权流程
    • 测试支付功能

    2. TestFlight测试

    • 上传到TestFlight进行内部测试
    • 邀请测试用户
    • 验证完整业务流程

    3. 接口测试

    # 测试登录接口
    curl -X POST "https://your-domain.com/api/login" \
    -H "Content-Type: application/json" \
    -d '{"token":"苹果登录token","channel":"ios_app"}'
    
    # 测试支付接口
    curl -X POST "https://your-domain.com/api/payment/create" \
    -H "Content-Type: application/json" \
    -d '{"amount":100,"channel":"ios_app","payment_type":"wechat"}'
    

注意事项

  1. 苹果审核

    • 严格遵守App Store审核指南
    • 不能包含违规内容
    • 支付功能需要合规
  2. 隐私政策

    • 必须提供隐私政策
    • 明确说明数据收集和使用
    • 获取用户同意
  3. 第三方SDK

    • 确保SDK版本兼容
    • 及时更新SDK版本
    • 注意SDK隐私合规
  4. 版本更新

    • 定期发布更新版本
    • 及时修复bug
    • 适配新系统版本

常见问题

Q1: 如何配置苹果登录?

A: 在Apple Developer中启用Sign in with Apple,配置相关证书和Bundle ID。

Q2: 为什么支付功能不工作?

A: 检查商户号配置、证书配置,确保回调地址可访问。

Q3: 如何处理推送通知?

A: 配置APNs证书,在应用中请求推送权限,处理推送消息。

Q4: 审核被拒怎么办?

A: 仔细阅读拒绝理由,修改相关问题后重新提交审核。

相关链接