Skip to content


Completa la integración

Antes de seguir estos pasos, asegúrate de haber integrado el SDK mediante Carthage, CocoaPods, Swift Package Administrador o una integración manual.

Paso 1: Actualiza tu app delegate

Si estás integrando el SDK de Braze con CocoaPods, Carthage o con una integración manual dinámica, añade la siguiente línea de código a tu archivo AppDelegate.m:

1
#import "Appboy-iOS-SDK/AppboyKit.h"

Si estás integrando con Swift Package Administrador o con una integración manual estática, usa esta línea en su lugar:

1
#import "AppboyKit.h"

A continuación, dentro de tu archivo AppDelegate.m, añade el siguiente fragmento de código en tu método application:didFinishLaunchingWithOptions::

1
2
3
[Appboy startWithApiKey:@"YOUR-APP-IDENTIFIER-API-KEY"
          inApplication:application
      withLaunchOptions:launchOptions];

Actualiza YOUR-APP-IDENTIFIER-API-KEY con el valor correcto de tu página Administrar configuración. Consulta nuestra documentación de API para obtener más información sobre dónde encontrar tu clave de API del identificador de aplicación.

Si estás integrando el SDK de Braze con CocoaPods, Carthage o con una integración manual dinámica, añade la siguiente línea de código a tu archivo AppDelegate.swift:

1
import Appboy_iOS_SDK

Si estás integrando con Swift Package Administrador o con una integración manual estática, usa esta línea en su lugar:

1
import AppboyKit

Consulta la documentación para desarrolladores de Apple para obtener más información sobre cómo usar código Objective-C en proyectos Swift.

A continuación, en AppDelegate.swift, añade el siguiente fragmento de código en tu application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool:

1
Appboy.start(withApiKey: "YOUR-APP-IDENTIFIER-API-KEY", in:application, withLaunchOptions:launchOptions)

Actualiza YOUR-APP-IDENTIFIER-API-KEY con el valor correcto de tu página Administrar configuración. Consulta nuestra documentación de API para obtener más información sobre dónde encontrar tu clave de API del identificador de aplicación.

Paso 2: Especifica tu clúster de datos

Si se te proporcionó un endpoint personalizado preexistente:

  • A partir de Braze iOS SDK v3.0.2, puedes establecer un endpoint personalizado utilizando el archivo Info.plist. Añade el diccionario Braze a tu archivo Info.plist. Dentro del diccionario Braze, añade la subentrada de cadena Endpoint y establece el valor con la autoridad de la URL de tu endpoint personalizado (por ejemplo, sdk.iad-01.braze.com, no https://sdk.iad-01.braze.com). Ten en cuenta que antes de Braze iOS SDK v4.0.2, se debe utilizar la clave de diccionario Appboy en lugar de Braze.

Tu representante de Braze ya debería haberte indicado el endpoint correcto.

Configuración del endpoint en tiempo de ejecución

Si se te proporcionó un endpoint personalizado preexistente:

  • A partir de Braze iOS SDK v3.17.0+, puedes sobrescribir tu endpoint a través de ABKEndpointKey dentro del parámetro appboyOptions pasado a startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Establece el valor con la autoridad de la URL de tu endpoint personalizado (por ejemplo, sdk.iad-01.braze.com, no https://sdk.iad-01.braze.com).

Integración de SDK completa

Braze debería estar recopilando datos de tu aplicación, y tu integración básica debería estar completa. Consulta los siguientes artículos para habilitar el seguimiento de eventos personalizados, la mensajería push y la línea de productos completa de características de Braze.

Personalización de Braze al inicio

Si deseas personalizar Braze al inicio, puedes usar en su lugar el método de inicialización de Braze startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions: y pasar un NSDictionary opcional de claves de inicio de Braze.

En tu archivo AppDelegate.m, dentro del método application:didFinishLaunchingWithOptions:, añade el siguiente método de Braze:

1
2
3
4
[Appboy startWithApiKey:@"YOUR-APP-IDENTIFIER-API-KEY"
          inApplication:application
      withLaunchOptions:launchOptions
      withAppboyOptions:appboyOptions];

Ten en cuenta que este método reemplazaría al método de inicialización startWithApiKey:inApplication:withLaunchOptions:.

En AppDelegate.swift, dentro del método application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool, añade el siguiente método de Braze, donde appboyOptions es un Dictionary de valores de configuración de inicio:

1
2
3
4
Appboy.start(withApiKey: "YOUR-APP-IDENTIFIER-API-KEY",
                 in:application,
                 withLaunchOptions:launchOptions,
                 withAppboyOptions:appboyOptions)

Ten en cuenta que este método reemplazaría al método de inicialización startWithApiKey:inApplication:withLaunchOptions:.

Este método se llama con los siguientes parámetros:

  • YOUR-APP-IDENTIFIER-API-KEY – Tu clave de API de identificador de aplicación del panel de Braze.
  • application – La aplicación actual.
  • launchOptions – El NSDictionary de opciones que obtienes de application:didFinishLaunchingWithOptions:.
  • appboyOptions – Un NSDictionary opcional con valores de configuración de inicio para Braze.

Consulta Appboy.h para ver una lista de claves de inicio de Braze.

Appboy.sharedInstance() y la nulabilidad en Swift

A diferencia de la práctica común, el singleton Appboy.sharedInstance() es opcional. Esto se debe a que sharedInstance es nil antes de que se llame a startWithApiKey:, y existen algunas implementaciones no estándar pero válidas en las que se puede utilizar una inicialización diferida.

Si llamas a startWithApiKey: en tu delegado didFinishLaunchingWithOptions: antes de cualquier acceso al sharedInstance de Appboy (la implementación estándar), puedes usar encadenamiento opcional, como Appboy.sharedInstance()?.changeUser("testUser"), para evitar comprobaciones engorrosas. Esto tendrá paridad con una implementación en Objective-C que asumiera un sharedInstance no nulo.

Recursos adicionales

La documentación completa de clases de iOS está disponible para proporcionar orientación adicional sobre cualquier método del SDK.

New Stuff!