/AgoraRTMTutorials

Primary LanguageSwiftMIT LicenseMIT

AgoraRTMTutorials


Agora Real-time Messaging (RTM) SDK APIExample

Explore the API Reference »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

NOTE: This project is still ongoing. Not all tutorials are finsihed

About The Project

A list of tutorials on how to build a contact/messaging app with Agora Signaling SDK aka Agora RTM

(back to top)

Built With

  • Swift & SwiftUI
  • Agora RTM SDK 2.x.x (aka Signaling SDK)

(back to top)

Getting Started

Prerequisites

  • Xcode 13.0+
  • Physical iOS device (iPhone or iPad) or simulators

Installation

  1. Create an Agora account and enable the Signaling/RTM product [https://docs.agora.io/en/signaling/get-started/beginners-guide?platform=ios]
  2. Enable the Storage Configuration (Storage, User attribute callback, Channel attribute callback, and Distributed Lock)
  3. Clone this repo to your local machine
    git clone https://github.com/Bac1314/AgoraRTMTutorials.git
    
  4. Import the RTM SDK for each tutorial (By default, it should be included in each tutorial)
    ### Option 0 - Import the framework from the  0_Libraries###
    
    ### Option 1 - Through CDN option ###
    Download the RTM framework, then drag and drop it to your project
    https://api-ref.agora.io/en/signaling-sdk/ios/2.x/index.html
    
    ### Option 2 - Through Cocoapods 
    pod 'AgoraRtm_iOS' --> Add this to your pod file
    
    pod install
    
  5. Enter your API in Configurations.swift file
    static let agora_AppdID: String = "Agora App ID"

(back to top)

Usage

The list of samples and what feature is used

Samples Description Status RTM Features
Tutorial 1 How to login to RTM and user Presence to check user online Done .message, .presence
Tutorial 2 How to use USER METADATA to save friend list Done .message, .presence, .usermetadata
Tutorial 3 How to send direct message Done .message, .presence, .usermetadata
Tutorial 4 How to send emojis Ongoing .message, .presence, .usermetadata
Tutorial 5 How to send audio message Pending .message, .presence, .usermetadata
Tutorial 6 How to use RTM for video calls Pending .message, .presence, .usermetadata
Tutorial 7 How to build group messaging Pending .message, .presence, .usermetadata
Tutorial 8 How to use CHANNEL METADATA to post notice Pending .message, .presence, .usermetadata

(back to top)

References

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Bac Huang - bac@boldbright.studio

Project Link: https://github.com/Bac1314/APIExample_AgoraRTM2x

(back to top)