{"id":18320889,"url":"https://github.com/bazaarvoice/bv-ios-sdk-conversations-example","last_synced_at":"2025-04-09T14:29:48.529Z","repository":{"id":66754573,"uuid":"99599987","full_name":"bazaarvoice/bv-ios-sdk-conversations-example","owner":"bazaarvoice","description":null,"archived":false,"fork":false,"pushed_at":"2018-01-10T18:44:33.000Z","size":858,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-02-15T08:30:57.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bazaarvoice.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-07T16:53:49.000Z","updated_at":"2017-08-16T15:49:49.000Z","dependencies_parsed_at":"2023-02-22T19:16:06.845Z","dependency_job_id":null,"html_url":"https://github.com/bazaarvoice/bv-ios-sdk-conversations-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazaarvoice%2Fbv-ios-sdk-conversations-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazaarvoice%2Fbv-ios-sdk-conversations-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazaarvoice%2Fbv-ios-sdk-conversations-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazaarvoice%2Fbv-ios-sdk-conversations-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bazaarvoice","download_url":"https://codeload.github.com/bazaarvoice/bv-ios-sdk-conversations-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054968,"owners_count":21040100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T18:17:45.895Z","updated_at":"2025-04-09T14:29:48.506Z","avatar_url":"https://github.com/bazaarvoice.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Conversations Example App\n\nThis simple demo app shows you the very basics for getting up and running with Conversations Reviews: Display and Submission. The app works out of the box simply by running the `bv-ios-sdk-conversations-example.xcworkspace` project in Xcode. However, if you want to display your own Conversations data, you will need your own API key and Client ID.\n\nThe demo project is written in Swift 3 on Xcode 8.3. However, know that the BVSDK is written in Objective-C so you can use the SDK with Swift 2.3+ and Objective-C code-bases.\n\nThe purpose of the demo is you make sure your full integration is working with Conversations Review types. Once you have the display and submission working for Review types, adding in other User Generated Content (Questions, Answers, Comments) is pretty much the same, just using different display and submission request objects.\n\n## Requirements\n\n* Conversations API Keys for your iOS application: one for production, one for staging environments.\n* Xcode 8+\n* A valid product ID in your product catalog.\n* Follow the [Installation Instructions](https://bazaarvoice.github.io/bv-ios-sdk/installation.html#configure-bvsdk)\nto generate your `bvsdk_config_staging.json` and `bvsdk_config_prod.json` files and add (or update) them to the \n`bv-ios-sdk-conversations-example.xcworkspace` project.\n\n## Optional Requirements\n\n* Login to the [Production](https://workbench.bazaarvoice.com/) and [Staging](https://workbench-staging.bazaarvoice.com) environments to the Bazaarvoice Portal (aka Workbench). This will help you find product IDs and test content submission.\n* Cocoapods. This demo checs in the `/Pod` folder with the BVSDK installed. You can run `pod update` at the repo root to make sure you have the latest BVSDK.\n\n## Tweaking the App\n\nOnce you have opended the demo app, here are the things you need to configure:\n\n1. `AppDelegate.swift`: Make sure you have set the environment to production or stagin in `BVSDKManager.configure(\u003c.staging | .prod\u003e)`\n2. Make sure the `bvsdk_config_staging.json` and `bvsdk_config_prod.json` are ready (depending on the environment in step 1.)\n3. `Constants.swift`: Set the `TEST_PRODUCT_ID` to a product ID in your catalog. This will be used for both display and submission of reviews.\n4. Launch the demo app!\n\nWhen you launch the demo app you will see 2 buttons: *Display Reviews* and *Submit Review*.\n\n\u003cimage src=\"./art/home.png\" width=\"300\" align=\"middle\"\u003e\n\n## Display Reviews\n\nIn `ReviewsDisplayViewController.swift` a Conversations Review display request is being made to display reviews. A single review is contained in a `BVReview` object. See `MyReviewTableViewCell.swift` for demo code on how to access the various attributes of a review object.\n\nThe demo simply prints out all the available types in a `BVReviewsTableViewCell`.\n\n\u003cimage src=\"./art/display_reviews.png\" width=\"300\" align=\"middle\"\u003e\n\n## Submit Review\n\nWe recommend testing your integration against the staging environment in `.submit` action mode (rather than `.preview`) so that you can ensure your reviews are visible in the workbench.\n\nIn `ReviewSubmitViewController.swift` a call is being made to submit a review.\n\nYou may see some form errors if your request does not include all of the fields required per your configuration.\n\n\u003cimage src=\"./art/some_form_errors.png\" width=\"300\" align=\"middle\"\u003e\n\nOnce you go back and edit the `BVReviewSubmission` with the required parameters, you should now be able to submit successfully.\n\n\u003cimage src=\"./art/submit_success.png\" width=\"300\" align=\"middle\"\u003e\n\n## Common Errors\n\n* Submitting with `BVSubmissionAction.Preview` instead of `BVSubmissionAction.Submit`\n\nYou can think of `BVSubmissionAction.Submit` as a dry-run; the submission action will make a network call and validate the parameters, but the review itself will not be saved. \n\n\n## Futher Reading\n\n* [Github repo](https://github.com/bazaarvoice/bv-ios-sdk)\n* [Docs](https://bazaarvoice.github.io/bv-ios-sdk/index.html)\n* [Generate config files](https://bazaarvoice.github.io/bv-ios-sdk/installation.html#configure-bvsdk)\n* [More comprehensive demos](https://bazaarvoice.github.io/bv-ios-sdk/example_projects.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazaarvoice%2Fbv-ios-sdk-conversations-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbazaarvoice%2Fbv-ios-sdk-conversations-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazaarvoice%2Fbv-ios-sdk-conversations-example/lists"}