engineer-advanced-ios

Integrate Braze iOS SDK features in legacy Objective-C apps.

Updated Apr 6, 2026
One-click install
npx skills add https://github.com/delta-and-beta/braze-agency --skill engineer-advanced-ios
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: engineer-advanced-ios
Source: https://github.com/delta-and-beta/braze-agency/tree/main/skills/engineer-advanced-ios
Command: npx skills add https://github.com/delta-and-beta/braze-agency --skill engineer-advanced-ios

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provides concise, actionable guidance for complex and edge-case Braze iOS SDK integrations in legacy Objective-C apps, reducing trial-and-error and preventing common pitfalls tied to entitlements and OS constraints.

Core Features & Use Cases

  • Geofences & Location: Requirements for Always authorization, Info.plist keys, dashboard toggles, manual geofence refreshes, and the iOS 20-region limit.
  • Beacon Integration: How to log beacon entry/exit, scale place tracking without creating many distinct event names, and background handling.
  • Deep Linking: ABKURLDelegate interception, universal link considerations, and scheme allowlists for push/in-app routing.
  • SDK Localization: Overriding Appboy.strings in your app bundle and supported locale fallbacks.
  • Google Tag Manager (GTM) Bridge: GTM → Firebase → Braze patterns, actionType dispatch, and custom tag implementation.
  • Network Traffic Control: Manual vs automatic request processing policies, explicit flush, and shutdown safeguards.
  • Example: guiding an engineer to migrate a legacy Objective-C app that must support geofence-triggered campaigns, precise localization overrides, and a GTM-based event pipeline.

Quick Start

Use the engineer-advanced-ios skill to explain how to configure ABK geofences, requestAlwaysAuthorization, manual request processing, and GTM→Firebase→Appboy event bridging in a legacy Objective-C Braze iOS app.

Frequently Asked Questions about engineer-advanced-ios

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure Braze iOS geofences with requestAlwaysAuthorization in Objective-C?

To configure Braze iOS geofences, you must request Always location authorization, add the required Info.plist keys and entitlements, enable dashboard toggles, and handle the iOS 20-region limit. Manual geofence refreshes can then be triggered to update monitored regions in your Objective-C app.

How do I bridge Google Tag Manager to Firebase and Braze in a legacy iOS app?

Bridging Google Tag Manager to Braze involves routing GTM tags through Firebase, dispatching events via actionType, and implementing a custom tag class to forward data to the Appboy SDK in your Objective-C codebase.

How does ABKURLDelegate deep linking interception work for Braze push notifications?

ABKURLDelegate deep linking interception works by capturing incoming URLs, applying scheme allowlists for push and in-app message routing, and handling universal link considerations to direct users to the correct app screens.

Can I override Braze iOS SDK localization strings in my app bundle?

Yes, you can override Braze iOS SDK localization by providing a custom Appboy.strings file in your app bundle, which takes precedence over the default SDK strings, with supported locale fallbacks ensuring missing translations default to your base language.

When should I use manual network request processing policies for the Braze iOS SDK?

Manual network request processing policies should be used when you need explicit control over SDK network traffic, allowing you to trigger explicit flushes and apply shutdown safeguards to prevent data loss or unwanted background requests.

How do I log beacon entry and exit events in Braze without creating many distinct event names?

To log beacon entry and exit events in Braze without creating many distinct event names, you should scale place tracking by using a single standardized event name with custom properties that identify the specific beacon, while handling background processing appropriately.