Together Stream allows you to stream content with others in real time. The stream host has full control to choose, pause, and skip any video in the queue — synchronizing playback immediately with participants’ devices.
Together Stream is powered by Contextual Sync and IBM Bluemix.
Xcode 8.2
CocoaPods 1.2.0
Carthage 0.18.1
iOS/TogetherStream
run pod install
and carthage update --platform iOS
Together Stream uses YouTube videos as the source of content to be shared. To access the YouTube API you will need to generate and embed an API key.
youtube_api_key
to the private.plist
located at iOS/TogetherStream/TogetherStream/Configuration
Together Stream uses Facebook to authenticate users and to retrieve user information. To access the Facebook API you will need to create an app and link to it in the iOS application.
backend/config/private/credentials.js
Together Stream uses push notifications to send stream invites to users with the iOS app.
.p12
file.cert.pem
and a key.pem
https://github.com/node-apn/node-apn/wiki/Preparing-Certificatesbackend/config/private/
To keep track of analytics, generate a configuration file by following the instructions here: https://developers.google.com/analytics/devguides/collection/ios/v3/
Note You can skip adding the Google Analytics SDK to the project since it was installed above.
Skip Installation
You can skip installing Google Analytics by removing the method setupGoogleAnalytics
in the AppDelegate
and sendGoogleAnalyticsEvent
in Utilities/Utils.swift
backend/config/private/credentials.js
replace the accessTokenKey
and refreshTokenKey
with a unique string exactly 32 characters long. This is used to encrypt the access tokens and refresh tokens in the database.sessionSecret
with a unique string. This is used to encrypt the session tokens.userName
and domainName
with your email address (i.e. userName@domainName
), the password
with your email password, and the displayUserName
and displayDomainName
with what you want the emails to be sent from. You can use the same values for here as your actual userName
and domainName
if you wish.backend/public/app/credentials.js
replace YOUR_PRODUCTION_FACEBOOK_APP_ID
and YOUR_DEVELOPMENT_FACEBOOK_APP_ID
with the ids for your production and development Facebook app ids respectively. YOUR_YOUTUBE_API_KEY
with Youtube's API key provided by Google.YOUR_CSYNC_SEVER_IP_ADDRESS
and YOUR_CSYNC_SEVER_PORT
with your csync server's ip address and port.manifest.yml
and replace the services with the name of the services you created.cf login
cf push
server_address
to private.plist
located at iOS/TogetherStream/TogetherStream/Configuration
"CSYNC_FACEBOOK_ID=asfasfd", "CSYNC_FACEBOOK_SECRET=asfdasdf"
csync_url
to the private.plist
located at iOS/TogetherStream/TogetherStream/Configuration
xcode-select --install
backend/config/private/VCAP_SERVICES.json
backend
and run npm install
npm start
to start the backend, take note of what port it is listening onprivate.plist
channel, change your server address to http://localhost:<port number>
private.plist
in the iOS app to the local Contextual Sync server.Together Stream is intended solely for use with an Apple iOS product and intended to be used in conjunction with officially licensed Apple development tools and further customized and distributed under the terms and conditions of your licensed Apple Developer Program.
Want to contribute? Take a look at our CONTRIBUTING.md