Sdk for Heap challenge

Related tags

Official SDK HeapSdk
Overview

Heap SDK challenge how to:

Introduction

I developed Heap SDK with two test applications I built as a challenge for two companies ( Fleetio & Divvy ) during a recrutment process:

  1. Repository of FleetioTest
  2. Repository of DivvyTest

They are both including already the HeapSdk pod.

Instalation

Application

  1. Be sure your application has a minimum deployment target of iOS 14.0
  2. You will have to set isUserInteractionEnabled = true if you want to be able to track some object.

Podfile

In your podfile add the HeapSdk pod and check the platform version is at least 14.0 as bellow.

platform :ios, '14.0'
use_frameworks!

target 'FleetioTest' do
  pod 'Alamofire'
  pod 'HeapSdk'
end

Run the following command App folder

  1. rm -rf Pods // optional
  2. pod repo update // optional
  3. pod install
  4. pod update

Info.plist

Add the following to allow the SDK to communicate with the backend


   
    NSAppTransportSecurity
   

   
    
    
     NSAllowsArbitraryLoads
    
    
    

   

AppDelegate.swift

Import HeapSdk at the top of the file and in the didFinishLaunchingWithOptions function add one line of code to init and run the SDK.

import UIKit
import HeapSdk

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.

    // Init and run HeapSdk
    _ = HSdk()

    return true
}

Conclusion

This challenge allowed me to get back in the SDK world and learn more about it. It took me more than 4 hours around 7hours, I had to learn how to release a version on cocoa pods.

I was able to build, setup, install & release the SDK. The SDK is mainly doing the job, tracking the events and sending them to the back-end.

But when it comes to detecting which object the user is interacting within the app this can be really tricky. Sometimes we need to set isUserInteractionEnabled = true in the app if we want the SDK be able to detect the object.

You might also like...
Da Xue Zhang Platform Lvb iOS SDK

Cloud_Lvb_SDK iOS API Reference Dxz Meeting iOS SDK是为 iOS 平台用户音视频服务的开源 SDK。通过大学长开放平台自研RTC,RTM系统,为客户提供质量可靠的音视频服务。 类 类名 描述 CLS_PlatformManager SDK的音视频主要

Swift SDK for Blockfrost.io API
Swift SDK for Blockfrost.io API

Swift5 API client for Blockfrost Swift 5 SDK for Blockfrost.io API. Installation • Usage • API Endpoints Installation Swift package manager dependenci

PayPal iOS SDK

PayPal iOS SDK Welcome to PayPal's iOS SDK. This library will help you accept card, PayPal, Venmo, and alternative payment methods in your iOS app. Su

Unofficial Notion API SDK for iOS & macOS
Unofficial Notion API SDK for iOS & macOS

NotionSwift Unofficial Notion SDK for iOS & macOS. This is still work in progress version, the module interface might change. API Documentation This l

150,000+ stickers API & SDK for iOS Apps.
150,000+ stickers API & SDK for iOS Apps.

English | 한국어 Stipop UI SDK for iOS Stipop SDK provides over 150,000 .png and .gif stickers that can be easily integrated into mobile app chats, comme

WalletConnect Swift SDK v2

Wallet Connect v.2 - Swift Swift implementation of WalletConnect v.2 protocol for native iOS applications. Requirements iOS 13 XCode 13 Swift 5 Usage

SingleEntry in SwiftUI using the Capture SDK
SingleEntry in SwiftUI using the Capture SDK

SingleEntrySwiftUI for iOS Simple iOS app with SwiftUI for showing the use of Capture SDK. IMPORTANT When using/installing CocoaPods in a new project,

This package gives wrapper methods for Desk360 SDK.

Desk360 (flutter sdk) This package gives wrapper methods for desk360 sdks. iOS - Android Getting started Add below code into your pubspec.yaml file un

Spotify SDK for iOS
Spotify SDK for iOS

Spotify iOS SDK Overview The Spotify iOS framework allows your application to interact with the Spotify app running in the background on a user's devi

Owner
Christophe Vichery
010010010010000001100101011011100110101001101111011110010010000001100011011011110110010001101001011011100110011100100001
Christophe Vichery
Alter SDK is a cross-platform SDK consisting of a real-time 3D avatar system, facial motion capture, and an Avatar Designer component built from scratch for web3 interoperability and the open metaverse.

Alter SDK is a cross-platform SDK consisting of a real-time 3D avatar system, facial motion capture, and an Avatar Designer component built from scratch for web3 interoperability and the open metaverse.

Alter 45 Nov 29, 2022
Stacksift App SDK

Stacksift SDK Capture and submit crashes to Stacksift. This library ties together Wells and Impact to provide a full crash capturing and submission sy

Stacksift 44 Aug 18, 2022
TelegramStickersImport — Telegram stickers importing SDK for iOS

TelegramStickersImport — Telegram stickers importing SDK for iOS TelegramStickersImport helps your users import third-party programaticaly created sti

null 35 Oct 26, 2022
RadioTimeKit - The Swift SDK for TuneIn RadioTimeKit is a Swift package to use the TuneIn API.

RadioTimeKit - The Swift SDK for TuneIn RadioTimeKit is a Swift package to use the TuneIn API. The goal for development was to have a Swift SDK to get

Frank Gregor 2 Jun 20, 2022
Official Appwrite SDK for Apple Devices 🍎

Appwrite Apple SDK This SDK is compatible with Appwrite server version 0.11.x. For older versions, please check previous releases. Appwrite is an open

Appwrite 55 Jan 2, 2023
Official Appwrite Swift SDK 🦅🍎

Appwrite Swift SDK This SDK is compatible with Appwrite server version 0.11.x. For older versions, please check previous releases. This is the Swift S

Appwrite 27 Dec 25, 2022
Muxer used on top of Feed iOS SDK for airplay

FeedAirplayMuxer Muxer used on top of Feed iOS SDK for airplay purposes. Demo Project --> https://github.com/feedfm/AirplayDemo Feed Airplay Muxer is

Feed Media 0 May 6, 2022
Basispay IOS SDK Version 2

BasisPay-IOS-KIT BasisPay IOS Payment Gateway kit for developers INTRODUCTION This document describes the steps for integrating Basispay online paymen

null 0 Oct 21, 2021
The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips.

Gini Bank SDK for iOS The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips. By integra

Gini GmbH 0 Dec 16, 2021
Release repo for Gini Bank SDK for iOS

Gini Bank SDK for iOS The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips. By integra

Gini GmbH 1 Dec 6, 2022