Evntaly
Visit Evntaly
  • ๐Ÿ’™Welcome to Evntaly
  • What is Evntaly ?
  • Why Evntaly ?
  • Getting Started
  • ๐Ÿ“ฆSupported Langauges
    • JavaScript
    • Ruby
    • Python
    • C#
    • Go
    • PHP
    • Web
    • cURL
      • Swift โ€“ Native HTTP
      • Flutter - Dart
      • Android - Kotlin
Powered by GitBook
On this page
  • Create a class EvntalyClient
  • Track Event
  • Identify User
  1. Supported Langauges
  2. cURL

Swift โ€“ Native HTTP

Use Native HTTP Request in Swift

Create a class EvntalyClient

import Foundation

class EvntalyClient {
    let projectToken: String
    let developerSecret: String
    let baseUrl = "https://app.evntaly.com/prod"

    init(projectToken: String, developerSecret: String) {
        self.projectToken = projectToken
        self.developerSecret = developerSecret
    }
}

Track Event

func sendEvent() {
    let url = URL(string: "\(baseUrl)/api/v1/register/event")!
    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    request.setValue(projectToken, forHTTPHeaderField: "pat")
    request.setValue(developerSecret, forHTTPHeaderField: "secret")

    let payload: [String: Any] = [
        "title": "Account License Upgraded",
        "description": "User upgraded their license to Pro",
        "message": "take care.",
        "data": [
            "user_id": "67890",
            "timestamp": "2025-01-08T09:30:00Z",
            "referrer": "social_media",
            "email_verified": false
        ],
        "tags": [],
        "notify": true,
        "icon": "โคด๏ธ",
        "apply_rule_only": false,
        "user": ["id": "0f6934fd-99c0-41ca-84f4"],
        "type": "Page View",
        "sessionID": "20750ebc-dabf-4fd4-9498-443bf30d6095_bsd",
        "feature": "Backend API",
        "topic": "@api"
    ]
    
    request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
    URLSession.shared.dataTask(with: request).resume()
}

Identify User

func identifyUser() {
    let url = URL(string: "\(baseUrl)/api/v1/register/user")!
    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    request.setValue(projectToken, forHTTPHeaderField: "pat")
    request.setValue(developerSecret, forHTTPHeaderField: "secret")

    let payload: [String: Any] = [
       "id": "0f6934fd-99c0-41ca-3333",
        "email": "Alameer@evntaly.com",
        "full_name": "Alameer Ashraf",
        "organization": "Evntaly",
        "data": [
            "id": "Alameer-23",
            "email": "Alameer@evntaly.com",
            "Location": "Egypt",
            "timezone": "Africa/Cairo"
        ]
       ]

    request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
    URLSession.shared.dataTask(with: request).resume()
}

For additional help, contact support at support@evntaly.com.

PreviouscURLNextFlutter - Dart

Last updated 2 months ago

๐Ÿ“ฆ