DeepWall 2.4.6

DeepWall 2.4.6

Burak YalcinSamcro 维护。



DeepWall 2.4.6

  • Teknasyon

DeepWall

Platform Cocoapods

为构建、管理和维护盈利的移动应用提供内购功能的端到端解决方案。

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。

DeepWall 通过 CocoaPods 提供。要安装它,请将以下行添加到您的 Podfile。”

  1. 添加 DeepWall pod。
use_frameworks!

pod 'DeepWall'
  1. 运行 pod installpod update
  2. 然后,您可以通过在项目文件中添加 import DeepWall 来使用 DeepWall。

使用方法

初始化

import DeepWall

let yourApiKey = "{YOUR_API_KEY}"
let environment: DeepWallEnvironment = .sandbox
DeepWall.initialize(apiKey: yourApiKey, environment: environment)

{YOUR_API_KEY} 替换为您的应用令牌。您可以在您的 仪表板 中找到此键。

根据您是为测试还是为生产构建应用程序,您必须设置环境并使用以下这些值之一

let environment: DeepWallEnvironment = .sandbox
let environment: DeepWallEnvironment = .production

注意

仅在测试应用程序时,此值应该设置为 .sandbox。确保在发布应用程序之前,将环境设置为 .production

我们使用此环境来区分来自测试设备的真实流量和测试流量。始终保持此值具有意义非常重要!

配置

DeepWall 需要知道以下用户属性来定位。

  • UUID: String
    • 用于指定用户配置文件或设备的唯一标识符。
  • 国家: DeepWallCountry
    • 两字母国家代码 -- ISO 3166-1 alpha-2
    • 用法: DeepWallCountryManager.getCountry(by: "TR") // TURKEY
  • 语言: DeepWallLanguage
    • 两字母语言代码 -- ISO 639-1
    • 用法: DeepWallLanguageManager.getLanguage(by: "tr") // TURKISH
  • 环境样式: DeepWallEnvironmentStyle
    • 用于付费墙外观的环境样式。
      • automatic: 使用系统外观(默认值)
      • light: 浅色外观
      • dark: 深色外观
  • 调试广告归属: DeepWallAdvertiseAttributions
    • 用于调试目的的广告归属信息。
    • 用法: let attribution = ["debug_attribution: "debug_campaign_attribution"]

注意

在请求任何付费墙之前,您必须调用 setUserProperties 方法。

let userProperties = DeepWallUserProperties(uuid: uuid, country: country, language: language, debugAdvertiseAttributions: debugAttributions)

DeepWall.shared.setUserProperties(userProperties)

更新用户属性

您可以使用 DeepWall.shared.updateUserProperties() 方法更新以下用户属性。

func updateUserProperties(country: DeepWallCountry? = nil,
			  language: DeepWallLanguage? = nil,
			  environmentStyle: DeepWallEnvironmentStyle? = nil,
			  debugAdvertiseAttributions: DeepWallAdvertiseAttributions = nil)

请求付费墙

为确保页面成功显示,强烈建议在发送页面请求之前等待 DeepWall.shared.readyStatus

您可以使用带有 action 参数的 requestPaywall 方法来显示付费墙。

// SomeUIViewController.swift

DeepWall.shared.requestPaywall(action: "{ACTION_KEY}", in: self)

{ACTION_KEY} 替换为您相关的操作键。您可以在您的 仪表板 中查找或创建操作键。

发送额外数据

您还可以使用 extraData 参数将额外数据发送到付费墙。

// SomeUIViewController.swift

let deepwallExtraData: DeepWallExtraDataType = [
    "some": "value"
]
DeepWall.shared.requestPaywall(action: "{ACTION_KEY}", in: self, extraData: deepwallExtraData)

关闭付费墙

您可以使用 closePaywall 方法关闭付费墙。

DeepWall.shared.closePaywall()

请求ATT提示

您可以使用带有 action 参数的 requestAppTracking 方法来显示ATT提示。

// SomeUIViewController.swift

DeepWall.shared.requestAppTracking(action: "{ACTION_KEY}", in: self)

{ACTION_KEY} 替换为您相关的操作键。您可以在您的 仪表板 中查找或创建操作键。

事件处理

DeepWall根据...的情况抛出一些不同的事件。

  • deepWallPaywallRequested

    • 请求付费墙后被触发。在您的应用中显示加载指示器很有用。
  • deepWallPaywallResponseReceived

    • 接收付费墙响应后被触发。在您的应用中隐藏加载指示器很有用。
  • deepWallPaywallOpened

    • 付费墙打开事件
    • 参数
      • pageId: Int
  • deepWallPaywallNotOpened

    • 付费墙未打开事件。仅在错误情况下触发。
    • 参数
      • pageId: Int
  • deepWallPaywallActionShowDisabled

    • 付费墙动作显示禁用事件。
      • 参数
        • pageId: Int
  • deepWallPaywallClosed

    • 付费墙关闭事件
    • 参数
      • pageId: Int
  • deepWallPaywallResponseFailure

    • 付费墙响应失败事件
    • 参数
      • errorCode: String
      • reason: String
  • deepWallPaywallPurchasingProduct

    • 付费墙购买产品事件
    • 参数
      • productCode: String
  • deepWallPaywallPurchaseSuccess

    • 购买成功事件。在激活Ploutos服务后,在收据验证后被触发。
    • 参数
      • type: PloutosValidationType
      • result: PLPurchaseResponse
        • subscriptions: SubscriptionItem 数组
        • products: ProductItem 数组
  • deepWallPaywallPurchaseFailed

    • 购买失败事件
    • 参数
      • productCode: String
      • reason: String
      • errorCode: String
      • isPaymentCancelled: Bool
  • deepWallPaywallRestoreSuccess

    • 恢复成功事件
  • deepWallPaywallRestoreFailed

    • 恢复失败事件
    • 参数
      • 原因:RestoreFailedReason
        • 无收据。
        • 失败。
      • errorCode: String
      • 错误文本:String?
      • isPaymentCancelled: Bool
  • deepWallPaywallExtraDataReceived

    • 接收额外数据事件
    • 参数
      • DeepWallExtraDataType模型
  • deepWallATTStatusChanged

    • ATT状态改变事件

使用示例

首先在你类中实现DeepWallNotifierDelegate协议。然后你可以使用observeEvents方法来观察事件。

DeepWall.shared.observeEvents(for: self)

要移除观察者,可以使用removeObserver方法。

DeepWall.shared.removeObserver(for: self)

要求

  • iOS 10.0+
  • Xcode 11.0+
  • Swift 5.0+

迁移指南

附加功能

  • 支持暗黑模式
  • 自动应用程序内购买流程