Reference/Distribution
Distributionhybriddistribution

MapplsFeedbackKit for iOS

mappls-feedback-kit-ios-distribution

Mappls Feedback Kit Native for iOS distributed via the SPM (Swift Package Manager).

Integration notice

This repository distributes a package rather than defining the complete product contract. Pair it with the owning SDK or product guide.

What this surface enables

Mappls Feedback Kit Native for iOS distributed via the SPM (Swift Package Manager).

Why this source is classified hybrid

The source identity names a capture, feedback, geofence, analysis, or guided-operation surface where provider calls and application-owned workflow state must be separated.

Authority: Source Identity · Evidence: feedback
Platforms

iOS

Product areas

Search PlacesTracking TelematicsWidgets Deep LinksOffline AutomotiveCapture FeedbackIdentity Platform

Languages found

SwiftText

Authentication signals

No explicit authentication signal detected

Prepare the integration

  1. An iOS project with Xcode and the package manager required by the source release
  2. The corresponding product entitlement enabled for the developer application
Production guardrailsPin package versions and record the source fingerprint.Keep server credentials out of client binaries and logs.Test failures, timeouts, quota limits, upgrades, and rollback.Validate legacy examples against current authentication contracts.

Setup and usage examples

These examples were extracted from the canonical public source document and sanitized for credential-like values. Check the source branch and package version before copying into a production application.

mappls-feedback-kit-ios-distribution examples
MapplsFeedBackKitManager.shared.getReportCategories { (reportCategories, error)  in
    if let error = error {
        print(error.localizedDescription)
        self.dismiss(animated: true, completion: nil)
    } else {
        let categories = reportCategories ?? [ParentCategories]()
        if categories.count > 0 {
            self.allReportCategories = categories
            print(self.allReportCategories.first?.id)
            self.currentStep = 1
        } else {
            print("No report categories found")
            self.dismiss(animated: true, completion: nil)
        }
}

Operate the whole lifecycle

This operational model supplements the repository-level setup instructions. Adapt its resource names and transitions to the owning product contract.

1
Define intent

Create a bounded application request or draft with purpose, policy, revision, and lifecycle owner before provider UI or capture begins.

2
Launch

Give one screen, controller, subscription, or callback generation explicit ownership of configuration, cancellation, timeout, and cleanup.

3
Normalize

Treat provider output as a candidate; validate and copy a narrow portable value instead of persisting an opaque SDK or UI object.

4
Commit or review

Use application-owned versioning, idempotency, review, and audit when a candidate affects a durable business decision.

5
Dispose and recover

Stop listeners and native resources once, ignore late generations, and restore only application-owned state after restart.

Topics documented by the source

01Introduction

Feedback Kit for IOS is a wrapper SDK for Mappls's feedback API. It allows developers to integrate feedback module in their application. Using feedback module user can submit location related feedback to Mappls's server.

Note: Sample for UI view controllers with source code is also provided by Mappls which user can directly use to show feedback screen. Information about how to use UI sample is also provided in this documentation.

If you don't want to implement own logic and use sample from Mappls Jump to Sample UI Kit section.

02Installation

To add a package dependency to your Xcode project, select File > Swift Packages > Add Package Dependency and enter its repository URL. See Adding Package Dependencies to Your App.

03Usage

Steps to submit feedback:

1. An authoraization key i.e moduleId (provided by Mappls) against which feedback will be submitted wiil be required to use this SDK .

1. List of categories need to be fetched first under which feedback will be submitted. For more informatatio see here.

• Fetched report categories can be saved for offline use or to prevent fetching report categories multiple times.

• It will require to separate out them on basis of parentId i.e Separate as Parent and Child Categories, where if parent Id is null means they are parent categories otherwise child of some parent category. Note: ParentId of a child category is reportId of parent category.

1. On basis of parent and child categories, different User Interfaces or scenarios can be designed as per requirements.

04Get Report Categories

Categories for reporting can be fetched using getReportCategories method of MapplsFeedBackKitManager class by using shared instance. In response you will receive an error or an array of MapplsReportCategories. Yo will find below useful properties in reportCategories object which is an array of ParentCategories:

• ParentCategories

• SubChildCategories

05Submit Feedback

To submit feedback to Mappls's server you can use saveUserData function of MapplsSaveUserDataAPIManager class by using shared instance.

saveUserData function will accept an object of MapplsSaveUserDataOptions class.

To create instance of MapplsSaveUserDataOptions user provide following parameters.

06Mandatory Parameters

1. location(String) : It can be either Mappls Pin (The 6-digit alphanumeric code for any location) or coordinate (latitude, longitude) in string format. 1. parentCategory(Integer) : Parent category of the report. 1. childCategory (Integer) : Child category of the report.

07Optional Parameters

1. placeName(string) : Name of the place where the event is taking place. It should be derived on the basis of Mappls Pin and coordinates. 2. desription(String) : A description about your event. Min length 10 characters and Max length 250 characters. 3. subChildCategory(Integer)(Internal) : Sub Child category of the report. 4. flag(Integer) : If navroute is active then 1 else 0. 5. speed(Integer) : User's speed in kilometers. 6. alt(Integer) : Altitude of the user’s location, in meters. 7. quality(Integer) : Quality of user's location. 8. bearing(Integer) : Bearing of the user’s location, in degrees. 9. accuracy(Integer) : Accuracy of user's location. 10. utc(Long) : Date time in unix timestamp format. 11. expiry(Long) : Date time in unix timestamp format to set expiry for the report. 12. zeroId(String) : to be used only incase of NAVIMAPS . 13. pushEvent(Boolean)(internal) : to be used

08Callbacks

Different events can be tracked by subscribing to different notificaitons.

feedbackSubmitSuccessNotification:

Subscribe to this notification to get callback when report submitted successfully.

feedbackSubmitFailedNotification:

Subscribe to this notification to get callback when report submission get failed.

reportCategoriesFetchSuccessNotification:

09Mappls Feedback UI Kit

A UI control MapplsFeedbackUIKit is available to use SDK MapplsFeedbackKit. To know more about it see here.

10Our many happy customers:

For any queries and support, please contact:

Email us at apisupport@mappls.com

Support Need support? contact us!

[](https://about.mappls.com/blog/)[](https://github.com/mappls-api)

[](https://twitter.com/mappls)[](https://www.linkedin.com/company/mappls/)[](https://www.youtube.com/channel/UCAWvWsh-dZLLeUU7J9HiOA)

@ Copyright 2020 CE Info Systems Pvt. Ltd. All Rights Reserved.

Service references found

URLs are sanitized during ingestion and may include documentation or legacy hosts. Use them to trace the source, not as a substitute for the current API contract.

https://www.mapmyindia.com/apihttps://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app).https://www.mapmyindia.com/api/img/logos1/PhonePe.png)![](https://www.mapmyindia.com/api/img/logos1/Arya-Omnitalk.png)![](https://www.mapmyindia.com/api/img/logos1/delhivery.png)![](https://www.mapmyindia.com/api/img/logos1/hdfc.png)![](https://www.mapmyindia.com/api/img/logos1/TVS.png)![](https://www.mapmyindia.com/api/img/logos1/Paytm.png)![](https://www.mapmyindia.com/api/img/logos1/FastTrackz.png)![](https://www.mapmyindia.com/api/img/logos1/ICICI-Pru.png)![](https://www.mapmyindia.com/api/ihttps://about.mappls.com/api/https://about.mappls.com/contact/https://stackoverflow.com/questions/tagged/mappls-api)[![](https://www.mapmyindia.com/api/img/icons/blog.png)](https://about.mappls.com/blog/)[![](https://www.mapmyindia.com/api/img/icons/gethub.png)](https://github.com/mappls-api)[https://www.npmjs.com/org/mapmyindiahttps://www.facebook.com/Mapplsofficial)[![](https://www.mapmyindia.com/june-newsletter/icon2.png)](https://twitter.com/mappls)[![](https://www.mapmyindia.com/newsletter/2017/aug/llinkedin.png)](https://www.linkedin.com/company/mappls/)[![](https://www.mapmyindia.com/june-newsletter/icon3.png)](https://www.youtube.com/channel/UCAWvWsh-dZLLeUU7_J9HiOAhttps://about.mappls.com/api/terms-&-conditionshttps://www.mappls.com/about/privacy-policyhttps://www.mappls.com/pdf/mappls-sustainability-policy-healt-labour-rules-supplir-sustainability.pdfhttps://www.mappls.com/pdf/Health-Safety-Management.pdfhttps://www.mappls.com/pdf/Environment-Sustainability-Policy-CSR-Report.pdf